public async Task <IActionResult> AddCoins(AddCoinsModel addCoinsModel) { try { return(Ok(await _userService.AddCoins(addCoinsModel))); } catch (Exception ex) { return(BadRequest(new { message = ex.Message })); } }
public async Task <SimpleUserDTO> AddCoins(AddCoinsModel addCoins) { var user = await _userRepository.GetSimpleUserAsync(addCoins.UserId); if (user == null) { throw new AppException($"User with id {addCoins.UserId} doesn't exist"); } if (addCoins.Value <= 0) { throw new AppException("Value can't be negative"); } user.Coins += addCoins.Value; await _userRepository.UpdateAsync(user); return(_mapper.Map <SimpleUserDTO>(user)); }