Пример #1
0
        public InfrastructureLayer.Models.Order UpdateCart(InfrastructureLayer.Models.Order order)
        {
            var  _ctx = Ctx;
            User user = _ctx.Users.Find(order.User.Id);

            if (user == null)
            {
                throw new NullReferenceException("The user not found");
            }
            Order cart = user.Orders.Single(o => o.State == (short)State.Basket);

            cart.OrderItems.Clear();
            foreach (InfrastructureLayer.Models.OrderItem orderItem in order.Items)
            {
                if (orderItem.Product == null || orderItem.Product.Id == null)
                {
                    continue;
                }
                Product product = _ctx.Products.Find(orderItem.Product.Id.Value);
                orderItem.Product = product.ToDto();
                if (product == null)
                {
                    continue;
                }
                cart.OrderItems.Add(new OrderItem
                {
                    Product = product,
                    Count   = orderItem.Count
                });
            }
            _ctx.SaveChanges();
            return(order);
        }
Пример #2
0
 public static InfrastructureLayer.Models.Order ToDto(this Order @this)
 {
     if (@this == null)
     {
         return(null);
     }
     InfrastructureLayer.Models.Order order = new InfrastructureLayer.Models.Order
     {
         Id                 = @this.Id,
         User               = @this.User.ToDto(),
         State              = (State)@this.State,
         SubmitDatePersian  = @this.SubmitDatePersian,
         SentDatePersian    = @this.SentDatePersian,
         DeliverDatePersian = @this.DeliverDatePersian
     };
     order.Items.AddRange(@this.OrderItems.Select(oi => oi.ToDto()));
     return(order);
 }
Пример #3
0
 public InfrastructureLayer.Models.Order Update(InfrastructureLayer.Models.Order item)
 {
     throw new NotImplementedException();
 }