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); }
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); }