Пример #1
0
        public static Stock MapStock(XpoStock xpoStock)
        {
            var stock = new Stock(xpoStock.Name)
            {
                id           = xpoStock.Oid,
                Wilaya       = MapWilaya(xpoStock.Wilaya),
                Commune      = MapCommune(xpoStock.Commune),
                Adress       = xpoStock.Adress,
                ProductLines = MapProdcutLine(xpoStock.ProductLines),
            };

            return(stock);
        }
Пример #2
0
        public static XpoStock MapStock(Stock stock, UnitOfWork uow)
        {
            XpoStock xpoStock;

            if (stock.newObject)
            {
                xpoStock = new XpoStock(uow)
                {
                    Oid = stock.id
                };
            }
            else
            {
                xpoStock = uow.GetObjectByKey <XpoStock>(stock.id);
            }

            xpoStock.Name    = stock.Name;
            xpoStock.Wilaya  = MapWilaya(stock.Wilaya, uow);
            xpoStock.Commune = MapCommune(stock.Commune, uow);
            xpoStock.Adress  = stock.Adress;

            if (stock.ProductLines == null)
            {
                return(xpoStock);
            }
            foreach (var pl in stock.ProductLines)
            {
                var            crierion = new Criterion(propertyName: "Name", value: pl.Product.Name, criteriaOperator: CriteriaOperator.Equal);
                XpoProductLine productLineReturned;
                if (pl.newObject)
                {
                    productLineReturned = new XpoProductLine(uow)
                    {
                        Oid = pl.id
                    };
                }
                else
                {
                    productLineReturned = uow.GetObjectByKey <XpoProductLine>(pl.id);
                }

                productLineReturned.Quantity = pl.Quantity;
                productLineReturned.Product  = uow.GetObjectByKey <XpoProduct>(pl.Product.id);
                productLineReturned.Stock    = xpoStock;
            }
            return(xpoStock);
        }