Exemple #1
0
        private static List <PriceTable> getOrderProductsList(XmlNode orderProductsListNode, ProductClassList productsList)
        {
            List <PriceTable> priceMatrix = new List <PriceTable>();

            try
            {
                foreach (XmlNode orderProductsListBranch in orderProductsListNode)//priceMatrix level
                {
                    PriceTable priceTable = new PriceTable();

                    XmlNodeList orderProductRowParametersList = orderProductsListBranch.ChildNodes;

                    foreach (XmlNode orderProductRowParameter in orderProductRowParametersList)//priceMatrix parameters level
                    {
                        XMLOrderFields XMLSuppliersListField = (XMLOrderFields)Enum.Parse(typeof(XMLOrderFields), orderProductRowParameter.Name, true);

                        switch (XMLSuppliersListField)
                        {
                        case XMLOrderFields.OrderProductsListBranch_ProductID:
                        {
                            ProductClass product = productsList.GetProduct(orderProductRowParameter.InnerText);
                            if (product == null)
                            {
                                MessageBox.Show("Wrong Product in Supplier Matrix", "Error");
                            }
                            priceTable.Product = product;
                            break;
                        }

                        case XMLOrderFields.OrderProductsListBranch_Amount:
                            priceTable.Amount = int.Parse(orderProductRowParameter.InnerText);
                            break;

                        case XMLOrderFields.OrderProductsListBranch_Price:
                            priceTable.Price = double.Parse(orderProductRowParameter.InnerText);
                            break;

                        default:
                            break;
                        } //end switch
                    }     //end piceMatrix parameters level
                    priceMatrix.Add(priceTable);
                }         //end priceMatrix level
            }             //end try
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return(null);
            }
            return(priceMatrix);
        }
Exemple #2
0
        public static OrdersList Parse(XmlNodeList OrderNodeList, InitDataLoad initDataLoad, Order.OrderTypeEnum orderType)
        {
            ProductClassList productsList      = initDataLoad.MetaData.ProductsMetaData;
            SuppliersList    SuppliersMetaData = initDataLoad.MetaData.SuppliersMetaData;
            OrdersList       orderList         = new OrdersList();

            foreach (XmlNode customerOrderNode in OrderNodeList)//orders level
            {
                Order    order    = new Order(orderType);
                Customer customer = new Customer();

                foreach (XmlNode orderParameter in customerOrderNode)//order parts level
                {
                    XMLOrderFields XMLcustomerOrderField = (XMLOrderFields)Enum.Parse(typeof(XMLOrderFields), orderParameter.Name, true);

                    switch (XMLcustomerOrderField)
                    {
                    case XMLOrderFields.PersonName:
                        customer.Name = orderParameter.InnerText;
                        break;

                    case XMLOrderFields.PersonID:
                        customer.ID = orderParameter.InnerText;
                        break;

                    case XMLOrderFields.OrderID:
                        order.OrderID = orderParameter.InnerText;
                        break;

                    case XMLOrderFields.OrderDate:
                        order.OrderDate = DateTime.Parse(orderParameter.InnerText);
                        break;

                    case XMLOrderFields.OrderDeliveryDate:
                        order.OrderDeliveryDate = DateTime.Parse(orderParameter.InnerText);
                        break;

                    case XMLOrderFields.Order_Status:
                        order.OrderStatus = (Order.OrderStatusEnum)Enum.Parse(typeof(Order.OrderStatusEnum), orderParameter.InnerText, true);
                        break;

                    case XMLOrderFields.OrderProductsList:
                        order.OrderProductsList = getOrderProductsList(orderParameter, productsList);
                        break;

                    default:
                        break;
                    } //end switch
                }     // end order parts level
                if (orderType == Order.OrderTypeEnum.CustomerOrder)
                {
                    order.Person = customer;
                }
                else
                {
                    order.Person = SuppliersMetaData.GetSupplier(customer.ID);
                }

                orderList.AddOrder(order);
            }//end orders level



            return(orderList);
        }