public async Task <IActionResult> Post([FromBody] AgreementForCreationDto agreementForCreationDto)
        {
            if (await this._customerRepo.GetSingle(agreementForCreationDto.CustomerId) == null)
            {
                return(BadRequest());
            }

            var agreement = new Agreement
            {
                IsLoanActivated = false,
                LoanAdvance     = agreementForCreationDto.LoanAmount,
                LoanAmount      = agreementForCreationDto.LoanAmount,
                LoanBalance     = agreementForCreationDto.LoanAmount,
                LoanStartDate   = DateTime.Today,
                LoanTerm        = agreementForCreationDto.LoanTerm,
                NextPaymentDate = DateTime.Today.AddDays(28),
                PinNumber       = 1234,
                Status          = 1,
                CustomerId      = agreementForCreationDto.CustomerId
            };

            var agreementFromRep = await _agreementRepo.Create(agreement);

            var agreementDto = _mapper.Map <AgreementDto>(agreement);

            return(Ok(agreementDto));
        }
Beispiel #2
0
        public ActionResult <AgreementDto> CreateAgreementForUser(ulong userId, AgreementForCreationDto agreement)
        {
            if (!_userLibraryRepository.UserExists(userId))
            {
                return(NotFound());
            }

            var agreementEntity = _mapper.Map <Entities.Agreement>(agreement);

            _userLibraryRepository.AddAgreement(userId, agreementEntity);
            _userLibraryRepository.Save();

            var agreementToReturn = _mapper.Map <AgreementDto>(agreementEntity);

            return(CreatedAtRoute("GetAgreementForUser",
                                  new { userId = userId, agreementId = agreementToReturn.Id }, agreementToReturn));
        }