예제 #1
0
        public CreateLoanResponse CreateLoan(CreateLoanRequest request)
        {
            CreateLoanResponse response = new CreateLoanResponse();

            try
            {
                login();
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = "Unable to connect to server. Exited with Exception: " + e.Message;
                return(response);
            }
            try
            {
                Loan loan = s.Loans.CreateNew();

                loan.LoanFolder         = "Training";
                loan.LoanName           = request.LoanName;
                loan.Fields["36"].Value = request.BorrowerFirstName;
                loan.Fields["37"].Value = request.BorrowerLastName;
                loan.Fields["11"].Value = request.Street;
                loan.Fields["12"].Value = request.City;
                loan.Fields["15"].Value = request.ZipCode;
                loan.Fields["13"].Value = request.County;
                loan.Fields["14"].Value = request.Street;
                loan.Fields["4"].Value  = request.Term;
                loan.Fields["3"].Value  = request.InterestRate;
                loan.Fields["5"].Value  = request.MonthlyPayment;

                loan.Commit();

                // Trim the string to guid
                var    n = 1;
                string loanGuidInString = loan.Guid;

                if (loanGuidInString.Length > n * 2)
                {
                    response.LoanGuid = Guid.Parse(loanGuidInString.Substring(n, loanGuidInString.Length - (n * 2)));
                }
                else
                {
                    response.LoanGuid = Guid.Empty;
                }

                s.End();
                response.LoanFolder = loan.LoanFolder;
                response.LoanId     = loan.LoanNumber;
                response.Success    = true;
                response.Message    = "Loan: " + request.LoanName + " saved successfully to folder: " + response.LoanFolder;
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = "Unable to connect to server. Exited with Exception: " + e.Message;
                return(response);
            }
            return(response);
        }
예제 #2
0
 private Loan CreateLoan(CreateLoanRequest request)
 {
     return(new Loan()
     {
         CustomerId = request.CustomerId,
         BankAccountId = request.BankAccountId,
         LoanType = request.LoanType,
         Amount = request.Amount,
         DueDate = request.DueDate
     });
 }
예제 #3
0
        public string Create(Loan loan)
        {
            string response = "";
            var    result   = new CreateLoanRequest(loan).Execute(Api.Client);

            if (result.Status == 200)
            {
                response = result.Data;
                loan.Clean();
            }

            return(response);
        }
예제 #4
0
        /// <summary>
        /// Add or edit loan
        /// </summary>
        /// <param name="loanId"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <Response> AddOrEditLoanAsync(int loanId, CreateLoanRequest request, CancellationToken cancellationToken = default)
        {
            var responseModel = new Response();


            if (loanId != 0)
            {
                var loan = await _loansRepo.FindByIdAsync(loanId);

                try
                {
                    if (loan != null)
                    {
                        loan.CustomerId    = request.CustomerId;
                        loan.BankAccountId = request.BankAccountId;
                        loan.LoanType      = request.LoanType;
                        loan.Amount        = request.Amount;
                        loan.DueDate       = request.DueDate;

                        await _loansRepo.UpdateAsync(loan);
                    }
                    else
                    {
                        responseModel.AddError(ExceptionCreator.CreateNotFoundError(nameof(loan), $"loan of id: { loanId} not found"));
                        return(responseModel);
                    }
                }
                catch (Exception ex)
                {
                    responseModel.AddError(ExceptionCreator.CreateInternalServerError(ex.ToString()));
                }
            }
            else
            {
                try
                {
                    await _loansRepo.AddAsync(CreateLoan(request));
                }
                catch (Exception ex)
                {
                    responseModel.AddError(ExceptionCreator.CreateInternalServerError(ex.ToString()));
                }
            }

            return(responseModel);
        }
예제 #5
0
        public async Task <IActionResult> Create(CreateLoanRequest loan)
        {
            var loanDto = _mapper.Map <LoanDto>(loan);

            return(_actionResultConverter.Convert(await _loanAppService.Create(loanDto)));
        }