public ActionResult AssignItemToOrder(MeatPartViewModel viewModel) { var meatPart = context.MeatParts.Find(viewModel.MeatPartId); var orderItem = new OrderItem() { Code = new Random().Next(int.MaxValue), OverallPrice = viewModel.Price * viewModel.CountToBuy, OrderId = viewModel.Id, MeatPartId = viewModel.MeatPartId, MeatPart = meatPart }; meatPart.Count -= 1; var order = context.Orders.Include(a => a.OrderItems).FirstOrDefault(a => a.Id == viewModel.Id); if (order != null) { order.OrderItems.Add(orderItem); } else { throw new Exception("سفارش مورد نظر یافت نشد"); } context.SaveChanges(); return(RedirectToAction("AssignItemToOrder", viewModel.Id)); }
public ActionResult DeleteItemFrom(int id, MeatPartViewModel viewModel) { var meatPart = context.MeatParts.Find(viewModel.MeatPartId); var order = context.Orders.Include(a => a.OrderItems).FirstOrDefault(a => a.Id == id); var orderItem = context.OrderItems.FirstOrDefault(a => a.OrderId == order.Id && a.MeatPartId.Equals(meatPart.Id)); if (order != null && orderItem != null) { meatPart?.OrderItems.Remove(orderItem); order.OrderItems.Remove(orderItem); context.OrderItems.Remove(orderItem); } else { throw new Exception("سفارش مورد نظر یافت نشد"); } context.SaveChanges(); return(RedirectToAction("AssignItemToOrder", "Order", new{ viewModel.Id })); }