Example #1
0
        // Incorporate an external order into business objects

        public static OO.Order XmlOrder2OoOrder(XmlOns.Order o)
        {
            return(new OO.Order {
                Cust = OO.Customer.Lookup(o.CustId),
                Items = (from i in o.Item
                         select new OO.Item {
                    Prod = OO.Product.Lookup(i.ProdId),
                    Price = i.Price,
                    Quantity = i.Quantity
                }).ToList()
            });
        }
Example #2
0
        // Additional preconditions on incorporation

        public static void Check(XmlOns.Order o)
        {
            double gain = 0;

            if (OO.Customer.Lookup(o.CustId) == null)
            {
                throw new OO.BizException("Unknown customer");
            }
            foreach (var i in o.Item)
            {
                var p = OO.Product.Lookup(i.ProdId);
                if (p == null)
                {
                    throw new OO.BizException("Unknown product");
                }
                gain += i.Price * i.Quantity - p.Price * p.Quantity;
            }
            if (gain <= 0.0)
            {
                throw new OO.BizException("No BizCase");
            }
        }