Example #1
0
        public void Store(StoreMoneyRequestModel request)
        {
            var currency = _currencyRepo.GetAll(s => s.Name.Equals(request.Currency)).FirstOrDefault();

            if (currency == null)
            {
                throw new Exception($"Selected currency is not yet available.");
            }

            var user = _userRepo.Get(request.UserId);

            if (user == null)
            {
                throw new Exception("User does not exist.");
            }

            UserMoney money = new UserMoney {
                Currency = currency
            };

            money.CashIn(request.Amount);

            user.StoreMoney(money);

            _userRepo.Update(user);
        }
 public IActionResult StoreMoney([FromBody] StoreMoneyRequestModel requestModel)
 {
     try
     {
         _moneyService.Store(requestModel);
         return(Ok("Money was uccessfully stored."));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }