public Deposit AddDeposit(CreateDepositDTO createDeposit) { if (this._userRepository.FindUser(createDeposit.IdUser) == null) { throw new APIException("the user does not exist!", StatusCodes.Status404NotFound); } if (this._accountRepository.Find(createDeposit.IdAccount) == null) { throw new APIException("the account does not exist!", StatusCodes.Status404NotFound); } this.TakeMoneyFromAccount(createDeposit.IdAccount, createDeposit.InitialSum); Deposit deposit = new Deposit { IdUser = createDeposit.IdUser, InitialSum = createDeposit.InitialSum, Title = createDeposit.Title, }; deposit.CreateDate = DateTime.Now; this._accountRepository.AddDeposit(deposit); return(deposit); }
public IActionResult CreateDeposit([FromBody] CreateDepositDTO createDeposit) { if (!ModelState.IsValid) { return(StatusCode(400, "bad data!")); } try { var deposit = this._accountService.AddDeposit(createDeposit); return(Ok(deposit)); } catch (APIException ex) { ErrorMessage errorMessage = new ErrorMessage { message = ex.Message }; return(StatusCode(ex.StatusCode, errorMessage)); } }