Release 4.6.0 is packed with features

Coordinator
Jun 18, 2016 at 10:28 AM
Edited Jun 18, 2016 at 5:54 PM

New object types

CriteriaClass is selectable when the Criteria Class Mode is CustomBaseClass.
BaseClass generates an abstract class with no DB interaction.
PlaceHolder will NOT generate any code at this time. Their names won't be checked and changed so you can use them for whatever you like, such as listing separators (they show in blue), interfaces and base classes.

NOTE - Originally PlaceHolder was meant to be used by interfaces in order to fully implement polymorphic collections. This feature will be implemented on a future release,

As a side effect, on BaseClass and PlaceHolder you can specify that the object is generic and specify the Type parameters.

Implement class inheritance

The feature isn't new, but some object types were missing the implementation:
  • NameValueList
  • UnitOfWork
The new object types CriteriaClass and BaseClass will also implement class inheritance

Implement EditOnDemand pattern

Read the use case on this post

In a nut shell,
  • There is a new state property IsReadOnly that is set to true when the object is fetched. No rules are checked on fetch. When you change the state property IsReadOnly to false, the rules are checked.
  • This feature must take into account Authorization rules. if the user can't edit the object, set IsReadOnly to false won't trigger rule checking. After setting IsReadOnly to false, you can check back on IsReadOnly to initiate or not the edit process.
Dec 3, 2016 at 7:08 AM
Amazing work Tiago.
Coordinator
Mar 19 at 4:12 PM
Edited Mar 19 at 4:13 PM
EditOnDemand is out of this release. I'm not sure whether this feature should be implemented as an (abstract) base class or needs core CSLA. NET support. At this time, I think a base class is all that is needed.