public async Task <ActionResult> CreateOrder(OrderCartListViewModel orderCartListViewModel) { //if (OrderCartListViewModel.Cart.Items.Count() == 0) //{ // ModelState.AddModelError("error", "Извините, ваша корзина пуста!"); //} //if (ModelState.IsValid) //{ OrderCartListViewModel.ShippingDetails = orderCartListViewModel.ShippingDetails; //// if model is valid //UserInfo userinfo = new UserInfo() //{ // Id = 1, // Name = shippingDetails.Name, // SurName = shippingDetails.Surname, // City = shippingDetails.City, // Email = shippingDetails.Email, // Phone = shippingDetails.Phone //}; //((DbSet<UserInfo>)userrepository.Items).Add(userinfo); //// await((UserRepository)userrepository).Context.SaveChangesAsync(); //OrderItem orderItem = new OrderItem() { UserInfo = userinfo, DeliveryMethodId = 3, PaymentMethodId = 3 };// , OrderItemId = 9}; //((DbSet<OrderItem>)orderItemRepository.Items).Add(orderItem); //// await ((OrderItemRepository)orderItemRepository).Context.SaveChangesAsync(); //Order order = new Order() { OrderItem = orderItem, State = "new" }; //((DbSet<Order>)orderrepository.Items).Add(order); //// await ((OrdersRepository)orderrepository).Context.SaveChangesAsync(); //for (int i = 0; i < Cart.Items.Count; i++) //{ // CartItem cartItem = new CartItem() { ProductId = Cart.Items[i].Product.Id, Order = order, Quantity = Cart.Items[i].Quantity }; // // Cart.Items[i].Order = order; // ((DbSet<CartItem>)cartitempository.Items).Add(cartItem); //} //await ((CartItemRepository)cartitempository).Context.SaveChangesAsync(); //orderProcessor.ProcessOrder(Cart, shippingDetails); //Cart.Clear(); // return View("Completed"); return(RedirectToAction("CreateOrderCart")); //} //else //{ // return View(orderCartListViewModel); //} }
public ActionResult EditOrder(OrderCartListViewModel orderCartListViewModel) { OrderCartListViewModel.ShippingDetails = orderCartListViewModel.ShippingDetails; int iduser = OrderCartListViewModel.Order.OrderItem.UserInfo.Id; OrderCartListViewModel.Order.OrderItem.UserInfo = orderCartListViewModel.Order.OrderItem.UserInfo; OrderCartListViewModel.Order.OrderItem.UserInfo.Id = iduser; OrderCartListViewModel.Order.OrderItem.DeliveryMethod = orderCartListViewModel.Order.OrderItem.DeliveryMethod; OrderCartListViewModel.Order.OrderItem.PaymentMethod = orderCartListViewModel.Order.OrderItem.PaymentMethod; OrderCartListViewModel.Order.OrderItem.DeliveryMethodId = orderCartListViewModel.Order.OrderItem.DeliveryMethodId; OrderCartListViewModel.Order.OrderItem.PaymentMethodId = orderCartListViewModel.Order.OrderItem.PaymentMethodId; // OrderCartListViewModel.Cart = orderCartListViewModel.Cart; return(RedirectToAction("EditOrderCart")); }
public ActionResult AddToCartEditMethod(int productid, OrderCartListViewModel orderCartListViewModel, string returnurl) { Product product = productrepository.Items.FirstOrDefault(p => p.Id == productid); if (product != null) { //add product to cart Cart.AddItem(product, 1); OrderCartListViewModel.Cart = Cart; // OrderCartListViewModel.Cart = Cart; // OrderCartListViewModel.Order.CartItems.Add(Cart.Items[Cart.Items.Count-1]); } // return Redirect(returnurl); // return RedirectToAction("CreateOrder", new { returnurl = returnurl}); return(RedirectToAction("EditOrderCart")); }
public async Task <ActionResult> EditOrderAdmin() { if (Cart.Items.Count() == 0) { ModelState.AddModelError("error", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { // IQueryable<Order> orders = ((DbSet<Order>)repository.Items) //.Include(p => p.OrderItem) // .Include(p => p.OrderItem.UserInfo) // .Include(p => p.OrderItem.DeliveryMethod) // .Include(p => p.OrderItem.PaymentMethod) // .Include(p => p.CartItems) // .Include(p => p.CartItems); // Order order = await orders.Where(p => p.Id == OrderCartListViewModel.Order.Id).FirstOrDefaultAsync(); // ((OrdersRepository)repository).Context.Entry(order).State = System.Data.Entity.EntityState.Modified; // await ((OrdersRepository)repository).Context.SaveChangesAsync(); //// if model is valid UserInfo userinfo = new UserInfo() { Id = OrderCartListViewModel.Order.OrderItem.UserInfo.Id, Name = OrderCartListViewModel.Order.OrderItem.UserInfo.Name, SurName = OrderCartListViewModel.Order.OrderItem.UserInfo.SurName, City = OrderCartListViewModel.Order.OrderItem.UserInfo.City, Email = OrderCartListViewModel.Order.OrderItem.UserInfo.Email, Phone = OrderCartListViewModel.Order.OrderItem.UserInfo.Phone }; ((UserRepository)userrepository).Context.Entry(userinfo).State = System.Data.Entity.EntityState.Modified; await((UserRepository)userrepository).Context.SaveChangesAsync(); //((DbSet<UserInfo>)userrepository.Items).Add(userinfo); //// await((UserRepository)userrepository).Context.SaveChangesAsync(); // OrderItem orderItem = new OrderItem() {Id = OrderCartListViewModel.Order.OrderItem.Id, UserInfoId = userinfo.Id, UserInfo = userinfo, DeliveryMethodId = OrderCartListViewModel.Order.OrderItem.DeliveryMethodId, PaymentMethodId = OrderCartListViewModel.Order.OrderItem.PaymentMethodId };// , OrderItemId = 9}; OrderItem orderItem = new OrderItem() { Id = OrderCartListViewModel.Order.OrderItem.Id, UserInfoId = userinfo.Id, DeliveryMethodId = OrderCartListViewModel.Order.OrderItem.DeliveryMethodId, PaymentMethodId = OrderCartListViewModel.Order.OrderItem.PaymentMethodId }; // , OrderItemId = 9}; ((OrderItemRepository)orderItemRepository).Context.Entry(orderItem).State = System.Data.Entity.EntityState.Modified; await((OrderItemRepository)orderItemRepository).Context.SaveChangesAsync(); //// ((DbSet<OrderItem>)orderItemRepository.Items).Add(orderItem); //// await ((OrderItemRepository)orderItemRepository).Context.SaveChangesAsync(); //Order order = new Order() {Id = OrderCartListViewModel.Order.Id, OrderItemId = orderItem.Id, OrderItem = orderItem, State = "change" }; Order order = new Order() { Id = OrderCartListViewModel.Order.Id, OrderItemId = orderItem.Id, OrderItem = orderItem, State = "change" }; // order.CartItems = OrderCartListViewModel.Cart.Items; order.CartItems = new List <CartItem>(); // for (int i = 0; i < OrderCartListViewModel.Cart.Items.Count; i++) var res = ((DbSet <CartItem>)cartitempository.Items).Where(or => or.OrderId == OrderCartListViewModel.Order.Id).ToList(); for (int i = 0; i < res.Count; i++) { //CartItem cartItem = new CartItem() //{ // Quantity = OrderCartListViewModel.Cart.Items[i].Quantity, // Id = OrderCartListViewModel.Cart.Items[i].Id, // OrderId = order.Id, // ProductId = OrderCartListViewModel.Cart.Items[i].ProductId //}; // order.CartItems.Add(cartItem); ///////////////////////////////////////// //CartItem o = ((DbSet<CartItem>)cartitempository.Items).Where(or => or.Id == OrderCartListViewModel[i].Id).FirstOrDefault(); //if (o != null) //{ ((DbSet <CartItem>)cartitempository.Items).Remove(res[i]); // ((DbSet<CartItem>)cartitempository.Items).Remove(o); // ((DbContext)repository).SaveChanges(); } for (int i = 0; i < OrderCartListViewModel.Cart.Items.Count; i++) { CartItem cartItem = new CartItem { Quantity = OrderCartListViewModel.Cart.Items[i].Quantity, OrderId = OrderCartListViewModel.Order.Id, ProductId = OrderCartListViewModel.Cart.Items[i].Product.Id }; ((DbSet <CartItem>)cartitempository.Items).Add(cartItem); } ((CartItemRepository)cartitempository).Context.SaveChanges(); //////////((DbSet<Order>)repository.Items).Remove(o); // ((DbContext)repository).SaveChanges(); //////////((OrdersRepository)repository).Context.SaveChanges(); // ((OrdersRepository)repository).Context.Entry(order).State = System.Data.Entity.EntityState.Modified; ((OrdersRepository)repository).Context.Entry(order).State = System.Data.Entity.EntityState.Modified; //((OrdersRepository)repository).Context.As.Attach(order); await((OrdersRepository)repository).Context.SaveChangesAsync(); // ((OrdersRepository)repository).Context.Entry(order).State = System.Data.Entity.EntityState.Detached; // ((DbSet<Order>)repository.Items).Add(order); //// await ((OrdersRepository)orderrepository).Context.SaveChangesAsync(); //for (int i = 0; i < Cart.Items.Count; i++) //{ // CartItem cartItem = new CartItem() { ProductId = Cart.Items[i].Product.Id, Order = order, Quantity = Cart.Items[i].Quantity }; // // Cart.Items[i].Order = order; // ((DbSet<CartItem>)cartitempository.Items).Add(cartItem); //} //await ((CartItemRepository)cartitempository).Context.SaveChangesAsync(); // orderProcessor.ProcessOrder(Cart, shippingDetails); Cart.Clear(); OrderCartListViewModel.Clear(); return(View("Completed")); } else { //orderProcessor.ProcessOrder(cart, shippingDetails); //cart.Clear(); //return View("Completed"); return(View(OrderCartListViewModel)); } }
public async Task <ActionResult> CreateOrderAdmin() { if (Cart.Items.Count() == 0) { ModelState.AddModelError("error", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { // if model is valid UserInfo userinfo = new UserInfo() { //Id = 1, Name = OrderCartListViewModel.ShippingDetails.Name, SurName = OrderCartListViewModel.ShippingDetails.Surname, City = OrderCartListViewModel.ShippingDetails.City, Email = OrderCartListViewModel.ShippingDetails.Email, Phone = OrderCartListViewModel.ShippingDetails.Phone }; ((DbSet <UserInfo>)userrepository.Items).Add(userinfo); // await((UserRepository)userrepository).Context.SaveChangesAsync(); OrderItem orderItem = new OrderItem() { UserInfo = userinfo, DeliveryMethodId = OrderCartListViewModel.ShippingDetails.DeliveryMethodId, PaymentMethodId = OrderCartListViewModel.ShippingDetails.PaymentMethodId }; // , OrderItemId = 9}; ((DbSet <OrderItem>)orderItemRepository.Items).Add(orderItem); // await ((OrderItemRepository)orderItemRepository).Context.SaveChangesAsync(); Order order = new Order() { OrderItem = orderItem, State = "new" }; ((DbSet <Order>)repository.Items).Add(order); // await ((OrdersRepository)orderrepository).Context.SaveChangesAsync(); for (int i = 0; i < Cart.Items.Count; i++) { CartItem cartItem = new CartItem() { ProductId = Cart.Items[i].Product.Id, Order = order, Quantity = Cart.Items[i].Quantity }; // Cart.Items[i].Order = order; ((DbSet <CartItem>)cartitempository.Items).Add(cartItem); } await((CartItemRepository)cartitempository).Context.SaveChangesAsync(); // orderProcessor.ProcessOrder(Cart, shippingDetails); Cart.Clear(); OrderCartListViewModel.Clear(); return(View("Completed")); } else { //orderProcessor.ProcessOrder(cart, shippingDetails); //cart.Clear(); //return View("Completed"); return(View(OrderCartListViewModel)); } }