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); }
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); }
public InfrastructureLayer.Models.Order Update(InfrastructureLayer.Models.Order item) { throw new NotImplementedException(); }