2.1.2 Change Log
This document is the change log for version 2.1.2 of CSLA .NET.
Breaking change summary:
- The way e.StopProcessing is handled when your rule method sets it to true is changed
|
this is unlikely to break your code |
Known issues:
CslaDataSource |
It does not work to add a CslaDataSource to a page by choosing to “add a new data source” from within the GridView or DetailsView controls. Attempting to do this will result in an exception that prevents the control from displaying properly. I have been unable to resolve this issue, but there is a viable workaround.
You must manually add a CslaDataSource control to your page, either using drag-and-drop from the Toolbox, or by typing the tag into the page. Then you can configure the assembly/type information in the data source control. Then you can choose this data source control as the data source for your GridView or DetailsView control. |
Changes and Enhancements:
Csla – ValidationRules
Changed the way e.StopProcessing is handled, so setting this value to true in a rule method triggers short-circuiting regardless of whether the rule method itself returns true or false. This will only impact existing code if your rule method is setting e.StopProcessing to true and also returning true from the rule method itself.
Csla – ValidationRules
Add an overload for AddDependantProperty() that accepts a Boolean to indicate that a bi-directional association should be established. In other words, if this new parameter is true then a reverse dependency is set up as well as the requested dependency.
Csla – SortedBindingList
Fix a null reference bug in CompareTo() by adding a check to see if the Key value is null.
Csla – SortedBindingList
Fix a bug in the RemoveAt() method, where the method wasn’t working with descending sorts.
Csla – SortedBindingList
Fix a bug with event handling when removing items.
Csla – FilteredBindingList
Fix a bug in how the ListChanged event is cascaded from the source list through FitleredBindingList.
Csla – FilteredBindingList
Fix a bug so when a custom filter is passed as a parameter to ApplyFilter() it is now used.
Csla – SelectObjectArgs
Mark the class as Serializable so it can be included in a Criteria object.
Csla – SelectObjectArgs
Add properties to expose paging and sorting values to the UI and business object. These properties allow either the UI or business object to more easily implement both paging and sorting.
Csla – BrokenRulesCollection
Increment the broken rule count before adding the newly broken rule in the Add() method. This change should resolve an incompatibility with the ActiveObjects add-on for CSLA .NET.
Csla – SharedValidationRules/SharedAuthorizationRules
Make the methods threadsafe.
Csla – BusinessBase
Fix threading issues with per-type rule processing where AddBusinessRules() and AddAuthorizationRules() could be called multiple times simultaneously on different threads. Locking is now used to prevent multiple calls.
Csla\Windows – ReadWriteAuthorization
Fix issue where the control was using a collection rather than the current child item to determine the authorization for a form. The control now uses the Current property to retrieve the specific object to which the form’s controls are bound, rather than the higher level DataSource property.
Csla – BusinessListBase
Address the case where AllowRemove is toggled from true to false over the life of the collection, and where a subsequent Save() operation then needs to remove items from the list due to their edit level. The UndoChanges() method now temporarily sets AllowRemove to true so these items can be removed without an exception.