예제 #1
0
        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);
        }
예제 #2
0
        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));
            }
        }