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