diff --git a/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.XML b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.XML new file mode 100644 index 0000000..e3a8e9f --- /dev/null +++ b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.XML @@ -0,0 +1,8162 @@ + + + + Csla + + + + + This is the base class from which most business objects + will be derived. + + + + This class is the core of the CSLA .NET framework. To create + a business object, inherit from this class. + + Please refer to 'Expert C# 2005 Business Objects' for + full details on the use of this base class to create business + objects. + + + Type of the business object being defined. + + + + Override this method to return a unique identifying + value for this object. + + + If you can not provide a unique identifying value, it + is best if you can generate such a unique value (even + temporarily). If you can not do that, then return + and then manually override the + , and + methods in your business object. + + + + + Compares this object for equality with another object, using + the results of to determine + equality. + + The object to be compared. + + + + Returns a hash code value for this object, based on + the results of . + + + + + Returns a text representation of this object by + returning the value + in text form. + + + + + Creates a clone of the object. + + + A new object containing the exact data of the original object. + + + + + Saves the object to the database. + + + + Calling this method starts the save operation, causing the object + to be inserted, updated or deleted within the database based on the + object's current state. + + If is + the object will be deleted. Otherwise, if + is the object will be inserted. + Otherwise the object's data will be updated in the database. + + All this is contingent on . If + this value is , no data operation occurs. + It is also contingent on . + If this value is an + exception will be thrown to indicate that the UI attempted to save an + invalid object. + + It is important to note that this method returns a new version of the + business object that contains any data updated during the save operation. + You MUST update all object references to use this new version of the + business object in order to have access to the correct object data. + + You can override this method to add your own custom behaviors to the save + operation. For instance, you may add some security checks to make sure + the user can save the object. If all security checks pass, you would then + invoke the base Save method via base.Save(). + + + A new object containing the saved values. + + + + Saves the object to the database, forcing + IsNew to and IsDirty to True. + + + If , triggers overriding IsNew and IsDirty. + If then it is the same as calling Save(). + + A new object containing the saved values. + + This overload is designed for use in web applications + when implementing the Update method in your + data wrapper object. + + + + + Event raised when an object has been saved. + + + + + Raises the Saved event, indicating that the + object has been saved, and providing a reference + to the new object instance. + + The new object instance. + + + + This is the base class from which most business collections + or lists will be derived. + + Type of the business object being defined. + Type of the child objects contained in the list. + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Gets a value indicating whether this object's data has been changed. + + + + + Gets a value indicating whether this object is currently in + a valid state (has no broken validation rules). + + + + + Starts a nested edit on the object. + + + + When this method is called the object takes a snapshot of + its current state (the values of its variables). This snapshot + can be restored by calling + or committed by calling . + + This is a nested operation. Each call to BeginEdit adds a new + snapshot of the object's state to a stack. You should ensure that + for each call to BeginEdit there is a corresponding call to either + CancelEdit or ApplyEdit to remove that snapshot from the stack. + + See Chapters 2 and 3 for details on n-level undo and state stacking. + + This method triggers the copying of all child object states. + + + + + + Cancels the current edit process, restoring the object's state to + its previous values. + + + Calling this method causes the most recently taken snapshot of the + object's state to be restored. This resets the object's values + to the point of the last + call. + + This method triggers an undo in all child objects. + + + + + + Commits the current edit process. + + + Calling this method causes the most recently taken snapshot of the + object's state to be discarded, thus committing any changes made + to the object's state since the last + call. + + This method triggers an + in all child objects. + + + + + + Override this method to be notified when a child object's + method has + completed. + + The child object that was edited. + + + + A collection containing all child objects marked + for deletion. + + + + + Returns if the internal deleted list + contains the specified child object. + + Child object to check. + + + + This method is called by a child object when it + wants to be removed from the collection. + + The child object to remove. + + + + This method is called by a child object when it + wants to be removed from the collection. + + The child object to remove. + + + + Sets the edit level of the child object as it is added. + + Index of the item to insert. + Item to insert. + + + + Marks the child object for deletion and moves it to + the collection of deleted objects. + + Index of the item to remove. + + + + Clears the collection, moving all active + items to the deleted list. + + + + + Replaces the item at the specified index with + the specified item, first moving the original + item to the deleted list. + + The zero-based index of the item to replace. + + The new value for the item at the specified index. + The value can be null for reference types. + + + + + + Returns the current edit level of the object. + + + + + Indicates whether this collection object is a child object. + + True if this is a child object. + + + + Marks the object as being a child object. + + + + By default all business objects are 'parent' objects. This means + that they can be directly retrieved and updated into the database. + + We often also need child objects. These are objects which are contained + within other objects. For instance, a parent Invoice object will contain + child LineItem objects. + + To create a child object, the MarkAsChild method must be called as the + object is created. Please see Chapter 7 for details on the use of the + MarkAsChild method. + + + + + + Creates a clone of the object. + + A new object containing the exact data of the original object. + + + + Creates a clone of the object. + + A new object containing the exact data of the original object. + + + + This method is called on a newly deserialized object + after deserialization is complete. + + + + + Saves the object to the database. + + + + Calling this method starts the save operation, causing the all child + objects to be inserted, updated or deleted within the database based on the + each object's current state. + + All this is contingent on . If + this value is , no data operation occurs. + It is also contingent on . If this value is + an exception will be thrown to + indicate that the UI attempted to save an invalid object. + + It is important to note that this method returns a new version of the + business collection that contains any data updated during the save operation. + You MUST update all object references to use this new version of the + business collection in order to have access to the correct object data. + + You can override this method to add your own custom behaviors to the save + operation. For instance, you may add some security checks to make sure + the user can save the object. If all security checks pass, you would then + invoke the base Save method via MyBase.Save(). + + + A new object containing the saved values. + + + + Override this method to load a new business object with default + values from the database. + + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + An object containing criteria values to identify the object. + + + + Override this method to allow update of a business + object. + + + + + Override this method to allow immediate deletion of a business object. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + Event raised when an object has been saved. + + + + + Raises the event, indicating that the + object has been saved, and providing a reference + to the new object instance. + + The new object instance. + + + + This is the base class from which command + objects will be derived. + + + + Command objects allow the execution of arbitrary server-side + functionality. Most often, this involves the invocation of + a stored procedure in the database, but can involve any other + type of stateless, atomic call to the server instead. + + To implement a command object, inherit from CommandBase and + override the DataPortal_Execute method. In this method you can + implement any server-side code as required. + + To pass data to/from the server, use instance variables within + the command object itself. The command object is instantiated on + the client, and is passed by value to the server where the + DataPortal_Execute method is invoked. The command object is then + returned to the client by value. + + + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Override this method to implement any server-side code + that is to be run when the command is executed. + + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during server-side processing. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during processing. + + + + This class implements INotifyPropertyChanged + in a serialization-safe manner. + + + + + Creates an instance of the object. + + + + + Implements a serialization-safe PropertyChanged event. + + + + + Call this method to raise the PropertyChanged event + for all object properties. + + + This method is for backward compatibility with + CSLA .NET 1.x. + + + + + Call this method to raise the PropertyChanged event + for all object properties. + + + This method is automatically called by MarkDirty. It + actually raises PropertyChanged for an empty string, + which tells data binding to refresh all properties. + + + + + Call this method to raise the PropertyChanged event + for a specific property. + + Name of the property that + has changed. + + This method may be called by properties in the business + class to indicate the change in a specific property. + + + + + This is the non-generic base class from which most + business objects will be derived. + + + See Chapter 3 for details. + + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Returns if this is a new object, + if it is a pre-existing object. + + + An object is considered to be new if its primary identifying (key) value + doesn't correspond to data in the database. In other words, + if the data values in this particular + object have not yet been saved to the database the object is considered to + be new. Likewise, if the object's data has been deleted from the database + then the object is considered to be new. + + A value indicating if this object is new. + + + + Returns if this object is marked for deletion. + + + CSLA .NET supports both immediate and deferred deletion of objects. This + property is part of the support for deferred deletion, where an object + can be marked for deletion, but isn't actually deleted until the object + is saved to the database. This property indicates whether or not the + current object has been marked for deletion. If it is + , the object will + be deleted when it is saved to the database, otherwise it will be inserted + or updated by the save operation. + + A value indicating if this object is marked for deletion. + + + + Returns if this object's data has been changed. + + + + When an object's data is changed, CSLA .NET makes note of that change + and considers the object to be 'dirty' or changed. This value is used to + optimize data updates, since an unchanged object does not need to be + updated into the database. All new objects are considered dirty. All objects + marked for deletion are considered dirty. + + Once an object's data has been saved to the database (inserted or updated) + the dirty flag is cleared and the object is considered unchanged. Objects + newly loaded from the database are also considered unchanged. + + + A value indicating if this object's data has been changed. + + + + Marks the object as being a new object. This also marks the object + as being dirty and ensures that it is not marked for deletion. + + + + Newly created objects are marked new by default. You should call + this method in the implementation of DataPortal_Update when the + object is deleted (due to being marked for deletion) to indicate + that the object no longer reflects data in the database. + + If you override this method, make sure to call the base + implementation after executing your new code. + + + + + + Marks the object as being an old (not new) object. This also + marks the object as being unchanged (not dirty). + + + + You should call this method in the implementation of + DataPortal_Fetch to indicate that an existing object has been + successfully retrieved from the database. + + You should call this method in the implementation of + DataPortal_Update to indicate that a new object has been successfully + inserted into the database. + + If you override this method, make sure to call the base + implementation after executing your new code. + + + + + + Marks an object for deletion. This also marks the object + as being dirty. + + + You should call this method in your business logic in the + case that you want to have the object deleted when it is + saved to the database. + + + + + Marks an object as being dirty, or changed. + + + + You should call this method in your business logic any time + the object's internal data changes. Any time any instance + variable changes within the object, this method should be called + to tell CSLA .NET that the object's data has been changed. + + Marking an object as dirty does two things. First it ensures + that CSLA .NET will properly save the object as appropriate. Second, + it causes CSLA .NET to tell Windows Forms data binding that the + object's data has changed so any bound controls will update to + reflect the new values. + + + + + + Marks an object as being dirty, or changed. + + + to supress the PropertyChanged event that is otherwise + raised to indicate that the object's state has changed. + + + + + Performs processing required when the current + property has changed. + + + + This method calls CheckRules(propertyName), MarkDirty and + OnPropertyChanged(propertyName). MarkDirty is called such + that no event is raised for IsDirty, so only the specific + property changed event for the current property is raised. + + This implementation uses System.Diagnostics.StackTrace to + determine the name of the current property, and so must be called + directly from the property to be checked. + + + + + + Performs processing required when a property + has changed. + + Name of the property that + has changed. + + This method calls CheckRules(propertyName), MarkDirty and + OnPropertyChanged(propertyName). MarkDirty is called such + that no event is raised for IsDirty, so only the specific + property changed event for the current property is raised. + + + + + Forces the object's IsDirty flag to . + + + This method is normally called automatically and is + not intended to be called manually. + + + + + Returns if this object is both dirty and valid. + + + An object is considered dirty (changed) if + returns . It is + considered valid if IsValid + returns . The IsSavable property is + a combination of these two properties. + + A value indicating if this object is both dirty and valid. + + + + Override this method to add authorization + rules for your object's properties. + + + AddInstanceAuthorizationRules is automatically called by CSLA .NET + when your object should associate per-instance authorization roles + with its properties. + + + + + Override this method to add per-type + authorization rules for your type's properties. + + + AddAuthorizationRules is automatically called by CSLA .NET + when your object should associate per-type authorization roles + with its properties. + + + + + Provides access to the AuthorizationRules object for this + object. + + + Use this object to add a list of allowed and denied roles for + reading and writing properties of the object. Typically these + values are added once when the business object is instantiated. + + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + Name of the property to read. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + + + + Returns if the user is allowed to read the + specified property. + + Name of the property to read. + if read is allowed. + + + If a list of allowed roles is provided then only users in those + roles can read. If no list of allowed roles is provided then + the list of denied roles is checked. + + If a list of denied roles is provided then users in the denied + roles are denied read access. All other users are allowed. + + If neither a list of allowed nor denied roles is provided then + all users will have read access. + + + + + + Returns if the user is allowed to write the + calling property. + + if write is allowed. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to write the + calling property. + + if write is allowed. + Name of the property to write. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to write the + calling property. + + if write is allowed. + + + + Returns if the user is allowed to write the + specified property. + + Name of the property to write. + if write is allowed. + + + If a list of allowed roles is provided then only users in those + roles can write. If no list of allowed roles is provided then + the list of denied roles is checked. + + If a list of denied roles is provided then users in the denied + roles are denied write access. All other users are allowed. + + If neither a list of allowed nor denied roles is provided then + all users will have write access. + + + + + + Provide access to the parent reference for use + in child object code. + + + This value will be Nothing for root objects. + + + + + Used by BusinessListBase as a child object is + created to tell the child object about its + parent. + + A reference to the parent collection object. + + + + Allow data binding to start a nested edit on the object. + + + Data binding may call this method many times. Only the first + call should be honored, so we have extra code to detect this + and do nothing for subsquent calls. + + + + + Allow data binding to cancel the current edit. + + + Data binding may call this method many times. Only the first + call to either IEditableObject.CancelEdit or + IEditableObject.EndEdit + should be honored. We include extra code to detect this and do + nothing for subsequent calls. + + + + + Allow data binding to apply the current edit. + + + Data binding may call this method many times. Only the first + call to either IEditableObject.EndEdit or + IEditableObject.CancelEdit + should be honored. We include extra code to detect this and do + nothing for subsequent calls. + + + + + Starts a nested edit on the object. + + + + When this method is called the object takes a snapshot of + its current state (the values of its variables). This snapshot + can be restored by calling CancelEdit + or committed by calling ApplyEdit. + + This is a nested operation. Each call to BeginEdit adds a new + snapshot of the object's state to a stack. You should ensure that + for each call to BeginEdit there is a corresponding call to either + CancelEdit or ApplyEdit to remove that snapshot from the stack. + + See Chapters 2 and 3 for details on n-level undo and state stacking. + + + + + + Cancels the current edit process, restoring the object's state to + its previous values. + + + Calling this method causes the most recently taken snapshot of the + object's state to be restored. This resets the object's values + to the point of the last BeginEdit call. + + + + + Called when an undo operation has completed. + + + This method resets the object as a result of + deserialization and raises PropertyChanged events + to notify data binding that the object has changed. + + + + + Commits the current edit process. + + + Calling this method causes the most recently taken snapshot of the + object's state to be discarded, thus committing any changes made + to the object's state since the last BeginEdit call. + + + + + Notifies the parent object (if any) that this + child object's edits have been accepted. + + + + + Returns if this is a child (non-root) object. + + + + + Marks the object as being a child object. + + + + + Marks the object for deletion. The object will be deleted as part of the + next save operation. + + + + CSLA .NET supports both immediate and deferred deletion of objects. This + method is part of the support for deferred deletion, where an object + can be marked for deletion, but isn't actually deleted until the object + is saved to the database. This method is called by the UI developer to + mark the object for deletion. + + To 'undelete' an object, use n-level undo as discussed in Chapters 2 and 3. + + + + + + Called by a parent object to mark the child + for deferred deletion. + + + + + Gets or sets the current edit level of the + object. + + + Allow the collection object to use the + edit level as needed. + + + + + Creates a clone of the object. + + + A new object containing the exact data of the original object. + + + + + Provides access to the broken rules functionality. + + + This property is used within your business logic so you can + easily call the AddRule() method to associate validation + rules with your object's properties. + + + + + Override this method in your business class to + be notified when you need to set up business + rules. + + + This method is automatically called by CSLA .NET + when your object should associate per-instance + validation rules with its properties. + + + + + Override this method in your business class to + be notified when you need to set up shared + business rules. + + + This method is automatically called by CSLA .NET + when your object should associate per-type + validation rules with its properties. + + + + + Returns if the object is currently valid, if the + object has broken rules or is otherwise invalid. + + + + By default this property relies on the underling ValidationRules + object to track whether any business rules are currently broken for this object. + + You can override this property to provide more sophisticated + implementations of the behavior. For instance, you should always override + this method if your object has child objects, since the validity of this object + is affected by the validity of all child objects. + + + A value indicating if the object is currently valid. + + + + Provides access to the readonly collection of broken business rules + for this object. + + A Csla.Validation.RulesCollection object. + + + + Override this method to load a new business object with default + values from the database. + + + Normally you will overload this method to accept a strongly-typed + criteria parameter, rather than overriding the method with a + loosely-typed criteria parameter. + + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + + Normally you will overload this method to accept a strongly-typed + criteria parameter, rather than overriding the method with a + loosely-typed criteria parameter. + + An object containing criteria values to identify the object. + + + + Override this method to allow insertion of a business + object. + + + + + Override this method to allow update of a business + object. + + + + + Override this method to allow deferred deletion of a business object. + + + + + Override this method to allow immediate deletion of a business object. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_XYZ method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_XYZ method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + This method is called on a newly deserialized object + after deserialization is complete. + + Serialization context object. + + + + Extends BindingList of T by adding extra + events. + + Type of item contained in list. + + + + Implements a serialization-safe RemovingItem event. + + + + + Raise the RemovingItem event. + + + A reference to the item that + is being removed. + + + + + Remove the item at the + specified index. + + + The zero-based index of the item + to remove. + + + + + Defines the common methods required by all + editable CSLA single objects. + + + It is strongly recommended that the implementations + of the methods in this interface be made Private + so as to not clutter up the native interface of + the collection objects. + + + + + Returns if this object's data has been changed. + + + + When an object's data is changed, CSLA .NET makes note of that change + and considers the object to be 'dirty' or changed. This value is used to + optimize data updates, since an unchanged object does not need to be + updated into the database. All new objects are considered dirty. All objects + marked for deletion are considered dirty. + + Once an object's data has been saved to the database (inserted or updated) + the dirty flag is cleared and the object is considered unchanged. Objects + newly loaded from the database are also considered unchanged. + + + A value indicating if this object's data has been changed. + + + + Returns if the object is currently valid, if the + object has broken rules or is otherwise invalid. + + + + By default this property relies on the underling ValidationRules + object to track whether any business rules are currently broken for this object. + + You can override this property to provide more sophisticated + implementations of the behavior. For instance, you should always override + this method if your object has child objects, since the validity of this object + is affected by the validity of all child objects. + + + A value indicating if the object is currently valid. + + + + Returns if this object is marked for deletion. + + + CSLA .NET supports both immediate and deferred deletion of objects. This + property is part of the support for deferred deletion, where an object + can be marked for deletion, but isn't actually deleted until the object + is saved to the database. This property indicates whether or not the + current object has been marked for deletion. If it is + , the object will + be deleted when it is saved to the database, otherwise it will be inserted + or updated by the save operation. + + A value indicating if this object is marked for deletion. + + + + Returns if this is a new object, + if it is a pre-existing object. + + + An object is considered to be new if its primary identifying (key) value + doesn't correspond to data in the database. In other words, + if the data values in this particular + object have not yet been saved to the database the object is considered to + be new. Likewise, if the object's data has been deleted from the database + then the object is considered to be new. + + A value indicating if this object is new. + + + + Returns if this object is both dirty and valid. + + + An object is considered dirty (changed) if + returns . It is + considered valid if IsValid + returns . The IsSavable property is + a combination of these two properties. + + A value indicating if this object is both dirty and valid. + + + + For internal use only!! + + + Altering this value will almost certainly + break your code. This property is for use + by the parent collection only! + + + + + Gets the current edit level of the object. + + + + + Called by a parent object to mark the child + for deferred deletion. + + + + + Used by BusinessListBase as a child object is + created to tell the child object about its + parent. + + A reference to the parent collection object. + + + + Marks the object for deletion. The object will be deleted as part of the + next save operation. + + + + + Extends by adding extra + events. + + + + + Event indicating that an item is being + removed from the list. + + + + + Defines the interface that must be implemented + by any business object that contains child + objects. + + + + + This method is called by a child object when it + wants to be removed from the collection. + + The child object to remove. + + + + Override this method to be notified when a child object's + method has + completed. + + The child object that was edited. + + + + Implement this interface in a collection + to report a total row count to + , where that + row count is different from the collection's + normal Count property value. + + + This interface is used to provide paging + support for web data binding through + . You should + implement this interface in your business + collection class, along with windowed + data loading, to provide efficient paging + support. + + + + + The total number of rows of available + data. + + + + + Specifies that the object can save + itself. + + + + + Saves the object to the database. + + A new object containing the saved values. + + + + Event raised when an object has been saved. + + + + + Defines the methods required to participate + in n-level undo within the CSLA .NET framework. + + + This interface is used by Csla.Core.UndoableBase + to initiate begin, cancel and apply edit operations. + + + + + Copies the state of the object and places the copy + onto the state stack. + + + + + Restores the object's state to the most recently + copied values from the state stack. + + + Restores the state of the object to its + previous value by taking the data out of + the stack and restoring it into the fields + of the object. + + + + + Accepts any changes made to the object since the last + state copy was made. + + + The most recent state copy is removed from the state + stack and discarded, thus committing any changes made + to the object's state. + + + + + This is the core interface implemented + by all CSLA .NET base classes. + + + + + This interface is implemented by all + Command objects. + + + + + Defines the common methods required by all + editable CSLA collection objects. + + + It is strongly recommended that the implementations + of the methods in this interface be made Private + so as to not clutter up the native interface of + the collection objects. + + + + + Removes the specified child from the parent + collection. + + Child object to be removed. + + + + Interface implemented by all read-only collection + classes. + + + + + Specifies that the object is a readonly + business object. + + + + + Returns if the user is allowed to read the + calling property. + + Name of the property to read. + + + + Clones an object by using the + . + + The object to clone. + + The object to be cloned must be serializable. + + + + + A readonly version of BindingList(Of T) + + Type of item contained in the list. + + This is a subclass of BindingList(Of T) that implements + a readonly list, preventing adding and removing of items + from the list. Use the IsReadOnly property + to unlock the list for loading/unloading data. + + + + + Gets or sets a value indicating whether the list is readonly. + + + Subclasses can set this value to unlock the collection + in order to alter the collection's data. + + True indicates that the list is readonly. + + + + Creates an instance of the object. + + + + + Prevents clearing the collection. + + + + + Prevents insertion of items into the collection. + + + + + Prevents insertion of items into the collection. + + Index at which to insert the item. + Item to insert. + + + + Removes the item at the specified index if the collection is + not in readonly mode. + + Index of the item to remove. + + + + Replaces the item at the specified index with the + specified item if the collection is not in + readonly mode. + + Index of the item to replace. + New item for the list. + + + + Contains event data for the RemovingItem + event. + + + + + Gets a reference to the item that was + removed from the list. + + + + + Create an instance of the object. + + + A reference to the item that was + removed from the list. + + + + + Event arguments containing a reference + to the new object that was returned + as a result of the Save() operation. + + + + + Gets the object that was returned + as a result of the Save() operation. + + + + + Creates an instance of the object. + + + The object that was returned as a + result of the Save() operation. + + + + + Implements n-level undo capabilities as + described in Chapters 2 and 3. + + + + + Creates an instance of the object. + + + + + Returns the current edit level of the object. + + + + + This method is invoked after the CopyState + operation is complete. + + + + + Copies the state of the object and places the copy + onto the state stack. + + + + + This method is invoked after the UndoChanges + operation is complete. + + + + + Restores the object's state to the most recently + copied values from the state stack. + + + Restores the state of the object to its + previous value by taking the data out of + the stack and restoring it into the fields + of the object. + + + + + This method is invoked after the AcceptChanges + operation is complete. + + + + + Accepts any changes made to the object since the last + state copy was made. + + + The most recent state copy is removed from the state + stack and discarded, thus committing any changes made + to the object's state. + + + + + Provides consistent context information between the client + and server DataPortal objects. + + + + + Get or set the current + object representing the user's identity. + + + This is discussed in Chapter 5. When running + under IIS the HttpContext.Current.User value + is used, otherwise the current Thread.CurrentPrincipal + value is used. + + + + + Returns the application-specific context data that + is local to the current AppDomain. + + + + The return value is a HybridDictionary. If one does + not already exist, and empty one is created and returned. + + Note that data in this context is NOT transferred to and from + the client and server. + + + + + + Returns the application-specific context data provided + by the client. + + + + The return value is a HybridDictionary. If one does + not already exist, and empty one is created and returned. + + Note that data in this context is transferred from + the client to the server. No data is transferred from + the server to the client. + + This property is thread safe in a Windows client + setting and on an application server. It is not guaranteed + to be thread safe within the context of an ASP.NET + client setting (i.e. in your ASP.NET UI). + + + + + + Returns the application-specific context data shared + on both client and server. + + + + The return value is a HybridDictionary. If one does + not already exist, and empty one is created and returned. + + Note that data in this context is transferred to and from + the client and server. Any objects or data in this context + will be transferred bi-directionally across the network. + + + + + + Clears all context collections. + + + + + Returns the authentication type being used by the + CSLA .NET framework. + + + + + This value is read from the application configuration + file with the key value "CslaAuthentication". The value + "Windows" indicates CSLA .NET should use Windows integrated + (or AD) security. Any other value indicates the use of + custom security derived from BusinessPrincipalBase. + + + + + Returns the channel or network protocol + for the DataPortal server. + + Fully qualified assembly/type name of the proxy class. + + + + This value is read from the application configuration + file with the key value "CslaDataPortalProxy". + + The proxy class must implement Csla.Server.IDataPortalServer. + + The value "Local" is a shortcut to running the DataPortal + "server" in the client process. + + Other built-in values include: + + + Csla,Csla.DataPortalClient.RemotingProxy + Use .NET Remoting to communicate with the server + + + Csla,Csla.DataPortalClient.EnterpriseServicesProxy + Use Enterprise Services (DCOM) to communicate with the server + + + Csla,Csla.DataPortalClient.WebServicesProxy + Use Web Services (asmx) to communicate with the server + + + Each proxy type does require that the DataPortal server be hosted using the appropriate + technology. For instance, Web Services and Remoting should be hosted in IIS, while + Enterprise Services must be hosted in COM+. + + + + + + Returns the URL for the DataPortal server. + + + + + This value is read from the application configuration + file with the key value "CslaDataPortalUrl". + + + + + Enum representing the locations code can execute. + + + + + The code is executing on the client. + + + + + The code is executing on the application server. + + + + + Returns a value indicating whether the application code + is currently executing on the client or server. + + + + + This is the client-side DataPortal as described in + Chapter 4. + + + + + Raised by DataPortal prior to calling the + requested server-side DataPortal method. + + + + + Raised by DataPortal after the requested + server-side DataPortal method call is complete. + + + + + Called by a factory method in a business class to create + a new object, which is loaded with default + values from the database. + + Specific type of the business object. + Object-specific criteria. + A new object, populated with default values. + + + + Called by a factory method in a business class to create + a new object, which is loaded with default + values from the database. + + Specific type of the business object. + A new object, populated with default values. + + + + Called by a factory method in a business class to create + a new object, which is loaded with default + values from the database. + + Object-specific criteria. + A new object, populated with default values. + + + + Called by a factory method in a business class to retrieve + an object, which is loaded with values from the database. + + Specific type of the business object. + Object-specific criteria. + An object populated with values from the database. + + + + Called by a factory method in a business class to retrieve + an object, which is loaded with values from the database. + + Specific type of the business object. + An object populated with values from the database. + + + + Called by a factory method in a business class to retrieve + an object, which is loaded with values from the database. + + Object-specific criteria. + An object populated with values from the database. + + + + Called to execute a Command object on the server. + + + + To be a Command object, the object must inherit from + CommandBase. + + Note that this method returns a reference to the updated business object. + If the server-side DataPortal is running remotely, this will be a new and + different object from the original, and all object references MUST be updated + to use this new object. + + On the server, the Command object's DataPortal_Execute() method will + be invoked. Write any server-side code in that method. + + + Specific type of the Command object. + A reference to the Command object to be executed. + A reference to the updated Command object. + + + + Called to execute a Command object on the server. + + + + Note that this method returns a reference to the updated business object. + If the server-side DataPortal is running remotely, this will be a new and + different object from the original, and all object references MUST be updated + to use this new object. + + On the server, the Command object's DataPortal_Execute() method will + be invoked. Write any server-side code in that method. + + + A reference to the Command object to be executed. + A reference to the updated Command object. + + + + Called by the business object's Save() method to + insert, update or delete an object in the database. + + + Note that this method returns a reference to the updated business object. + If the server-side DataPortal is running remotely, this will be a new and + different object from the original, and all object references MUST be updated + to use this new object. + + Specific type of the business object. + A reference to the business object to be updated. + A reference to the updated business object. + + + + Called by the business object's Save() method to + insert, update or delete an object in the database. + + + Note that this method returns a reference to the updated business object. + If the server-side DataPortal is running remotely, this will be a new and + different object from the original, and all object references MUST be updated + to use this new object. + + A reference to the business object to be updated. + A reference to the updated business object. + + + + Called by a Shared (static in C#) method in the business class to cause + immediate deletion of a specific object from the database. + + Object-specific criteria. + + + + Implements a data portal proxy to relay data portal + calls to an application server hosted in COM+. + + + + + Override this method to return a reference to + the server-side COM+ (ServicedComponent) object + implementing the data portal server functionality. + + + + + Called by to create a + new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to load an + existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to update a + business object. + + The business object to update. + + object passed to the server. + + + + + Called by to delete a + business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Get a value indicating whether this proxy will invoke + a remote data portal server, or run the "server-side" + data portal in the caller's process and AppDomain. + + + + + Interface implemented by client-side + data portal proxy objects. + + + + + Get a value indicating whether this proxy will invoke + a remote data portal server, or run the "server-side" + data portal in the caller's process and AppDomain. + + + + + Implements a data portal proxy to relay data portal + calls to an application server hosted locally + in the client process and AppDomain. + + + + + Called by to create a + new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to load an + existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to update a + business object. + + The business object to update. + + object passed to the server. + + + + + Called by to delete a + business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Get a value indicating whether this proxy will invoke + a remote data portal server, or run the "server-side" + data portal in the caller's process and AppDomain. + + + + + Implements a data portal proxy to relay data portal + calls to a remote application server by using the + .NET Remoting technology. + + + + + Configure .NET Remoting to use a binary + serialization technology even when using + the HTTP channel. Also ensures that the + user's Windows credentials are passed to + the server appropriately. + + + + + Called by to create a + new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to load an + existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to update a + business object. + + The business object to update. + + object passed to the server. + + + + + Called by to delete a + business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Get a value indicating whether this proxy will invoke + a remote data portal server, or run the "server-side" + data portal in the caller's process and AppDomain. + + + + + Implements a data portal proxy to relay data portal + calls to a remote application server by using + Web services. + + + + + Called by to create a + new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to load an + existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Called by to update a + business object. + + The business object to update. + + object passed to the server. + + + + + Called by to delete a + business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Get a value indicating whether this proxy will invoke + a remote data portal server, or run the "server-side" + data portal in the caller's process and AppDomain. + + + + + Base type from which Criteria classes can be + derived in a business class. + + + + + Type of the business object to be instantiated by + the server-side DataPortal. + + + + + Initializes CriteriaBase with the type of + business object to be created by the DataPortal. + + The type of the + business object the data portal should create. + + + + Provides information about the DataPortal + call. + + + + + The DataPortalContext object passed to the + server-side DataPortal. + + + + + Creates an instance of the object. + + + Data portal context object. + + + + + This exception is returned for any errors occuring + during the server-side DataPortal invocation. + + + + + Returns a reference to the business object + from the server-side DataPortal. + + + Remember that this object may be in an invalid + or undefined state. This is the business object + (and any child objects) as it existed when the + exception occured on the server. Thus the object + state may have been altered by the server and + may no longer reflect data in the database. + + + + + Gets the original server-side exception. + + An exception object. + + When an exception occurs in business code behind + the data portal, it is wrapped in a + , which + is then wrapped in a + . This property + unwraps and returns the original exception + thrown by the business code on the server. + + + + + Get the combined stack trace from the server + and client. + + + + + Creates an instance of the object. + + Text describing the exception. + The business object + as it was at the time of the exception. + + + + Creates an instance of the object. + + Text describing the exception. + Inner exception. + The business object + as it was at the time of the exception. + + + + Creates an instance of the object for serialization. + + Serialiation info object. + Serialization context object. + + + + Serializes the object. + + Serialiation info object. + Serialization context object. + + + + Exposes server-side DataPortal functionality + through Enterprise Services. + + + + + Set up event handler to deal with + serialization issue as discussed + in Chapter 4. + + + + + Create a new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Get an existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Update a business object. + + Business object to update. + + object passed to the server. + + + + + Delete a business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Exposes server-side DataPortal functionality + through .NET Remoting. + + + + + Create a new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Get an existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Update a business object. + + Business object to update. + + object passed to the server. + + + + + Delete a business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Exposes server-side DataPortal functionality + through Web Services (asmx). + + + + + Request message for creating + a new business object. + + + + + Type of business object to create. + + + + + Criteria object describing business object. + + + + + Data portal context from client. + + + + + Request message for retrieving + an existing business object. + + + + + Type of business object to create. + + + + + Criteria object describing business object. + + + + + Data portal context from client. + + + + + Request message for updating + a business object. + + + + + Business object to be updated. + + + + + Data portal context from client. + + + + + Request message for deleting + a business object. + + + + + Criteria object describing business object. + + + + + Data portal context from client. + + + + + Create a new business object. + + Byte stream containing . + Byte stream containing resulting object data. + + + + Get an existing business object. + + Byte stream containing . + Byte stream containing resulting object data. + + + + Update a business object. + + Byte stream containing . + Byte stream containing resulting object data. + + + + Delete a business object. + + Byte stream containing . + Byte stream containing resulting object data. + + + + This exception is returned from the + CallMethod method in the server-side DataPortal + and contains the exception thrown by the + underlying business object method that was + being invoked. + + + + + Get the stack trace from the original + exception. + + + + + + + + Creates an instance of the object. + + Message text describing the exception. + Inner exception object. + + + + Creates an instance of the object for deserialization. + + Serialization info. + Serialiation context. + + + + Serializes the object. + + Serialization info. + Serialization context. + + + + Implements the server-side DataPortal + message router as discussed + in Chapter 4. + + + + + Create a new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Get an existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Update a business object. + + Business object to update. + + object passed to the server. + + + + + Delete a business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Provides consistent context information between the client + and server DataPortal objects. + + + + + The current principal object + if CSLA security is being used. + + + + + Returns if the + server-side DataPortal is running + on a remote server via remoting. + + + + + The culture setting on the client + workstation. + + + + + The culture setting on the client + workstation. + + + + + Creates a new DataPortalContext object. + + The current Principal object. + Indicates whether the DataPortal is remote. + + + + This exception is returned from the + server-side DataPortal and contains the exception + and context data from the server. + + + + + Returns the DataPortalResult object from the server. + + + + + Get the server-side stack trace from the + original exception. + + + + + Creates an instance of the object. + + Text describing the exception. + Inner exception. + The data portal result object. + + + + Creates an instance of the object for serialization. + + Serialiation info object. + Serialization context object. + + + + Serializes the object. + + Serialiation info object. + Serialization context object. + + + + Returns data from the server-side DataPortal to the + client-side DataPortal. Intended for internal CSLA .NET + use only. + + + + + The business object being returned from + the server. + + + + + The global context being returned from + the server. + + + + + Creates an instance of the object. + + + + + Creates an instance of the object. + + Object to return as part + of the result. + + + + Interface implemented by server-side data portal + components. + + + + + Create a new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Get an existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Update a business object. + + Business object to update. + + object passed to the server. + + + + + Delete a business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Implements the server-side Serviced + DataPortal described in Chapter 4. + + + + + Wraps a Create call in a ServicedComponent. + + + This method delegates to + SimpleDataPortal + but wraps that call within a COM+ transaction + to provide transactional support. + + A Type object + indicating the type of business object to be created. + A custom criteria object providing any + extra information that may be required to properly create + the object. + Context data from the client. + A populated business object. + + + + Wraps a Fetch call in a ServicedComponent. + + + This method delegates to + SimpleDataPortal + but wraps that call within a COM+ transaction + to provide transactional support. + + Type of business object to retrieve. + Object-specific criteria. + Object containing context data from client. + A populated business object. + + + + Wraps an Update call in a ServicedComponent. + + + This method delegates to + SimpleDataPortal + but wraps that call within a COM+ transaction + to provide transactional support. + + A reference to the object being updated. + Context data from the client. + A reference to the newly updated object. + + + + Wraps a Delete call in a ServicedComponent. + + + This method delegates to + SimpleDataPortal + but wraps that call within a COM+ transaction + to provide transactional support. + + Object-specific criteria. + Context data from the client. + + + + Implements the server-side DataPortal as discussed + in Chapter 4. + + + + + Create a new business object. + + Type of business object to create. + Criteria object describing business object. + + object passed to the server. + + + + + Get an existing business object. + + Type of business object to retrieve. + Criteria object describing business object. + + object passed to the server. + + + + + Update a business object. + + Business object to update. + + object passed to the server. + + + + + Delete a business object. + + Criteria object describing business object. + + object passed to the server. + + + + + Implements the server-side Serviced + DataPortal described in Chapter 4. + + + + + Wraps a Create call in a TransactionScope + + + This method delegates to + SimpleDataPortal + but wraps that call within a + TransactionScope + to provide transactional support via + System.Transactions. + + A Type object + indicating the type of business object to be created. + A custom criteria object providing any + extra information that may be required to properly create + the object. + Context data from the client. + A populated business object. + + + + Called by the client-side DataProtal to retrieve an object. + + + This method delegates to + SimpleDataPortal + but wraps that call within a + TransactionScope + to provide transactional support via + System.Transactions. + + Type of business object to retrieve. + Object-specific criteria. + Object containing context data from client. + A populated business object. + + + + Called by the client-side DataPortal to update an object. + + + This method delegates to + SimpleDataPortal + but wraps that call within a + TransactionScope + to provide transactional support via + System.Transactions. + + A reference to the object being updated. + Context data from the client. + A reference to the newly updated object. + + + + Called by the client-side DataPortal to delete an object. + + + This method delegates to + SimpleDataPortal + but wraps that call within a + TransactionScope + to provide transactional support via + System.Transactions. + + Object-specific criteria. + Context data from the client. + + + + Gets a reference to the DataPortal_Create method for + the specified business object type. + + Type of the business object. + Criteria parameter value. + + If the criteria parameter value is an integer, that is a special + flag indicating that the parameter should be considered missing + (not Nothing/null - just not there). + + + + + Gets a reference to the DataPortal_Fetch method for + the specified business object type. + + Type of the business object. + Criteria parameter value. + + If the criteria parameter value is an integer, that is a special + flag indicating that the parameter should be considered missing + (not Nothing/null - just not there). + + + + + Uses reflection to dynamically invoke a method + if that method is implemented on the target object. + + + + + Uses reflection to dynamically invoke a method, + throwing an exception if it is not + implemented on the target object. + + + + + Uses reflection to dynamically invoke a method, + throwing an exception if it is not + implemented on the target object. + + + + + Uses reflection to locate a matching method + on the target object. + + + + + Returns a business object type based on + the supplied criteria object. + + + + + Returns information about the specified + method, even if the parameter types are + generic and are located in an abstract + generic base class. + + + + + Returns information about the specified + method, finding the method based purely + on the method name and number of parameters. + + + + + Marks a DataPortal_XYZ method to + be run on the client even if the server-side + DataPortal is configured for remote use. + + + + + Marks a DataPortal_XYZ method to run within + the specified transactional context. + + + + Each business object method may be marked with this attribute + to indicate which type of transactional technology should + be used by the server-side DataPortal. The possible options + are listed in the + TransactionalTypes enum. + + If the Transactional attribute is not applied to a + DataPortal_XYZ method then the + Manual option + is assumed. + + If the Transactional attribute is applied with no explicit + choice for transactionType then the + EnterpriseServices + option is assumed. + + Both the EnterpriseServices and TransactionScope options provide + 2-phase distributed transactional support. + + + + + + Marks a method to run within a COM+ + transactional context. + + + + + Marks a method to run within the specified + type of transactional context. + + + Specifies the transactional context within which the + method should run. + + + + Gets the type of transaction requested by the + business object method. + + + + + Provides a list of possible transactional + technologies to be used by the server-side + DataPortal. + + + + + Causes the server-side DataPortal to + use Enterprise Services (COM+) transactions. + + + + + Causes the server-side DataPortal to + use System.Transactions TransactionScope + style transactions. + + + + + Causes the server-side DataPortal to + use no explicit transactional technology. + + + This option allows the business developer to + implement their own transactions. Common options + include ADO.NET transactions and System.Transactions + TransactionScope. + + + + + Map data from a source into a target object + by copying public property values. + + + + + + Copies values from the source into the + properties of the target. + + A name/value dictionary containing the source values. + An object with properties to be set from the dictionary. + + The key names in the dictionary must match the property names on the target + object. Target properties may not be readonly or indexed. + + + + + Copies values from the source into the + properties of the target. + + A name/value dictionary containing the source values. + An object with properties to be set from the dictionary. + A list of property names to ignore. + These properties will not be set on the target object. + + The key names in the dictionary must match the property names on the target + object. Target properties may not be readonly or indexed. + + + + + Copies values from the source into the + properties of the target. + + A name/value dictionary containing the source values. + An object with properties to be set from the dictionary. + A list of property names to ignore. + These properties will not be set on the target object. + If , any exceptions will be supressed. + + The key names in the dictionary must match the property names on the target + object. Target properties may not be readonly or indexed. + + + + + Copies values from the source into the + properties of the target. + + An object containing the source values. + An object with properties to be set from the dictionary. + + The property names and types of the source object must match the property names and types + on the target object. Source properties may not be indexed. + Target properties may not be readonly or indexed. + + + + + Copies values from the source into the + properties of the target. + + An object containing the source values. + An object with properties to be set from the dictionary. + A list of property names to ignore. + These properties will not be set on the target object. + + The property names and types of the source object must match the property names and types + on the target object. Source properties may not be indexed. + Target properties may not be readonly or indexed. + + + + + Copies values from the source into the + properties of the target. + + An object containing the source values. + An object with properties to be set from the dictionary. + A list of property names to ignore. + These properties will not be set on the target object. + If , any exceptions will be supressed. + + + The property names and types of the source object must match the property names and types + on the target object. Source properties may not be indexed. + Target properties may not be readonly or indexed. + + Properties to copy are determined based on the source object. Any properties + on the source object marked with the equal + to false are ignored. + + + + + + Sets an object's property with the specified value, + coercing that value to the appropriate type if possible. + + Object containing the property to set. + Name of the property to set. + Value to set into the property. + + + + An ObjectAdapter is used to convert data in an object + or collection into a DataTable. + + + + + Fills the DataSet with data from an object or collection. + + + The name of the DataTable being filled is will be the class name of + the object acting as the data source. The + DataTable will be inserted if it doesn't already exist in the DataSet. + + A reference to the DataSet to be filled. + A reference to the object or collection acting as a data source. + + + + Fills the DataSet with data from an object or collection. + + + The name of the DataTable being filled is specified as a parameter. The + DataTable will be inserted if it doesn't already exist in the DataSet. + + A reference to the DataSet to be filled. + + A reference to the object or collection acting as a data source. + + + + Fills a DataTable with data values from an object or collection. + + A reference to the DataTable to be filled. + A reference to the object or collection acting as a data source. + + + + This is a DataReader that 'fixes' any null values before + they are returned to our business code. + + + + + Get a reference to the underlying data reader + object that actually contains the data from + the data source. + + + + + Initializes the SafeDataReader object to use data from + the provided DataReader object. + + The source DataReader object containing the data. + + + + Gets a string value from the datareader. + + + Returns empty string for null. + + Name of the column containing the value. + + + + Gets a string value from the datareader. + + + Returns empty string for null. + + Ordinal column position of the value. + + + + Gets a value of type from the datareader. + + Name of the column containing the value. + + + + Gets a value of type from the datareader. + + Ordinal column position of the value. + + + + Gets an integer from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets an integer from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Gets a double from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a double from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Gets a from the datareader. + + + A null is converted into min possible date + See Chapter 5 for more details on the SmartDate class. + + Name of the column containing the value. + + + + Gets a from the datareader. + + + A null is converted into the min possible date + See Chapter 5 for more details on the SmartDate class. + + Ordinal column position of the value. + + + + Gets a from the datareader. + + + A null is converted into either the min or max possible date + depending on the MinIsEmpty parameter. See Chapter 5 for more + details on the SmartDate class. + + Name of the column containing the value. + + A flag indicating whether the min or max + value of a data means an empty date. + + + + Gets a from the datareader. + + Ordinal column position of the value. + + A flag indicating whether the min or max + value of a data means an empty date. + + + + Gets a Guid value from the datareader. + + + Returns Guid.Empty for null. + + Name of the column containing the value. + + + + Gets a Guid value from the datareader. + + + Returns Guid.Empty for null. + + Ordinal column position of the value. + + + + Reads the next row of data from the datareader. + + + + + Moves to the next result set in the datareader. + + + + + Closes the datareader. + + + + + Returns the depth property value from the datareader. + + + + + Returns the FieldCount property from the datareader. + + + + + Gets a boolean value from the datareader. + + + Returns for null. + + Name of the column containing the value. + + + + Gets a boolean value from the datareader. + + + Returns for null. + + Ordinal column position of the value. + + + + Gets a byte value from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a byte value from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Invokes the GetBytes method of the underlying datareader. + + + Returns 0 for null. + + Name of the column containing the value. + Array containing the data. + Offset position within the buffer. + Offset position within the field. + Length of data to read. + + + + Invokes the GetBytes method of the underlying datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + Array containing the data. + Offset position within the buffer. + Offset position within the field. + Length of data to read. + + + + Gets a char value from the datareader. + + + Returns Char.MinValue for null. + + Name of the column containing the value. + + + + Gets a char value from the datareader. + + + Returns Char.MinValue for null. + + Ordinal column position of the value. + + + + Invokes the GetChars method of the underlying datareader. + + + Returns 0 for null. + + Name of the column containing the value. + Array containing the data. + Offset position within the buffer. + Offset position within the field. + Length of data to read. + + + + Invokes the GetChars method of the underlying datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + Array containing the data. + Offset position within the buffer. + Offset position within the field. + Length of data to read. + + + + Invokes the GetData method of the underlying datareader. + + Name of the column containing the value. + + + + Invokes the GetData method of the underlying datareader. + + Ordinal column position of the value. + + + + Invokes the GetDataTypeName method of the underlying datareader. + + Name of the column containing the value. + + + + Invokes the GetDataTypeName method of the underlying datareader. + + Ordinal column position of the value. + + + + Gets a date value from the datareader. + + + Returns DateTime.MinValue for null. + + Name of the column containing the value. + + + + Gets a date value from the datareader. + + + Returns DateTime.MinValue for null. + + Ordinal column position of the value. + + + + Gets a decimal value from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a decimal value from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Invokes the GetFieldType method of the underlying datareader. + + Name of the column containing the value. + + + + Invokes the GetFieldType method of the underlying datareader. + + Ordinal column position of the value. + + + + Gets a Single value from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a Single value from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Gets a Short value from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a Short value from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Gets a Long value from the datareader. + + + Returns 0 for null. + + Name of the column containing the value. + + + + Gets a Long value from the datareader. + + + Returns 0 for null. + + Ordinal column position of the value. + + + + Invokes the GetName method of the underlying datareader. + + Ordinal column position of the value. + + + + Gets an ordinal value from the datareader. + + Name of the column containing the value. + + + + Invokes the GetSchemaTable method of the underlying datareader. + + + + + Invokes the GetValues method of the underlying datareader. + + An array of System.Object to + copy the values into. + + + + Returns the IsClosed property value from the datareader. + + + + + Invokes the IsDBNull method of the underlying datareader. + + Ordinal column position of the value. + + + + Returns a value from the datareader. + + Name of the column containing the value. + + + + Returns a value from the datareader. + + Ordinal column position of the value. + + + + Returns the RecordsAffected property value from the underlying datareader. + + + + + Disposes the object. + + True if called by + the public Dispose method. + + + + Disposes the object. + + + + + Object finalizer. + + + + + This is the base class from which collections + of editable root business objects should be + derived. + + + Type of editable root object to contain within + the collection. + + + + Your subclass should implement a factory method + and should override or overload + DataPortal_Fetch() to implement data retrieval. + + Saving (inserts or updates) of items in the collection + should be handled through the SaveItem() method on + the collection. + + Removing an item from the collection + through Remove() or RemoveAt() causes immediate deletion + of the object, by calling the object's Delete() and + Save() methods. + + + + + + Saves the specified item in the list. + + + Reference to the item to be saved. + + + This method properly saves the child item, + by making sure the item in the collection + is properly replaced by the result of the + Save() method call. + + + + + Saves the specified item in the list. + + + Index of the item to be saved. + + + This method properly saves the child item, + by making sure the item in the collection + is properly replaced by the result of the + Save() method call. + + + + + Gives the new object a parent reference to this + list. + + Index at which to insert the item. + Item to insert. + + + + Removes an item from the list. + + Index of the item + to be removed. + + + + This method is called on a newly deserialized object + after deserialization is complete. + + Serialization context object. + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + Provides a filtered view into an existing IList(Of T). + + The type of the objects contained + in the original list. + + + + Gets an enumerator object. + + + + + + Implemented by IList source object. + + Property on which + to build the index. + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Sorts the list if the original list + supports sorting. + + Property on which to sort. + Direction of the sort. + + + + Finds an item in the view + + Name of the property to search + Value to find + + + + Implemented by IList source object. + + Key value for which to search. + Property to search for the key + value. + + + + Returns True if the view is currently sorted. + + + + + Raised to indicate that the list's data has changed. + + + This event is raised if the underling IList object's data changes + (assuming the underling IList also implements the IBindingList + interface). It is also raised if the filter + is changed to indicate that the view's data has changed. + + + + + Raises the ListChanged event. + + Parameter for the event. + + + + Implemented by IList source object. + + Property for which the + index should be removed. + + + + Removes any sort currently applied to the view. + + + + + Returns the direction of the current sort. + + + + + Returns the PropertyDescriptor of the current sort. + + + + + Returns True since this object does raise the + ListChanged event. + + + + + Implemented by IList source object. + + + + + Returns True. Sorting is supported. + + + + + Copies the contents of the list to + an array. + + Array to receive the data. + Starting array index. + + + + Gets the number of items in the list. + + + + + Adds an item to the list. + + Item to be added. + + + + Clears the list. + + + + + Determines whether the specified + item is contained in the list. + + Item to find. + if the item is + contained in the list. + + + + Gets the 0-based index of an + item in the list. + + The item to find. + 0-based index of the item + in the list. + + + + Inserts an item into the list. + + Index at + which to insert the item. + Item to insert. + + + + Gets a value indicating whether the list + is read-only. + + + + + Removes an item from the list. + + Item to remove. + if the + remove succeeds. + + + + Removes an item from the list. + + Index of item + to be removed. + + + + Gets or sets the item at + the specified index. + + Index of the item. + Item at the specified index. + + + + Creates a new view based on the provided IList object. + + The IList (collection) containing the data. + + + + Creates a new view based on the provided IList object. + + The IList (collection) containing the data. + + Delegate pointer to a method that implements the filter behavior. + + + + + Gets or sets the filter provider method. + + + Delegate pointer to a method that implements the filter behavior. + + + Delegate pointer to a method that implements the filter behavior. + + + If this value is set to Nothing (null in C#) then the default + filter provider, will be used. + + + + + The property on which the items will be filtered. + + A descriptor for the property on which + the items in the collection will be filtered. + + + + + + Returns True if the view is currently filtered. + + + + + Applies a filter to the view. + + The text name of the property on which to filter. + The filter criteria. + + + + Applies a filter to the view. + + A PropertyDescriptor for the property on which to filter. + The filter criteria. + + + + Removes the filter from the list, + so the view reflects the state of + the original list. + + + + + Defines the method signature for a filter + provider method used by FilteredBindingList. + + The object to be filtered. + The filter criteria. + if the item matches the filter. + + + + This is the base class from which readonly name/value + collections should be derived. + + Type of the key values. + Type of the values. + + + + Returns the value corresponding to the + specified key. + + Key value for which to retrieve a value. + + + + Returns the key corresponding to the + first occurance of the specified value + in the list. + + Value for which to retrieve the key. + + + + Gets a value indicating whether the list contains the + specified key. + + Key value for which to search. + + + + Gets a value indicating whether the list contains the + specified value. + + Value for which to search. + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Contains a key and value pair. + + + + + The Key or Name value. + + + + + The Value corresponding to the key/name. + + + + + Creates an instance of the object. + + The key. + The value. + + + + Creates a clone of the object. + + A new object containing the exact data of the original object. + + + + Creates a clone of the object. + + + + + Default Criteria for retrieving simple + name/value lists. + + + This criteria merely specifies the type of + collection to be retrieved. That type information + is used by the DataPortal to create the correct + type of collection object during data retrieval. + + + + + Creates an instance of the object. + + + The of the business + collection class. + + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_XYZ method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_XYZ method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + Marks a field to indicate that the value should not + be copied as part of the undo process. + + + Marking a variable with this attribute will cause the n-level + undo process to ignore that variable's value. The value will + not be included in a snapshot when BeginEdit is called, nor + will it be restored when CancelEdit is called. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Principal must be of type BusinessPrincipal, not. + + + + + Looks up a localized string similar to Changing an element is an invalid operation. + + + + + Looks up a localized string similar to Can not directly mark a child object for deletion - use its parent collection. + + + + + Looks up a localized string similar to Clear is an invalid operation. + + + + + Looks up a localized string similar to Invalid operation - create not allowed. + + + + + Looks up a localized string similar to Invalid operation - delete not allowed. + + + + + Looks up a localized string similar to Error reading value:. + + + + + Looks up a localized string similar to Invalid operation - execute not allowed. + + + + + Looks up a localized string similar to failed. + + + + + Looks up a localized string similar to failed on the server. + + + + + Looks up a localized string similar to Invalid operation - fetch not allowed. + + + + + Looks up a localized string similar to GetIdValue must not return Nothing. + + + + + Looks up a localized string similar to Insert is an invalid operation. + + + + + Looks up a localized string similar to Invalid operation - insert not allowed. + + + + + Looks up a localized string similar to Invalid rule method (instance methods of the target object not allowed). + + + + + Looks up a localized string similar to {0} can not exceed {1}. + + + + + Looks up a localized string similar to method call failed. + + + + + Looks up a localized string similar to not implemented. + + + + + Looks up a localized string similar to {0} can not be less than {1}. + + + + + Looks up a localized string similar to ApplyEdit is not valid on a child object. + + + + + Looks up a localized string similar to BeginEdit is not valid on a child object. + + + + + Looks up a localized string similar to CancelEdit is not valid on a child object. + + + + + Looks up a localized string similar to Invalid for root objects - use Delete instead. + + + + + Looks up a localized string similar to No principal object should be passed to DataPortal when using Windows integrated security. + + + + + Looks up a localized string similar to Can not directly save a child object. + + + + + Looks up a localized string similar to Object is still being edited and can not be saved. + + + + + Looks up a localized string similar to Object is not valid and can not be saved. + + + + + Looks up a localized string similar to No such value exists:. + + + + + Looks up a localized string similar to Argument must not be Nothing. + + + + + Looks up a localized string similar to Parent value can only be set for child objects. + + + + + Looks up a localized string similar to Type parameter must be a primitive type. + + + + + Looks up a localized string similar to Property copy failed. + + + + + Looks up a localized string similar to Property get not allowed. + + + + + Looks up a localized string similar to Property set not allowed. + + + + + Looks up a localized string similar to {0} does not match regular expression. + + + + + Looks up a localized string similar to Remove is an invalid operation. + + + + + Looks up a localized string similar to t. + + + + + Looks up a localized string similar to today. + + + + + Looks up a localized string similar to tom. + + + + + Looks up a localized string similar to tomorrow. + + + + + Looks up a localized string similar to y. + + + + + Looks up a localized string similar to yesterday. + + + + + Looks up a localized string similar to {0} can not exceed {1} characters. + + + + + Looks up a localized string similar to {0} required. + + + + + Looks up a localized string similar to String value can not be converted to a date. + + + + + Looks up a localized string similar to Failed to load type '{0}'. + + + + + Looks up a localized string similar to Invalid operation - update not allowed. + + + + + Looks up a localized string similar to Value is not a SmartDate. + + + + + This is a base class from which readonly business classes + can be derived. + + + This base class only supports data retrieve, not updating or + deleting. Any business classes derived from this base class + should only implement readonly properties. + + Type of the business object. + + + + Override this method to return a unique identifying + vlaue for this object. + + + If you can not provide a unique identifying value, it + is best if you can generate such a unique value (even + temporarily). If you can not do that, then return + and then manually override the + , and + methods in your business object. + + + + + Compares this object for equality with another object, using + the results of to determine + equality. + + The object to be compared. + + + + Returns a hash code value for this object, based on + the results of . + + + + + Returns a text representation of this object by + returning the value + in text form. + + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Override this method to add authorization + rules for your object's properties. + + + + + Override this method to add per-type + authorization rules for your type's properties. + + + AddSharedAuthorizationRules is automatically called by CSLA .NET + when your object should associate per-type authorization roles + with its properties. + + + + + Provides access to the AuthorizationRules object for this + object. + + + Use this object to add a list of allowed and denied roles for + reading and writing properties of the object. Typically these + values are added once when the business object is instantiated. + + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + Name of the property to read. + Indicates whether a negative + result should cause an exception. + + + + Returns if the user is allowed to read the + calling property. + + if read is allowed. + + + + Returns if the user is allowed to read the + specified property. + + Name of the property to read. + if read is allowed. + + + If a list of allowed roles is provided then only users in those + roles can read. If no list of allowed roles is provided then + the list of denied roles is checked. + + If a list of denied roles is provided then users in the denied + roles are denied read access. All other users are allowed. + + If neither a list of allowed nor denied roles is provided then + all users will have read access. + + + + + + Creates a clone of the object. + + A new object containing the exact data of the original object. + + + + Creates a clone of the object. + + + A new object containing the exact data of the original object. + + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + This method is called on a newly deserialized object + after deserialization is complete. + + Serialization context object. + + + + This is the base class from which readonly collections + of readonly objects should be derived. + + Type of the list class. + Type of child objects contained in the list. + + + + Creates an instance of the object. + + + + + Override this method to set up event handlers so user + code in a partial class can respond to events raised by + generated code. + + + + + Creates a clone of the object. + + A new object containing the exact data of the original object. + + + + Creates a clone of the object. + + + A new object containing the exact data of the original object. + + + + + Override this method to allow retrieval of an existing business + object based on data in the database. + + An object containing criteria values to identify the object. + + + + Called by the server-side DataPortal prior to calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal after calling the + requested DataPortal_xyz method. + + The DataPortalContext object passed to the DataPortal. + + + + Called by the server-side DataPortal if an exception + occurs during data access. + + The DataPortalContext object passed to the DataPortal. + The Exception thrown during data access. + + + + The access types supported by authorization + as discussed in Chapter 3. + + + + + Roles allowed to read property. + + + + + Roles denied read access to property. + + + + + Roles allowed to set property. + + + + + Roles denied write access to property. + + + + + Maintains a list of allowed and denied user roles + for each property. + + + + + + Creates an instance of the object, initializing + it with the business object type. + + + Type of the business object to which the rules + apply. + + + + + Specify the roles allowed to read a given + property. + + Name of the property. + List of roles granted read access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of allowed roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles denied read access to + a given property. + + Name of the property. + List of roles denied read access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of denied roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles allowed to write a given + property. + + Name of the property. + List of roles granted write access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of allowed roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles denied write access to + a given property. + + Name of the property. + List of roles denied write access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of denied roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles allowed to read a given + property. + + Name of the property. + List of roles granted read access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of allowed roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles denied read access to + a given property. + + Name of the property. + List of roles denied read access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of denied roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles allowed to write a given + property. + + Name of the property. + List of roles granted write access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of allowed roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Specify the roles denied write access to + a given property. + + Name of the property. + List of roles denied write access. + + This method may be called multiple times, with the roles in + each call being added to the end of the list of denied roles. + In other words, each call is cumulative, adding more roles + to the list. + + + + + Indicates whether the property has a list + of roles granted read access. + + Name of the property. + + + + Indicates whether the current user as defined by + + is explicitly allowed to read the property. + + Name of the property. + + + + Indicates whether the property has a list + of roles denied read access. + + Name of the property. + + + + Indicates whether the current user as defined by + + is explicitly denied read access to the property. + + Name of the property. + + + + Indicates whether the property has a list + of roles granted write access. + + Name of the property. + + + + Indicates whether the current user as defined by + + is explicitly allowed to set the property. + + Name of the property. + + + + Indicates whether the property has a list + of roles denied write access. + + Name of the property. + + + + Indicates whether the current user as defined by + + is explicitly denied write access to the property. + + Name of the property. + + + + Maintains authorization roles for a business object + or business object type. + + + + + Base class from which custom principal + objects should inherit to operate + properly with the data portal. + + + + + Returns the user's identity object. + + + + + Returns a value indicating whether the + user is in a given role. + + Name of the role. + + + + Creates an instance of the object. + + Identity object for the user. + + + + Defines the authorization interface through which an + object can indicate which properties the current + user can read and write. + + + + + Returns if the user is allowed to write the + to the specified property. + + if write is allowed. + Name of the property to read. + + + + Returns if the user is allowed to read the + specified property. + + if read is allowed. + Name of the property to read. + + + + Maintains a list of allowed and denied + user roles for a specific property. + + + + + + Returns a List(Of string) containing the list + of roles allowed read access. + + + + + Returns a List(Of string) containing the list + of roles denied read access. + + + + + Returns a List(Of string) containing the list + of roles allowed write access. + + + + + Returns a List(Of string) containing the list + of roles denied write access. + + + + + Returns if the user is in a role + explicitly allowed read access. + + A + representing the user. + if the user is allowed read access. + + + + + Returns if the user is in a role + explicitly denied read access. + + A + representing the user. + if the user is denied read access. + + + + + Returns if the user is in a role + explicitly allowed write access. + + A + representing the user. + if the user is allowed write access. + + + + + Returns if the user is in a role + explicitly denied write access. + + A + representing the user. + if the user is denied write access. + + + + + Maintains a list of all the per-type + objects + loaded in memory. + + + + + Gets the for the + specified object type, optionally creating a new instance + of the object if necessary. + + + Type of business object for which the rules apply. + + Indicates whether to create + a new instance of the object if one doesn't exist. + + + + Gets a value indicating whether a set of rules + have been created for a given . + + + Type of business object for which the rules apply. + + if rules exist for the type. + + + + Provides a date data type that understands the concept + of an empty date value. + + + See Chapter 5 for a full discussion of the need for this + data type and the design choices behind it. + + + + + Indicates the empty value of a + SmartDate. + + + + + Indicates that an empty SmartDate + is the smallest date. + + + + + Indicates that an empty SmartDate + is the largest date. + + + + + Creates a new SmartDate object. + + Indicates whether an empty date is the min or max date value. + + + + Creates a new SmartDate object. + + Indicates whether an empty date is the min or max date value. + + + + Creates a new SmartDate object. + + + The SmartDate created will use the min possible + date to represent an empty date. + + The initial value of the object. + + + + Creates a new SmartDate object. + + The initial value of the object. + Indicates whether an empty date is the min or max date value. + + + + Creates a new SmartDate object. + + The initial value of the object. + Indicates whether an empty date is the min or max date value. + + + + Creates a new SmartDate object. + + + The SmartDate created will use the min possible + date to represent an empty date. + + The initial value of the object (as text). + + + + Creates a new SmartDate object. + + The initial value of the object (as text). + Indicates whether an empty date is the min or max date value. + + + + Creates a new SmartDate object. + + The initial value of the object (as text). + Indicates whether an empty date is the min or max date value. + + + + Sets the global default format string used by all new + SmartDate values going forward. + + + The default global format string is "d" unless this + method is called to change that value. Existing SmartDate + values are unaffected by this method, only SmartDate + values created after calling this method are affected. + + + The format string should follow the requirements for the + .NET System.String.Format statement. + + + + + Gets or sets the format string used to format a date + value when it is returned as text. + + + The format string should follow the requirements for the + .NET System.String.Format statement. + + A format string. + + + + Gets or sets the date value. + + + + This property can be used to set the date value by passing a + text representation of the date. Any text date representation + that can be parsed by the .NET runtime is valid. + + When the date value is retrieved via this property, the text + is formatted by using the format specified by the + property. The default is the + short date format (d). + + + + + + Gets or sets the date value. + + + + + Returns a text representation of the date value. + + + + + Returns a text representation of the date value. + + + A standard .NET format string. + + + + + Compares this object to another + for equality. + + Object to compare for equality. + + + + Returns a hash code for this object. + + + + + Gets a database-friendly version of the date value. + + + + If the SmartDate contains an empty date, this returns . + Otherwise the actual date value is returned as type Date. + + This property is very useful when setting parameter values for + a Command object, since it automatically stores null values into + the database for empty date values. + + When you also use the SafeDataReader and its GetSmartDate method, + you can easily read a null value from the database back into a + SmartDate object so it remains considered as an empty date value. + + + + + + Gets a value indicating whether this object contains an empty date. + + + + + Gets a value indicating whether an empty date is the + min or max possible date value. + + + Whether an empty date is considered to be the smallest or largest possible + date is only important for comparison operations. This allows you to + compare an empty date with a real date and get a meaningful result. + + + + + Converts a string value into a SmartDate. + + String containing the date value. + A new SmartDate containing the date value. + + EmptyIsMin will default to . + + + + + Converts a string value into a SmartDate. + + String containing the date value. + Indicates whether an empty date is the min or max date value. + A new SmartDate containing the date value. + + + + Converts a text date representation into a Date value. + + + An empty string is assumed to represent an empty date. An empty date + is returned as the MinValue of the Date datatype. + + The text representation of the date. + A Date value. + + + + Converts a text date representation into a Date value. + + + An empty string is assumed to represent an empty date. An empty date + is returned as the MinValue or MaxValue of the Date datatype depending + on the EmptyIsMin parameter. + + The text representation of the date. + Indicates whether an empty date is the min or max date value. + A Date value. + + + + Converts a text date representation into a Date value. + + + An empty string is assumed to represent an empty date. An empty date + is returned as the MinValue or MaxValue of the Date datatype depending + on the EmptyIsMin parameter. + + The text representation of the date. + Indicates whether an empty date is the min or max date value. + A Date value. + + + + Converts a date value into a text representation. + + + The date is considered empty if it matches the min value for + the Date datatype. If the date is empty, this + method returns an empty string. Otherwise it returns the date + value formatted based on the FormatString parameter. + + The date value to convert. + The format string used to format the date into text. + Text representation of the date value. + + + + Converts a date value into a text representation. + + + Whether the date value is considered empty is determined by + the EmptyIsMin parameter value. If the date is empty, this + method returns an empty string. Otherwise it returns the date + value formatted based on the FormatString parameter. + + The date value to convert. + The format string used to format the date into text. + Indicates whether an empty date is the min or max date value. + Text representation of the date value. + + + + Converts a date value into a text representation. + + + Whether the date value is considered empty is determined by + the EmptyIsMin parameter value. If the date is empty, this + method returns an empty string. Otherwise it returns the date + value formatted based on the FormatString parameter. + + The date value to convert. + The format string used to format the date into text. + Indicates whether an empty date is the min or max date value. + Text representation of the date value. + + + + Compares one SmartDate to another. + + + This method works the same as the DateTime.CompareTo method + on the Date datetype, with the exception that it + understands the concept of empty date values. + + The date to which we are being compared. + A value indicating if the comparison date is less than, equal to or greater than this date. + + + + Compares one SmartDate to another. + + + This method works the same as the DateTime.CompareTo method + on the Date datetype, with the exception that it + understands the concept of empty date values. + + The date to which we are being compared. + A value indicating if the comparison date is less than, equal to or greater than this date. + + + + Compares a SmartDate to a text date value. + + The date to which we are being compared. + A value indicating if the comparison date is less than, equal to or greater than this date. + + + + Compares a SmartDate to a date value. + + The date to which we are being compared. + A value indicating if the comparison date is less than, equal to or greater than this date. + + + + Adds a TimeSpan onto the object. + + Span to add to the date. + + + + Subtracts a TimeSpan from the object. + + Span to subtract from the date. + + + + Subtracts a DateTime from the object. + + Date to subtract from the date. + + + + Equality operator + + First object + Second object + + + + + Inequality operator + + First object + Second object + + + + + Equality operator + + First object + Second object + + + + + Inequality operator + + First object + Second object + + + + + Equality operator + + First object + Second object + + + + + Inequality operator + + First object + Second object + + + + + Addition operator + + Original date/time + Span to add + + + + + Subtraction operator + + Original date/time + Span to subtract + + + + + Subtraction operator + + Original date/time + Second date/time + + + + + Greater than operator + + First object + Second object + + + + + Less than operator + + First object + Second object + + + + + Greater than operator + + First object + Second object + + + + + Less than operator + + First object + Second object + + + + + Greater than operator + + First object + Second object + + + + + Less than operator + + First object + Second object + + + + + Greater than or equals operator + + First object + Second object + + + + + Less than or equals operator + + First object + Second object + + + + + Greater than or equals operator + + First object + Second object + + + + + Less than or equals operator + + First object + Second object + + + + + Greater than or equals operator + + First object + Second object + + + + + Less than or equals operator + + First object + Second object + + + + + Provides a sorted view into an existing IList(Of T). + + + Type of child object contained by + the original list or collection. + + + + + Returns an enumerator for the list, honoring + any sort that is active at the time. + + + + + Implemented by IList source object. + + Property on which + to build the index. + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + + + + Applies a sort to the view. + + The text name of the property on which to sort. + The direction to sort the data. + + + + Applies a sort to the view. + + A PropertyDescriptor for the property on which to sort. + The direction to sort the data. + + + + Finds an item in the view + + Name of the property to search + Value to find + + + + Implemented by IList source object. + + Key value for which to search. + Property to search for the key + value. + + + + Gets a value indicating whether the view is currently sorted. + + + + + Raised to indicate that the list's data has changed. + + + This event is raised if the underling IList object's data changes + (assuming the underling IList also implements the IBindingList + interface). It is also raised if the sort property or direction + is changed to indicate that the view's data has changed. See + Chapter 5 for details. + + + + + Raises the event. + + Event arguments. + + + + Implemented by IList source object. + + Property for which the + index should be removed. + + + + Removes any sort currently applied to the view. + + + + + Returns the direction of the current sort. + + + + + Returns the PropertyDescriptor of the current sort. + + + + + Returns since this object does raise the + ListChanged event. + + + + + Implemented by IList source object. + + + + + Returns . Sorting is supported. + + + + + Implemented by IList source object. + + Array to receive the data. + Starting array index. + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + Item to add to the list. + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + Item for which to search. + + + + Implemented by IList source object. + + Item for which to search. + + + + Implemented by IList source object. + + Index at + which to insert the item. + Item to insert. + + + + Implemented by IList source object. + + + + + Implemented by IList source object. + + Item to be removed. + + + + Removes the child object at the specified index + in the list, resorting the display as needed. + + The index of the object to remove. + + See Chapter 5 for details on how and why the list is + altered during the remove process. + + + + + Gets the child item at the specified index in the list, + honoring the sort order of the items. + + The index of the item in the sorted list. + + + + Creates a new view based on the provided IList object. + + The IList (collection) containing the data. + + + + Contains utility methods used by the + CSLA .NET framework. + + + + + Determines whether the specified + value can be converted to a valid number. + + + + + Allows late bound invocation of + properties and methods. + + Object implementing the property or method. + Name of the property or method. + Specifies how to invoke the property or method. + List of arguments to pass to the method. + The result of the property or method invocation. + + + + Returns a property's type, dealing with + Nullable(Of T) if necessary. + + Type of the + property as returned by reflection. + + + + Returns the type of child object + contained in a collection or list. + + Type of the list. + + + + Valid options for calling a property or method + via the method. + + + + + Gets a value from a property. + + + + + Sets a value into a property. + + + + + Invokes a method. + + + + + Sets a value into a property. + + + + + Stores details about a specific broken business rule. + + + + + Provides access to the name of the broken rule. + + The name of the rule. + + + + Provides access to the description of the broken rule. + + The description of the rule. + + + + Provides access to the property affected by the broken rule. + + The property affected by the rule. + + + + Gets the severity of the broken rule. + + + + + + + + A collection of currently broken rules. + + + This collection is readonly and can be safely made available + to code outside the business object such as the UI. This allows + external code, such as a UI, to display the list of broken rules + to the user. + + + + + Gets the number of broken rules in + the collection that have a severity + of Error. + + An integer value. + + + + Gets the number of broken rules in + the collection that have a severity + of Warning. + + An integer value. + + + + Gets the number of broken rules in + the collection that have a severity + of Information. + + An integer value. + + + + Returns the first object + corresponding to the specified property. + + + Code in a business object or UI can also use this value to retrieve + the first broken rule in that corresponds + to a specfic property on the object. + + The name of the property affected by the rule. + + The first BrokenRule object corresponding to the specified property, or null if + there are no rules defined for the property. + + + + + Returns the first object + corresponding to the specified property. + + + Code in a business object or UI can also use this value to retrieve + the first broken rule in that corresponds + to a specfic property. + + The name of the property affected by the rule. + + The first BrokenRule object corresponding to the specified property, or Nothing + (null in C#) if there are no rules defined for the property. + + + + + Returns the first object + corresponding to the specified property + and severity. + + The name of the property affected by the rule. + The severity of broken rule to return. + + The first BrokenRule object corresponding to the specified property, or Nothing + (null in C#) if there are no rules defined for the property. + + + + + Returns the text of all broken rule descriptions, each + separated by a . + + The text of all broken rule descriptions. + + + + Returns the text of all broken rule descriptions, each + separated by a . + + The severity of rules to + include in the result. + The text of all broken rule descriptions + matching the specified severtiy. + + + + Returns a string array containing all broken + rule descriptions. + + The text of all broken rule descriptions + matching the specified severtiy. + + + + Returns a string array containing all broken + rule descriptions. + + The severity of rules + to include in the result. + The text of all broken rule descriptions + matching the specified severtiy. + + + + Implements common business rules. + + + + + Rule ensuring a string value contains one or more + characters. + + Object containing the data to validate + Arguments parameter specifying the name of the string + property to validate + if the rule is broken + + This implementation uses late binding, and will only work + against string property values. + + + + + Rule ensuring a string value doesn't exceed + a specified length. + + Object containing the data to validate + Arguments parameter specifying the name of the string + property to validate + if the rule is broken + + This implementation uses late binding, and will only work + against string property values. + + + + + Custom object required by the + rule method. + + + + + Get the max length for the string. + + + + + Create a new object. + + Name of the property to validate. + Max length of characters allowed. + + + + Return a string representation of the object. + + + + + Rule ensuring an integer value doesn't exceed + a specified value. + + Object containing the data to validate. + Arguments parameter specifying the name of the + property to validate. + if the rule is broken. + + + + Custom object required by the + rule method. + + + + + Get the max value for the property. + + + + + Create a new object. + + Name of the property. + Maximum allowed value for the property. + + + + Return a string representation of the object. + + + + + Rule ensuring an integer value doesn't go below + a specified value. + + Object containing the data to validate. + Arguments parameter specifying the name of the + property to validate. + if the rule is broken. + + + + Custom object required by the + rule method. + + + + + Get the min value for the property. + + + + + Create a new object. + + Name of the property. + Minimum allowed value for the property. + + + + Return a string representation of the object. + + + + + Rule ensuring that a numeric value + doesn't exceed a specified maximum. + + Type of the property to validate. + Object containing value to validate. + Arguments variable specifying the + name of the property to validate, along with the max + allowed value. + + + + Custom object required by the + rule method. + + Type of the property to validate. + + + + Get the max value for the property. + + + + + Create a new object. + + Name of the property. + Maximum allowed value for the property. + + + + Returns a string representation of the object. + + + + + Rule ensuring that a numeric value + doesn't exceed a specified minimum. + + Type of the property to validate. + Object containing value to validate. + Arguments variable specifying the + name of the property to validate, along with the min + allowed value. + + + + Custom object required by the + rule method. + + Type of the property to validate. + + + + Get the min value for the property. + + + + + Create a new object. + + Name of the property. + Minimum allowed value for the property. + + + + Returns a string representation of the object. + + + + + Rule that checks to make sure a value + matches a given regex pattern. + + Object containing the data to validate + RegExRuleArgs parameter specifying the name of the + property to validate and the regex pattern. + False if the rule is broken + + This implementation uses late binding. + + + + + List of built-in regex patterns. + + + + + US Social Security number pattern. + + + + + Email address pattern. + + + + + Custom object required by the + rule method. + + + + + The object used to validate + the property. + + + + + Creates a new object. + + Name of the property to validate. + Built-in regex pattern to use. + + + + Creates a new object. + + Name of the property to validate. + Custom regex pattern to use. + + + + Creates a new object. + + Name of the property to validate. + object to use. + + + f + Returns a string representation of the object. + + + + + Returns the specified built-in regex pattern. + + Pattern to return. + + + + Tracks all information for a rule. + + + + + Gets the priority of the rule method. + + The priority value. + + Priorities are processed in descending + order, so priority 0 is processed + before priority 1, etc. + + + + Gets the name of the rule. + + + The rule's name must be unique and is used + to identify a broken rule in the BrokenRules + collection. + + + + + Returns the name of the field, property or column + to which the rule applies. + + + + + Invokes the rule to validate the data. + + + if the data is valid, + if the data is invalid. + + + + + Object providing extra information to methods that + implement business rules. + + + + + The name of the property to be validated. + + + + + Set by the rule handler method to describe the broken + rule. + + A human-readable description of + the broken rule. + + Setting this property only has an effect if + the rule method returns . + + + + + Gets or sets the severity of the broken rule. + + The severity of the broken rule. + + Setting this property only has an effect if + the rule method returns . + + + + + Gets or sets a value indicating whether this + broken rule should stop the processing of subsequent + rules for this property. + + if no further + rules should be process for this property. + + Setting this property only has an effect if + the rule method returns . + + + + + Creates an instance of RuleArgs. + + The name of the property to be validated. + + + + Return a string representation of the object. + + + + + Delegate that defines the method signature for all rule handler methods. + + + Object containing the data to be validated. + + + Parameter used to pass information to and from + the rule method. + + + if the rule was satisfied. + + + + When implementing a rule handler, you must conform to the method signature + defined by this delegate. You should also apply the Description attribute + to your method to provide a meaningful description for your rule. + + The method implementing the rule must return + if the data is valid and + return if the data is invalid. + + + + + + Delegate that defines the method signature for all rule handler methods. + + Type of the target object. + Type of the arguments parameter. + + Object containing the data to be validated. + + + Parameter used to pass information to and from + the rule method. + + + if the rule was satisfied. + + + + When implementing a rule handler, you must conform to the method signature + defined by this delegate. You should also apply the Description attribute + to your method to provide a meaningful description for your rule. + + The method implementing the rule must return + if the data is valid and + return if the data is invalid. + + + + + + Tracks all information for a rule. + + + + + Returns the name of the method implementing the rule + and the property, field or column name to which the + rule applies. + + + + + Gets the priority of the rule method. + + The priority value + + Priorities are processed in descending + order, so priority 0 is processed + before priority 1, etc. + + + + + Gets the name of the rule. + + + The rule's name must be unique and is used + to identify a broken rule in the BrokenRules + collection. + + + + + Returns the name of the field, property or column + to which the rule applies. + + + + + Creates and initializes the rule. + + The address of the method implementing the rule. + A RuleArgs object. + + + + Creates and initializes the rule. + + The address of the method implementing the rule. + A RuleArgs object. + + Priority for processing the rule (smaller numbers have higher priority, default=0). + + + + + Invokes the rule to validate the data. + + + if the data is valid, + if the data is invalid. + + + + + Tracks all information for a rule. + + Type of the target object. + Type of the arguments parameter. + + + + Returns the name of the method implementing the rule + and the property, field or column name to which the + rule applies. + + + + + Gets the priority of the rule method. + + The priority value + + Priorities are processed in descending + order, so priority 0 is processed + before priority 1, etc. + + + + + Gets the name of the rule. + + + The rule's name must be unique and is used + to identify a broken rule in the BrokenRules + collection. + + + + + Returns the name of the field, property or column + to which the rule applies. + + + + + Returns the name of the field, property or column + to which the rule applies. + + + + + Creates and initializes the rule. + + The address of the method implementing the rule. + A RuleArgs object. + + + + Creates and initializes the rule. + + The address of the method implementing the rule. + A RuleArgs object. + + Priority for processing the rule (smaller numbers have higher priority, default=0). + + + + + Invokes the rule to validate the data. + + True if the data is valid, False if the data is invalid. + + + + Invokes the rule to validate the data. + + + if the data is valid, + if the data is invalid. + + + + + Values for validation rule severities. + + + + + Represents a serious + business rule violation that + should cause an object to + be considered invalid. + + + + + Represents a business rule + violation that should be + displayed to the user, but which + should not make an object be + invalid. + + + + + Represents a business rule + result that should be displayed + to the user, but which is less + severe than a warning. + + + + + Maintains a list of all the per-type + objects + loaded in memory. + + + + + Gets the for the + specified object type, optionally creating a new instance + of the object if necessary. + + + Type of business object for which the rules apply. + + Indicates whether to create + a new instance of the object if one doesn't exist. + + + + Gets a value indicating whether a set of rules + have been created for a given . + + + Type of business object for which the rules apply. + + if rules exist for the type. + + + + Exception class indicating that there was a validation + problem with a business object. + + + + + Creates an instance of the object. + + + + + Creates an instance of the object. + + Message describing the exception. + + + + Creates an instance of the object. + + Message describing the exception. + Inner exception object. + + + + Creates an instance of the object for serialization. + + Serialization context. + Serialization info. + + + + Tracks the business rules broken within a business object. + + + + + Returns an array containing the text descriptions of all + validation rules associated with this object. + + String array. + + + + + Gets or sets the priority through which + CheckRules should process before short-circuiting + processing on broken rules. + + Defaults to 0. + + All rules for each property are processed by CheckRules + though this priority. Rules with lower priorities are + only processed if no previous rule has been marked as + broken. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + Type of the business object to be validated. + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + The priority of the rule, where lower numbers are processed first. + + Type of the business object to be validated. + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + Type of the target object. + Type of the arguments parameter. + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + Type of the target object. + Type of the arguments parameter. + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + + + Adds a rule to the list of rules to be enforced. + + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The propertyName may be used by the method that implements the rule + in order to retrieve the value to be validated. If the rule + implementation is inside the target object then it probably has + direct access to all data. However, if the rule implementation + is outside the target object then it will need to use reflection + or CallByName to dynamically invoke this property to retrieve + the value to be validated. + + + The method that implements the rule. + + The property name on the target object where the rule implementation can retrieve + the value to be validated. + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + Type of the target object. + Type of the arguments parameter. + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + + + Adds a rule to the list of rules to be enforced. + + + A rule is implemented by a method which conforms to the + method signature defined by the RuleHandler delegate. + + Type of the target object. + Type of the arguments parameter. + The method that implements the rule. + + A RuleArgs object specifying the property name and other arguments + passed to the rule method + + + The priority of the rule, where lower numbers are processed first. + + + + + Adds a property to the list of dependencies for + the specified property + + + The name of the property. + + + The name of the depandent property. + + + When rules are checked for propertyName, they will + also be checked for any dependant properties associated + with that property. + + + + + Adds a property to the list of dependencies for + the specified property + + + The name of the property. + + + The name of the depandent property. + + + If then a + reverse dependancy is also established + from dependantPropertyName to propertyName. + + + When rules are checked for propertyName, they will + also be checked for any dependant properties associated + with that property. If isBidirectional is + then an additional association + is set up so when rules are checked for + dependantPropertyName the rules for propertyName + will also be checked. + + + + + Invokes all rule methods associated with + the specified property and any + dependant properties. + + The name of the property to validate. + + + + Invokes all rule methods for all properties + in the object. + + + + + Given a list + containing IRuleMethod objects, this + method executes all those rule methods. + + + + + Returns a value indicating whether there are any broken rules + at this time. + + A value indicating whether any rules are broken. + + + + Returns a reference to the readonly collection of broken + business rules. + + + The reference returned points to the actual collection object. + This means that as rules are marked broken or unbroken over time, + the underlying data will change. Because of this, the UI developer + can bind a display directly to this collection to get a dynamic + display of the broken rules at all times. + + A reference to the collection of broken rules. + + + + Maintains rule methods for a business object + or business object type. + + + + + Adds a property to the list of dependencies for + the specified property + + + The name of the property. + + + The name of the dependant property. + + + When rules are checked for propertyName, they will + also be checked for any dependant properties associated + with that property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Web Forms data binding control designed to support + CSLA .NET business objects as data sources. + + + + + Event raised when an object is to be created and + populated with data. + + Handle this event in a page and set + e.BusinessObject to the populated business object. + + + + + Event raised when an object is to be populated with data + and inserted. + + Handle this event in a page to create an + instance of the object, load the object with data and + insert the object into the database. + + + + Event raised when an object is to be updated. + + Handle this event in a page to update an + existing instance of an object with new data and then + save the object into the database. + + + + Event raised when an object is to be deleted. + + Handle this event in a page to delete + an object from the database. + + + + Returns the default view for this data control. + + Ignored. + + This control only contains a "Default" view. + + + + Get or set the name of the assembly (no longer used). + + Obsolete - do not use. + + + + Get or set the full type name of the business object + class to be used as a data source. + + Full type name of the business class, + including assembly name. + + + + Get or set a value indicating whether the + business object data source supports paging. + + + To support paging, the business object + (collection) must implement + . + + + + + Get or set a value indicating whether the + business object data source supports sorting. + + + + + Returns a Type object based on the + assembly and type information provided. + + Optional assembly name. + Full type name of the class, + including assembly name. + + + + + Returns a list of views available for this control. + + This control only provides the "Default" view. + + + + Raises the SelectObject event. + + + + + Raises the InsertObject event. + + + + + Raises the UpdateObject event. + + + + + Raises the DeleteObject event. + + + + + The object responsible for managing data binding + to a specific CSLA .NET object. + + + + + Creates an instance of the object. + + The CslaDataSource object + that owns this view. + The name of the view. + + + + Get or set the name of the assembly (no longer used). + + Obsolete - do not use. + + + + Get or set the full type name of the business object + class to be used as a data source. + + Full type name of the business class. + + + + Get or set a value indicating whether the + business object data source supports paging. + + + To support paging, the business object + (collection) must implement + . + + + + + Get or set a value indicating whether the + business object data source supports sorting. + + + + + Implements the select behavior for + the control by raising the + event. + + Arguments object. + The data returned from the select. + + + + Gets a value indicating whether the data source can + insert data. + + + + + Implements the insert behavior for + the control by raising the + event. + + The values from + the UI that are to be inserted. + The number of rows affected. + + + + Gets a value indicating whether the data source can + delete data. + + + + + Implements the delete behavior for + the control by raising the + event. + + The key values from + the UI that are to be deleted. + The old values + from the UI. + The number of rows affected. + + + + Gets a value indicating whether the data source can + update data. + + + + + Implements the update behavior for + the control by raising the + event. + + The key values from the UI + that identify the object to be updated. + The values from + the UI that are to be inserted. + The old values + from the UI. + The number of rows affected. + + + + Gets a value indicating whether the data source supports + paging of the data. + + + + + Gets a value indicating whether the data source can + retrieve the total number of rows of data. Always + returns . + + + + + Gets a alue indicating whether the data source supports + sorting of the data. Always returns . + + + + + Argument object used in the DeleteObject event. + + + + + Gets or sets the number of rows affected + while handling this event. + + + + + The code handling the event should set this + value to indicate the number of rows affected + by the operation. + + + + + The list of key values entered by the user. + + It is up to the event handler in the + web page to use the values to identify the + object to be deleted. + + + + The list of old data values maintained by + data binding. + + It is up to the event handler in the + web page to use the values to identify the + object to be deleted. + + + + Create an instance of the object. + + + + + CslaDataSource configuration form. + + + + + Create instance of object. + + + + + Create instance of object. + + Reference to the data source control. + Existing type name. + + + + Gets the type name entered by the user. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Implements designer support for CslaDataSource. + + + + + Initialize the designer component. + + The CslaDataSource control to + be designed. + + + + Returns the default view for this designer. + + Ignored + + + This designer supports only a "Default" view. + + + + + Return a list of available views. + + + This designer supports only a "Default" view. + + + + + Refreshes the schema for the data. + + + + + + + Get a value indicating whether the control can + refresh its schema. + + + + + Invoke the design time configuration + support provided by the control. + + + + + Get a value indicating whether this control + supports design time configuration. + + + + + Get a value indicating whether the control can + be resized. + + + + + Get a reference to the CslaDataSource control being + designed. + + + + + Object responsible for providing details about + data binding to a specific CSLA .NET object. + + + + + Creates an instance of the object. + + + + + Returns a set of sample data used to populate + controls at design time. + + Minimum number of sample rows + to create. + Returns True if the data + is sample data. + + + + Returns schema information corresponding to the properties + of the CSLA .NET business object. + + + All public properties are returned except for those marked + with the Browsable attribute + as False. + + + + + Get a value indicating whether data binding can retrieve + the total number of rows of data. + + + + + Get a value indicating whether data binding can directly + delete the object. + + + If this returns true, the web page must handle the + DeleteObject + event. + + + + + Get a value indicating whether data binding can directly + insert an instance of the object. + + + If this returns true, the web page must handle the + InsertObject + event. + + + + + Get a value indicating whether data binding can directly + update or edit the object. + + + If this returns true, the web page must handle the + UpdateObject + event. + + + + + Gets a value indicating whether the data source supports + paging. + + + + + Gets a value indicating whether the data source supports + sorting. + + + + + Contains schema information for a single + object property. + + + + + Creates an instance of the object. + + The PropertyInfo object + describing the property. + + + + Gets the data type of the property. + + + + + Gets a value indicating whether this property + is an identity key for the object. + + + Returns the optional value provided through + the DataObjectField + attribute on the property. + + + + + Gets a value indicating whether this property + is readonly. + + + + + Gets a value indicating whether this property + must contain a unique value. + + + Always returns True if the property + is marked as a primary key, otherwise + returns False. + + + + + Gets the length of the property value. + + + Returns the optional value provided through + the DataObjectField + attribute on the property. + + + + + Gets the property name. + + + + + Gets a value indicating whether the property + is nullable + + + Returns True for reference types, and for + value types wrapped in the Nullable generic. + The result can also be set to True through + the DataObjectField + attribute on the property. + + + + + Gets the property's numeric precision. + + Always returns -1. + + + + Gets a value indicating whether the property + is a primary key value. + + + Returns the optional value provided through + the DataObjectField + attribute on the property. + + + + + Gets the property's scale. + + Always returns -1. + + + + Object providing access to schema information for + a business object. + + + This object returns only one view, which corresponds + to the business object used by data binding. + + + + + Creates an instance of the object. + + Data source designer object. + Type name for + which the schema should be generated. + + + + Returns a single element array containing the + schema for the CSLA .NET business object. + + + + + Object providing schema information for a + business object. + + + + + Create an instance of the object. + + Site containing the control. + The business class for + which to generate the schema. + + + + Returns a list of child schemas belonging to the + object. + + This schema object only returns + schema for the object itself, so GetChildren will + always return Nothing (null in C#). + + + + Returns schema information for each property on + the object. + + All public properties on the object + will be reflected in this schema list except + for those properties where the + Browsable attribute + is False. + + + + + Returns the name of the schema. + + + + + Argument object used in the InsertObject event. + + + + + Gets or sets the number of rows affected + while handling this event. + + + + + The code handling the event should set this + value to indicate the number of rows affected + by the operation. + + + + + The list of data values entered by the user. + + It is up to the event handler in the + web page to take the list of values, put them + into a business object and to save that object + into the database. + + + + Create an instance of the object. + + + + + Argument object used in the SelectObject event. + + + + + Get or set a reference to the business object + that is created and populated by the SelectObject + event handler in the web page. + + A reference to a CSLA .NET business object. + + + + Gets the sort expression that should be used to + sort the data being returned to the data source + control. + + + + + Gets the property name for the sort if only one + property/column name is specified. + + + If multiple properties/columns are specified + for the sort, you must parse the value from + to find all the + property names and sort directions for the sort. + + + + + Gets the sort direction for the sort if only + one property/column name is specified. + + + If multiple properties/columns are specified + for the sort, you must parse the value from + to find all the + property names and sort directions for the sort. + + + + + Gets the index for the first row that will be + displayed. This should be the first row in + the resulting collection set into the + property. + + + + + Gets the maximum number of rows that + should be returned as a result of this + query. For paged collections, this is the + page size. + + + + + Gets a value indicating whether the + query should return the total row count + through the + + interface. + + + + + Creates an instance of the object, initializing + it with values from data binding. + + Values provided from data binding. + + + + Argument object used in the UpdateObject event. + + + + + Gets or sets the number of rows affected + while handling this event. + + + + + The code handling the event should set this + value to indicate the number of rows affected + by the operation. + + + + + The list of key values entered by the user. + + It is up to the event handler in the + web page to take the list of values, put them + into a business object and to save that object + into the database. + + + + The list of data values entered by the user. + + It is up to the event handler in the + web page to take the list of values, put them + into a business object and to save that object + into the database. + + + + The list of old data values maintained by + data binding. + + It is up to the event handler in the + web page to take the list of values, put them + into a business object and to save that object + into the database. + + + + Creates an instance of the object. + + + + + Windows Forms extender control that resolves the + data refresh issue with data bound detail controls + as discussed in Chapter 5. + + + + + Creates an instance of the object. + + Container of the control. + + + + Gets a value indicating whether the extender control + can extend the specified control. + + The control to be extended. + + This control only extends controls. + + + + + Gets the value of the custom ReadValuesOnChange extender + property added to extended controls. + + Control being extended. + + + + Sets the value of the custom ReadValuesOnChange extender + property added to extended controls. + + Control being extended. + New value of property. + + + + + Windows Forms extender control that automatically + enables and disables detail form controls based + on the authorization settings from a CSLA .NET + business object. + + + + + Creates an instance of the object. + + The container of the control. + + + + Gets a value indicating whether the extender control + can extend the specified control. + + The control to be extended. + + Any control implementing either a ReadOnly property or + Enabled property can be extended. + + + + + Gets the custom ApplyAuthorization extender + property added to extended controls. + + Control being extended. + + + + Sets the custom ApplyAuthorization extender + property added to extended controls. + + Control being extended. + New value of property. + + + + Causes the ReadWriteAuthorization control + to apply authorization rules from the business + object to all extended controls on the form. + + + Call this method to refresh the display of detail + controls on the form any time the authorization + rules may have changed. Examples include: after + a user logs in or out, and after an object has + been updated, inserted, deleted or retrieved + from the database. + + + + diff --git a/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll index e69de29..96b1583 100644 Binary files a/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll and b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll differ diff --git a/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll.config b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll.config new file mode 100644 index 0000000..4de5bad --- /dev/null +++ b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.dll.config @@ -0,0 +1,15 @@ + + + + +
+ + + + + + http://localhost:4804/WSPortalcs/Service.asmx + + + + diff --git a/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.pdb b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.pdb new file mode 100644 index 0000000..d883b2f Binary files /dev/null and b/CSLA/CSLA20cs_DLL_Net_4.8.1_Build/Csla.pdb differ