public ActionResult RemoveProduct(long tradeID, int productID, int quality, int entityID) { var product = tradeProductRepository.SingleOrDefault(p => p.TradeID == tradeID && p.ProductID == productID && p.Quality == quality && p.EntityID == entityID); var entity = SessionHelper.CurrentEntity; var trade = tradeRepository.GetById(tradeID); var result = tradeService.CanRemoveProduct(product, entity, trade); if (result.IsError) { return(RedirectBackWithError(result)); } tradeService.RemoveProduct(product, trade); AddSuccess("Product removed!"); return(RedirectToAction("View", new { tradeID = tradeID })); }