public JsonResult AddProduct(int tradeID, int productID, int quality, int amount) { try { var trade = tradeRepository.GetById(tradeID); ProductTypeEnum productType = (ProductTypeEnum)productID; var entity = SessionHelper.CurrentEntity; using (var trs = transactionScopeProvider.CreateTransactionScope()) { MethodResult result = tradeService.CanAddProduct(productType, quality, amount, entity, trade); if (result.IsError) { return(JsonError(result)); } tradeService.AddProduct(productType, quality, amount, entity, trade); trs.Complete(); } return(JsonSuccess("Product has been added!")); } catch (Exception e) { return(UndefinedJsonError(e)); } }