Пример #1
0
        public async Task <Result <PurseDto> > FillUpPurse(MoneyTransactionParam param)
        {
            var availableCurrencies = await _currencyProvider.GetAvailableCurrencies();

            if (!availableCurrencies.Contains(param.Currency))
            {
                return(new Result <PurseDto>().SetUnprocessable($"Currency {param.Currency} not supported"));
            }

            var purse = await _purseRepository.GetOrCreatePurse(param.UserId.Value);

            purse.FillUp(param.Currency, param.Sum.Value);

            await _purseRepository.Commit();

            return(new Result <PurseDto>(purse.ToDto()));
        }
Пример #2
0
 public async Task <ActionResult <Result <PurseDto> > > WithdrawMoney([FromBody] MoneyTransactionParam param)
 {
     return(await _purseService.WithdrawMoney(param));
 }
Пример #3
0
 public async Task <ActionResult <Result <PurseDto> > > FillUpPurse([FromBody] MoneyTransactionParam param)
 {
     return(await _purseService.FillUpPurse(param));
 }