コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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>"));
        }