/// <summary> /// Creates communication xml for contractor group memberships of the specified <see cref="Contractor"/>. /// </summary> /// <param name="contractor"><see cref="Contractor"/> that may contains the contractor group memberships.</param> /// <param name="localTransactionId">Local transaction ID.</param> /// <param name="deferredTransactionId">Deferred transaction ID.</param> private void CreateCommunicationXmlForContractorGroupMemberships(Contractor contractor, Guid localTransactionId, Guid deferredTransactionId) { XDocument commXml = null; if (contractor.GroupMemberships.AlternateVersion != null) { commXml = this.GenerateCommunicationXmlForRelations(contractor, BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ContractorGroupMembership>, ContractorGroupMembership>(contractor.GroupMemberships.Children), BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ContractorGroupMembership>, ContractorGroupMembership>(contractor.GroupMemberships.AlternateVersion.Children), localTransactionId, deferredTransactionId); } else { commXml = this.GenerateCommunicationXmlForRelations(contractor, BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ContractorGroupMembership>, ContractorGroupMembership>(contractor.GroupMemberships.Children), null, localTransactionId, deferredTransactionId); } if (commXml.Root.HasElements) { this.ExecuteStoredProcedure(StoredProcedure.communication_p_createContractorGroupMembershipPackage, false, commXml); } }
/// <summary> /// Creates communication xml for item unit relations of the specified <see cref="Item"/>. /// </summary> /// <param name="item"><see cref="Item"/> that may contains the item unit relations.</param> /// <param name="localTransactionId">Local transaction ID.</param> /// <param name="deferredTransactionId">Deferred transaction ID.</param> private void CreateCommunicationXmlForItemUnitRelations(Item item, Guid localTransactionId, Guid deferredTransactionId) { XDocument commXml = null; if (item.Relations.AlternateVersion != null) { commXml = this.GenerateCommunicationXmlForRelations(item, BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ItemUnitRelation>, ItemUnitRelation>(item.UnitRelations.Children), BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ItemUnitRelation>, ItemUnitRelation>(item.UnitRelations.AlternateVersion.Children), localTransactionId, deferredTransactionId); } else { commXml = this.GenerateCommunicationXmlForRelations(item, BusinessObjectHelper.ConvertToDictionaryRelation <ICollection <ItemUnitRelation>, ItemUnitRelation>(item.UnitRelations.Children), null, localTransactionId, deferredTransactionId); } if (commXml.Root.HasElements) { this.ExecuteStoredProcedure(StoredProcedure.communication_p_createItemUnitRelationPackage, false, commXml); } }