示例#1
0
        public async Task <ActionResult> DeleteProductFromOrder(DeleteProductFromOrderViewModel model)
        {
            OrderProduct orderProduct = await context.OrderProducts
                                        .FindAsync(model.Order.Id, model.Product.Id);

            if (orderProduct == null)
            {
                return(HttpNotFound());
            }

            context.OrderProducts.Remove(orderProduct);

            try
            {
                await context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                string errorMessage = ex.Message;

                while (ex != null)
                {
                    errorMessage = ex.Message;
                    ex           = ex.InnerException;
                }

                ModelState.AddModelError("", errorMessage);

                return(View(model));
            }

            return(RedirectToAction(nameof(Details), new { id = orderProduct.OrderId }));
        }
示例#2
0
        public async Task <ActionResult> DeleteProductFromOrder(int?orderId, int?productId)
        {
            if (orderId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (productId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Order order = await context.Orders
                          .FirstOrDefaultAsync(o => o.Id == orderId);

            if (order == null)
            {
                return(HttpNotFound());
            }

            Product product = await context.Products.FindAsync(productId);

            if (product == null)
            {
                return(HttpNotFound());
            }

            DeleteProductFromOrderViewModel model = new DeleteProductFromOrderViewModel(order, product);

            return(View(model));
        }