public MassiveBusinessObjectCollection <Container> GetAllContainers() { XDocument xml = this.ExecuteStoredProcedure(StoredProcedure.warehouse_p_getContainers); MassiveBusinessObjectCollection <Container> collection = new MassiveBusinessObjectCollection <Container>(); collection.Deserialize(xml.Root.Element("container")); return(collection); }
/// <summary> /// Saves the dictionary to the database. Supports massive modifications. /// </summary> /// <param name="requestXml">Client request xml containing multiple dictionary entries.</param> /// <returns>Xml containing operation result.</returns> public XDocument SaveDictionary(XDocument requestXml) { SessionManager.VolatileElements.ClientRequest = requestXml; XDocument modifiedXml = requestXml; BusinessObjectType boType = (BusinessObjectType)Enum.Parse(typeof(BusinessObjectType), ((XElement)modifiedXml.Root.FirstNode).Name.LocalName, true); if (boType == BusinessObjectType.ContractorField) { MassiveBusinessObjectCollection <ContractorField> modifiedCollection = new MassiveBusinessObjectCollection <ContractorField>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetContractorFields(); MassiveBusinessObjectCollection <ContractorField> originalCollection = new MassiveBusinessObjectCollection <ContractorField>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ContractorField>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ContractorRelationType) { MassiveBusinessObjectCollection <ContractorRelationType> modifiedCollection = new MassiveBusinessObjectCollection <ContractorRelationType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetContractorRelationTypes(); MassiveBusinessObjectCollection <ContractorRelationType> originalCollection = new MassiveBusinessObjectCollection <ContractorRelationType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ContractorRelationType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.Country) { MassiveBusinessObjectCollection <Country> modifiedCollection = new MassiveBusinessObjectCollection <Country>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetCountries(); MassiveBusinessObjectCollection <Country> originalCollection = new MassiveBusinessObjectCollection <Country>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <Country>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.Currency) { MassiveBusinessObjectCollection <Currency> modifiedCollection = new MassiveBusinessObjectCollection <Currency>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetCurrencies(); MassiveBusinessObjectCollection <Currency> originalCollection = new MassiveBusinessObjectCollection <Currency>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <Currency>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.DocumentField) { MassiveBusinessObjectCollection <DocumentField> modifiedCollection = new MassiveBusinessObjectCollection <DocumentField>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetDocumentFields(); MassiveBusinessObjectCollection <DocumentField> originalCollection = new MassiveBusinessObjectCollection <DocumentField>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <DocumentField>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.DocumentFieldRelation) { MassiveBusinessObjectCollection <DocumentFieldRelation> modifiedCollection = new MassiveBusinessObjectCollection <DocumentFieldRelation>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetDocumentFieldRelations(); MassiveBusinessObjectCollection <DocumentFieldRelation> originalCollection = new MassiveBusinessObjectCollection <DocumentFieldRelation>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <DocumentFieldRelation>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.DocumentNumberComponent) { MassiveBusinessObjectCollection <DocumentNumberComponent> modifiedCollection = new MassiveBusinessObjectCollection <DocumentNumberComponent>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetDocumentNumberComponents(); MassiveBusinessObjectCollection <DocumentNumberComponent> originalCollection = new MassiveBusinessObjectCollection <DocumentNumberComponent>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <DocumentNumberComponent>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.DocumentType) { MassiveBusinessObjectCollection <DocumentType> modifiedCollection = new MassiveBusinessObjectCollection <DocumentType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetDocumentTypes(); MassiveBusinessObjectCollection <DocumentType> originalCollection = new MassiveBusinessObjectCollection <DocumentType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <DocumentType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.IssuePlace) { MassiveBusinessObjectCollection <IssuePlace> modifiedCollection = new MassiveBusinessObjectCollection <IssuePlace>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetIssuePlaces(); MassiveBusinessObjectCollection <IssuePlace> originalCollection = new MassiveBusinessObjectCollection <IssuePlace>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <IssuePlace>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ItemField) { MassiveBusinessObjectCollection <ItemField> modifiedCollection = new MassiveBusinessObjectCollection <ItemField>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetItemFields(); MassiveBusinessObjectCollection <ItemField> originalCollection = new MassiveBusinessObjectCollection <ItemField>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ItemField>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ItemRelationAttrValueType) { MassiveBusinessObjectCollection <ItemRelationAttrValueType> modifiedCollection = new MassiveBusinessObjectCollection <ItemRelationAttrValueType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetItemRelationAttrValueTypes(); MassiveBusinessObjectCollection <ItemRelationAttrValueType> originalCollection = new MassiveBusinessObjectCollection <ItemRelationAttrValueType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ItemRelationAttrValueType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ItemRelationType) { MassiveBusinessObjectCollection <ItemRelationType> modifiedCollection = new MassiveBusinessObjectCollection <ItemRelationType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetItemRelationTypes(); MassiveBusinessObjectCollection <ItemRelationType> originalCollection = new MassiveBusinessObjectCollection <ItemRelationType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ItemRelationType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ItemType) { MassiveBusinessObjectCollection <ItemType> modifiedCollection = new MassiveBusinessObjectCollection <ItemType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetItemTypes(); MassiveBusinessObjectCollection <ItemType> originalCollection = new MassiveBusinessObjectCollection <ItemType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ItemType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.JobPosition) { MassiveBusinessObjectCollection <JobPosition> modifiedCollection = new MassiveBusinessObjectCollection <JobPosition>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetJobPositions(); MassiveBusinessObjectCollection <JobPosition> originalCollection = new MassiveBusinessObjectCollection <JobPosition>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <JobPosition>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.NumberSetting) { MassiveBusinessObjectCollection <NumberSetting> modifiedCollection = new MassiveBusinessObjectCollection <NumberSetting>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetNumberSettings(); MassiveBusinessObjectCollection <NumberSetting> originalCollection = new MassiveBusinessObjectCollection <NumberSetting>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <NumberSetting>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.PaymentMethod) { MassiveBusinessObjectCollection <PaymentMethod> modifiedCollection = new MassiveBusinessObjectCollection <PaymentMethod>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetPaymentMethods(); MassiveBusinessObjectCollection <PaymentMethod> originalCollection = new MassiveBusinessObjectCollection <PaymentMethod>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <PaymentMethod>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.Unit) { MassiveBusinessObjectCollection <Unit> modifiedCollection = new MassiveBusinessObjectCollection <Unit>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetUnits(); MassiveBusinessObjectCollection <Unit> originalCollection = new MassiveBusinessObjectCollection <Unit>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <Unit>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.UnitType) { MassiveBusinessObjectCollection <UnitType> modifiedCollection = new MassiveBusinessObjectCollection <UnitType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetUnitTypes(); MassiveBusinessObjectCollection <UnitType> originalCollection = new MassiveBusinessObjectCollection <UnitType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <UnitType>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.VatRate) { MassiveBusinessObjectCollection <VatRate> modifiedCollection = new MassiveBusinessObjectCollection <VatRate>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetVatRates(); MassiveBusinessObjectCollection <VatRate> originalCollection = new MassiveBusinessObjectCollection <VatRate>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <VatRate>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.Warehouse) { MassiveBusinessObjectCollection <Warehouse> modifiedCollection = new MassiveBusinessObjectCollection <Warehouse>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetVatRates(); MassiveBusinessObjectCollection <Warehouse> originalCollection = new MassiveBusinessObjectCollection <Warehouse>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <Warehouse>(modifiedCollection, originalCollection); } else if (boType == BusinessObjectType.ContainerType) { MassiveBusinessObjectCollection <ContainerType> modifiedCollection = new MassiveBusinessObjectCollection <ContainerType>(); modifiedCollection.Deserialize((XElement)modifiedXml.Root.FirstNode); XDocument originalXml = DictionaryMapper.Instance.GetContainerTypes(); MassiveBusinessObjectCollection <ContainerType> originalCollection = new MassiveBusinessObjectCollection <ContainerType>(); originalCollection.Deserialize((XElement)originalXml.Root.FirstNode); modifiedCollection.SetAlternateVersion(originalCollection); this.SaveMassiveBusinessObjectCollection <ContainerType>(modifiedCollection, originalCollection); } else { throw new InvalidOperationException("Unknown dictionary object."); } return(XDocument.Parse("<root>ok</root>")); }