public JsonResult AddMoney(int tradeID, int currencyID, decimal amount) { try { var trade = tradeRepository.GetById(tradeID); Currency currency = Persistent.Currencies.GetById(currencyID); var entity = SessionHelper.CurrentEntity; using (var trs = transactionScopeProvider.CreateTransactionScope()) { MethodResult result = tradeService.CanAddMoney(currency, amount, entity, trade); if (result.IsError) { return(JsonError(result)); } tradeService.AddMoney(currency, amount, entity, trade); trs.Complete(); } return(JsonSuccess("Money has been added!")); } catch (Exception e) { return(UndefinedJsonError(e)); } }