예제 #1
0
        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));
        }
예제 #2
0
        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 }));
        }