Ejemplo n.º 1
0
        public OrderSummary OrderSummary(Order order)
        {
            var orderSummary = new OrderSummary
            {
                Id            = order.Id,
                Order         = order,
                OrderVariants = new Dictionary <string, int>()
            };

            var departures = new List <Departure>();
            var tours      = new List <Tour>();

            foreach (var orderProductVariant in order.ProductVariants)
            {
                var productVariant = orderProductVariant.ProductVariant;
                if (productVariant != null)
                {
                    orderSummary.OrderVariants.Add(productVariant.Name, orderProductVariant.Quantity);
                    var product = productVariant.Product;
                    if (product != null)
                    {
                        var departure = product.Departure;
                        if (departure != null)
                        {
                            departures.Add(departure);
                            var tour = departure.Tour;
                            if (tour != null)
                            {
                                tours.Add(tour);
                            }
                        }
                    }
                }
            }

            orderSummary.DiscountCodes = (from discountAdjustment in order.Adjustments.OfType <DiscountAdjustment>()
                                          let codeId = discountAdjustment.DiscountCodeId
                                                       where codeId != null
                                                       where codeId.HasValue
                                                       select codeId.Value
                                                       into discountCodeId
                                                       select _discountCodeRepo.Find(discountCodeId)).ToArray();
            orderSummary.Departures = departures.ToArray();
            orderSummary.Tours      = tours.ToArray();
            return(orderSummary);
        }
        public OrderSummary OrderSummary(Order order)
        {
            var orderSummary = new OrderSummary
              {
            Id = order.Id,
            Order = order,
            OrderVariants = new Dictionary<string, int>()
              };

              var departures = new List<Departure>();
              var tours = new List<Tour>();

              foreach (var orderProductVariant in order.ProductVariants)
              {
            var productVariant = orderProductVariant.ProductVariant;
            if (productVariant != null)
            {
              orderSummary.OrderVariants.Add(productVariant.Name, orderProductVariant.Quantity);
              var product = productVariant.Product;
              if (product != null)
              {
            var departure = product.Departure;
            if (departure != null)
            {
              departures.Add(departure);
              var tour = departure.Tour;
              if (tour != null)
                tours.Add(tour);
            }
              }
            }
              }

              orderSummary.DiscountCodes = (from discountAdjustment in order.Adjustments.OfType<DiscountAdjustment>()
            let codeId = discountAdjustment.DiscountCodeId
            where codeId != null
            where codeId.HasValue
            select codeId.Value
            into discountCodeId
            select _discountCodeRepo.Find(discountCodeId)).ToArray();
              orderSummary.Departures = departures.ToArray();
              orderSummary.Tours = tours.ToArray();
              return orderSummary;
        }