Esempio n. 1
0
        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"));
            }
        }