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())); }
public async Task <ActionResult <Result <PurseDto> > > WithdrawMoney([FromBody] MoneyTransactionParam param) { return(await _purseService.WithdrawMoney(param)); }
public async Task <ActionResult <Result <PurseDto> > > FillUpPurse([FromBody] MoneyTransactionParam param) { return(await _purseService.FillUpPurse(param)); }