public JsonResult SendMoney(int destinationID, int currencyID, decimal amount) { try { var source = SessionHelper.CurrentEntity; var destination = entityRepository.GetById(destinationID); var currency = Persistent.Currencies.GetById(currencyID); using (var trs = transactionScopeProvider.CreateTransactionScope()) { MethodResult result = giftService.CanSendMoneyGift(source, destination, currency, amount); if (result.IsError) { return(JsonError(result)); } giftService.SendMoneyGift(source, destination, currency, amount); trs.Complete(); } return(JsonSuccess("Money successfully sent!")); } catch (Exception e) { return(JsonError("Undefined error")); } }