Ejemplo n.º 1
0
        private static List <Supplier.PriceMatrixStruct> getSupplierPriceMatrix(XmlNode priceMatrixNode, ProductClassList productsList)
        {
            List <Supplier.PriceMatrixStruct> priceMatrix = new List <Supplier.PriceMatrixStruct>();

            try
            {
                foreach (XmlNode supplierPriceMatrixBranch in priceMatrixNode)
                {
                    Supplier.PriceMatrixStruct priceMatrixRow = new Supplier.PriceMatrixStruct();

                    XmlNodeList priceMatrixRowParametersList = supplierPriceMatrixBranch.ChildNodes;

                    foreach (XmlNode priceMatrixRowParameter in priceMatrixRowParametersList)
                    {
                        XMLSuppliersListFields XMLSuppliersListField = (XMLSuppliersListFields)Enum.Parse(typeof(XMLSuppliersListFields), priceMatrixRowParameter.Name, true);

                        switch (XMLSuppliersListField)
                        {
                        case XMLSuppliersListFields.SupplierPriceMatrixBranch_ProductID:
                        {
                            ProductClass product = productsList.GetProduct(priceMatrixRowParameter.InnerText);
                            if (product == null)
                            {
                                MessageBox.Show("Wrong Product in Supplier Matrix", "Error");
                            }
                            priceMatrixRow.product = product;
                            break;
                        }

                        case XMLSuppliersListFields.SupplierPriceMatrixBranch_UnitPrice:
                            priceMatrixRow.UnitPrice = double.Parse(priceMatrixRowParameter.InnerText);
                            break;

                        case XMLSuppliersListFields.SupplierPriceMatrixBranch_LeadTime:
                            priceMatrixRow.LeadTime = int.Parse(priceMatrixRowParameter.InnerText);
                            break;

                        default:
                            break;
                        }
                    }
                    priceMatrix.Add(priceMatrixRow);
                }
            }
            catch (Exception)
            {
                return(null);
            }
            return(priceMatrix);
        }
Ejemplo n.º 2
0
        public static SuppliersList Parse(XmlNodeList suppliersNodeList, InitDataLoad initdataLoad)
        {
            ProductClassList productsList  = initdataLoad.MetaData.ProductsMetaData;
            SuppliersList    suppliersList = new SuppliersList();

            foreach (XmlNode supplierNode in suppliersNodeList)
            {
                Supplier supplier = new Supplier();

                foreach (XmlNode supplierParameter in supplierNode)
                {
                    XMLSuppliersListFields XMLSuppliersListField = (XMLSuppliersListFields)Enum.Parse(typeof(XMLSuppliersListFields), supplierParameter.Name, true);

                    switch (XMLSuppliersListField)
                    {
                    case XMLSuppliersListFields.SupplierID:
                        supplier.ID = supplierParameter.InnerText;
                        break;

                    case XMLSuppliersListFields.SupplierName:
                        supplier.Name = supplierParameter.InnerText;
                        break;

                    case XMLSuppliersListFields.SupplierReliability:
                        supplier.Reliability = double.Parse(supplierParameter.InnerText);
                        break;

                    case XMLSuppliersListFields.SupplierPriceMatrix:
                        supplier.PriceMatrix = getSupplierPriceMatrix(supplierParameter, productsList);
                        break;

                    default:
                        break;
                    }
                }
                suppliersList.AddSupplier(supplier);
            }
            return(suppliersList);
        }