示例#1
0
        private BaseResponse AddMoney(MoneyParameter param, bool minus = false)
        {
            var result = new BaseResponse();

            var wallet = wr.GetWallet(param.User.UserId);

            if (wallet == null)
            {
                throw new Exception("Пользователь не найден");
            }
            if (!wallet.Accounts.ContainsKey(param.Money.Currency))
            {
                if (!cr.CurrencyExist(param.Money.Currency))
                {
                    throw new Exception("Валюта не определена");
                }
                wallet.Accounts[param.Money.Currency] = 0;
            }
            if (minus)
            {
                wallet.Accounts[param.Money.Currency] -= param.Money.Amount;
            }
            else
            {
                wallet.Accounts[param.Money.Currency] += param.Money.Amount;
            }
            wr.Update(wallet);
            return(result);
        }
示例#2
0
        public BaseResponse PlusMoney(MoneyParameter param)
        {
            var result = new BaseResponse();

            try
            {
                result = AddMoney(param);
            }
            catch (Exception e)
            {
                result.IsError      = true;
                result.ErrorMessage = e.Message;
            }
            return(result);
        }
示例#3
0
 public BaseResponse MinusMoney(MoneyParameter parm)
 {
     return(ws.MinusMoney(parm));
 }