示例#1
0
        /// <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);
            }
        }
示例#2
0
        /// <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);
            }
        }