示例#1
0
        private void FillOrderGoods(Order order)
        {
            var dataGios = _goodsInOrderGateway.SelectByOrder(order.OrderId);
            var gios     = Mapper.Map <List <GoodsInOrder> >(dataGios);

            foreach (var goodsInOrder in gios)
            {
                try
                {
                    if (goodsInOrder.PackId.HasValue)
                    {
                        goodsInOrder.Pack = _shopPackService.GetPack(goodsInOrder.PackId.Value);
                    }
                    goodsInOrder.Goods = _shopService.GetGoods(goodsInOrder.HeartId);
                }
                catch (GoodsNotFoundException)
                {
                    //TODO: заплатка на скорую руку. Разрулить
                    GoodsItemGateway gateway = new GoodsItemGateway();
                    var goods = gateway.SelectOne(goodsInOrder.HeartId);
                    if (goods != null)
                    {
                        goodsInOrder.Goods = Mapper.Map <GoodsItem>(goods);
                    }
                    else
                    {
                        goodsInOrder.Goods = new GoodsItem()
                        {
                            Name = "Товар более не доступен"
                        };
                    }
                }
            }
            order.GoodsInOrder = gios;
        }