clsProviderRelationshipCollection¶
API reference for clsProviderRelationshipCollection.
Purpose¶
- Collection wrapper (
clsBusinessCollection(Of clsProviderRelationship)) that retrieves the set of relationships for a provider location. - Nested
CriteriaimplementsIBusinessCriteriaand supplies its ownRetrieveSQL.
Context¶
- Namespace:
SAIF.Business.View.Provider - Assembly/package:
SAIF.BOF.Business.View.Provider
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| RelationshipTypes | Public Enum RelationshipTypes: Child, Parent |
Enumerates which side (child or parent) of a relationship a given clsProviderLocation occupies. |
| ActiveOnly | Property ActiveOnly() As Boolean |
Gets or sets whether WorksFor (parameterless overload) restricts results to currently active relationships; defaults to True. |
| ProviderLocationID | ReadOnly Property ProviderLocationID() As Decimal |
Returns the provider location this collection's relationships were queried against. |
| ProviderLocations | ReadOnly Property ProviderLocations() As clsProviderLocationCollection |
Lazily builds and returns a clsProviderLocationCollection containing each relationship's DestinationProviderLocation; cached until the underlying list changes. |
| WorksFor() | ReadOnly Property WorksFor() As clsProviderRelationshipCollection |
Returns relationships with ProviderRelationshipCode = "WRK", additionally filtered to IsActive when ActiveOnly is True. |
| WorksFor(activeDate) | ReadOnly Property WorksFor(ByVal activeDate As Date) As clsProviderRelationshipCollection |
Returns "WRK" relationships whose StartDate/TerminationDate range includes activeDate (treating Date.MinValue termination as Date.MaxValue). |
| Item(Index) | Default Shadows ReadOnly Property Item(ByVal Index As Integer) As clsProviderRelationship |
Returns the relationship at the supplied collection index. |
| Item(inProviderLocationID) | Default Shadows ReadOnly Property Item(ByVal inProviderLocationID As Decimal) As clsProviderRelationship |
Returns the relationship whose ChildProviderLocationID matches the supplied value, or Nothing. |
| MyCriteria | ReadOnly Property MyCriteria() As Criteria |
Returns the object's Criteria instance, strongly typed from CriteriaObject. |
| Add | Shadows Function Add(ByVal inProviderRelationship As clsProviderRelationship) As Integer |
Adds a relationship to the collection through the BOF base implementation, clearing the cached ProviderLocations collection. |
| Contains(inProviderRelationship) | Overloads Function Contains(ByVal inProviderRelationship As clsProviderRelationship) As Boolean |
Returns whether the active list contains a relationship equal to inProviderRelationship. |
| Contains(inProviderLocationID) | Overloads Function Contains(ByVal inProviderLocationID As Decimal) As Boolean |
Returns whether the active list contains a relationship whose ChildProviderLocationID matches (via clsProviderRelationship.Equals(Decimal)). |
| ContainsDeleted(inProviderRelationship) | Overloads Function ContainsDeleted(ByVal inProviderRelationship As clsProviderRelationship) As Boolean |
Returns whether the deleted-items list contains a relationship equal to inProviderRelationship. |
| ContainsDeleted(inProviderLocationID) | Overloads Function ContainsDeleted(ByVal inProviderLocationID As Decimal) As Boolean |
Returns whether the deleted-items list contains a relationship whose ChildProviderLocationID matches the supplied value. |
| Save() | Overrides Function Save() As Boolean |
Applies the pending edit transaction, then persists the collection through the BOF base Save(). |
| Where | Function Where(ByVal match As Predicate(Of clsProviderRelationship)) As clsProviderRelationshipCollection |
Returns a new collection containing only the members matching the supplied predicate (delegates to ListWhere). |
| GetChildProviderRelationshipCollection | Shared Function GetChildProviderRelationshipCollection(ByVal inDataportal As IDataPortalInfo, ByVal inProviderLocationID As Decimal) As clsProviderRelationshipCollection |
Retrieves the relationships where the given location is the parent (i.e., its children) through SQL-013. |
| GetParentProviderRelationshipCollection | Shared Function GetParentProviderRelationshipCollection(ByVal inDataportal As IDataPortalInfo, ByVal inProviderLocationID As Decimal) As clsProviderRelationshipCollection |
Retrieves the relationships where the given location is the child (i.e., its parents) through SQL-014. |
Behavioral notes¶
BeforeRetrievesuppliesProviderLocationIDas the single bind parameter;AfterRetrievereads each row into both a newclsProviderRelationship(via its internalLoad(...), which also constructs the destinationclsProviderLocationfrom the same row) and the parallelProviderLocationscache, adding both to their respective lists.- The
Criteria.RetrieveSQLproperty selects between two hand-written SQL statements based onSourceRelationshipType:RetrieveParentRelationshipsSQL(documented as SQL-014) when the source is a Child, andRetrieveChildRelationshipsSQL(documented as SQL-013) otherwise — this indirection is whyGetChildProviderRelationshipCollectionpassesRelationshipTypes.ParentandGetParentProviderRelationshipCollectionpassesRelationshipTypes.Childto theCriteriaconstructor. - The nested
CriteriathrowsApplicationExceptionfromCreateSQL,InsertSQL,UpdateSQL, andDeleteSQL; the collection is retrieve-only for new-row creation even thoughSave()applies pending edits to already-loaded members.
Constraints and usage notes¶
- Instances are constructed only through
GetChildProviderRelationshipCollection(...)orGetParentProviderRelationshipCollection(...); theProtectedconstructor (which setsallowedit/allowremove/allowsort/allowfindtoTrue) is not part of the public surface.
Inherited members (from clsBusinessCollectionBase via clsBusinessCollection(Of T))¶
This collection type inherits the following public surface from clsBusinessCollectionBase (Legacy\BusinessObjectFramework\clsBusinessCollectionBase.vb), in addition to the members listed above:
| Member | Signature | Purpose |
|---|---|---|
| Item | Default Public ReadOnly Property Item(ByVal index As Integer) As clsBusinessBase |
Returns the collection member at the given index (default indexer). |
| Add | Sub Add(ByVal inChild As clsBusinessBase) |
Adds a child business object to the collection. |
| Remove | Sub Remove(ByVal inChild As clsBusinessBase) |
Marks a child business object as deleted and removes it from the active list. |
| ItemByGuid | ReadOnly Property ItemByGuid(ByVal inGuid As String) As clsBusinessBase |
Returns the collection member matching the given internal GUID. |
| MyGuid | ReadOnly Property MyGuid() As String |
Returns the internal GUID that uniquely identifies this in-memory collection instance. |
| IsDirty | ReadOnly Property IsDirty() As Boolean |
Indicates whether the collection or any child member has unsaved changes. |
| IsValid | Overridable ReadOnly Property IsValid() As Boolean |
Indicates whether all child members currently have no broken validation rules. |
| ValidateAllChildren | Overridable Property ValidateAllChildren() As Boolean |
Controls whether every child is validated or only the current item. |
| Rules | ReadOnly Property Rules() As clsRulesManager |
Returns the rules manager that tracks broken rules for the collection. |
| ErrorCount / ErrorMessages | ReadOnly Property ErrorCount() As Integer / ReadOnly Property ErrorMessages() As String() |
Returns the count and text of broken error-severity rules across the collection. |
| WarningCount / WarningMessages | ReadOnly Property WarningCount() As Integer / ReadOnly Property WarningMessages() As String() |
Returns the count and text of broken warning-severity rules across the collection. |
| InformationalCount / InformationalMessages | ReadOnly Property InformationalCount() As Integer / ReadOnly Property InformationalMessages() As String() |
Returns the count and text of broken informational-severity rules across the collection. |
| BeginEdit / CancelEdit / ApplyEdit | Sub BeginEdit() / Sub CancelEdit() / Sub ApplyEdit() |
Begins, rolls back, or commits an edit transaction across the collection. |
| SaveChild | Overridable Function SaveChild() As Boolean |
Persists the collection as a child of a parent object. |
| Clone | Function Clone() As Object |
Returns a deep copy of the collection and its members. |
| IsManaged | ReadOnly Property IsManaged() As Boolean |
Indicates whether the collection is managed by a parent object's lifecycle. |
| First / FirstItem | Function First() As clsBusinessBase / ReadOnly Property FirstItem() As clsBusinessBase |
Moves to and/or returns the first item in traversal order. |
| Next / NextItem | Function [Next]() As clsBusinessBase / ReadOnly Property NextItem() As clsBusinessBase |
Moves to and/or returns the next item in traversal order. |
| Previous / PreviousItem | Function Previous() As clsBusinessBase / ReadOnly Property PreviousItem() As clsBusinessBase |
Moves to and/or returns the previous item in traversal order. |
| Last / LastItem | Function Last() As clsBusinessBase / ReadOnly Property LastItem() As clsBusinessBase |
Moves to and/or returns the last item in traversal order. |
| CurrentIndex | ReadOnly Property CurrentIndex() As Integer |
Returns the index of the current traversal item. |
| SetCurrent | Sub SetCurrent(ByRef inObject As clsBusinessBase) / Sub SetCurrent(ByVal inIndex As Integer) |
Sets the current traversal position by item or index. |
| IndexOf | ReadOnly Property IndexOf(ByVal inObject As clsBusinessBase) As Integer |
Returns the index of the given item within the collection. |
| IsFirst / IsNext / IsLast / IsPrevious / IsCurrent | ReadOnly Property IsFirst(ByVal inItem As clsBusinessBase) As Boolean (and analogous overloads) |
Indicate an item's position relative to the current traversal state. |
| XMLElementName / XMLItemName | Property XMLElementName() As String / Property XMLItemName() As String |
Get or set the XML element/item names used when serializing the collection. |
| GetReportXML | Function GetReportXML(ByVal inElementName As String) As String (and file-stream overload) |
Returns an XML fragment representing the collection and its members. |
| ToXML / ToXml | Function ToXML() As String / Function ToXml(ByVal inTagName As String) As String |
Serializes the collection to XML using the default or a supplied tag name. |
Sources¶
Business\SAIF.Business.View.Provider\clsProviderRelationshipCollection.vb