Skip to content

clsProviderRelationshipCollection

API reference for clsProviderRelationshipCollection.

Purpose

  • Collection wrapper (clsBusinessCollection(Of clsProviderRelationship)) that retrieves the set of relationships for a provider location.
  • Nested Criteria implements IBusinessCriteria and supplies its own RetrieveSQL.

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

  • BeforeRetrieve supplies ProviderLocationID as the single bind parameter; AfterRetrieve reads each row into both a new clsProviderRelationship (via its internal Load(...), which also constructs the destination clsProviderLocation from the same row) and the parallel ProviderLocations cache, adding both to their respective lists.
  • The Criteria.RetrieveSQL property selects between two hand-written SQL statements based on SourceRelationshipType: RetrieveParentRelationshipsSQL (documented as SQL-014) when the source is a Child, and RetrieveChildRelationshipsSQL (documented as SQL-013) otherwise — this indirection is why GetChildProviderRelationshipCollection passes RelationshipTypes.Parent and GetParentProviderRelationshipCollection passes RelationshipTypes.Child to the Criteria constructor.
  • The nested Criteria throws ApplicationException from CreateSQL, InsertSQL, UpdateSQL, and DeleteSQL; the collection is retrieve-only for new-row creation even though Save() applies pending edits to already-loaded members.

Constraints and usage notes

  • Instances are constructed only through GetChildProviderRelationshipCollection(...) or GetParentProviderRelationshipCollection(...); the Protected constructor (which sets allowedit/allowremove/allowsort/allowfind to True) 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