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 })); }
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)); }