Пример #1
0
        //public LoanScheduleReportResult(LoanDetails loanDetails, bool isExcell, Customer customer)
        public LoanScheduleReportResult(PaymentRolloverRepository rolloverRepository, Loan loan, bool isExcell, bool wError, Customer customer)
        {
            var loansDetailsBuilder = new LoansDetailsBuilder();

            _loanDetails = loansDetailsBuilder.Build(loan, rolloverRepository.GetByLoanId(loan.Id));
            _isExcell    = isExcell;
            _withErrors  = wError;
            _customer    = customer;
            _loan        = loan;
        }
        public void GetLoanRepaymentDetails_Returns_LoanDetails()
        {
            LoanDetails loanDetails = new LoanDetails();

            _mortageApiProvider.GetLoanRepaymentDetails(loanDetails).Returns(loanDetails);
            var controller = new MortgageController(_mortageApiProvider);
            PartialViewResult viewResult = controller.GetLoanRepaymentDetails(loanDetails) as PartialViewResult;

            Assert.AreEqual(loanDetails, viewResult.Model);
        }
Пример #3
0
        public IActionResult Application(LoanDetails app)
        {
            if (ModelState.IsValid)
            {
                loanService.CreateLoanApplication(app, Guid.NewGuid().ToString());
                return(RedirectToAction("Employment"));
            }

            return(View(app));
        }
Пример #4
0
 public void CreateLoanApplication(LoanDetails app, string loanId)
 {
     // We always just want one loan on our singleton for demo purposes
     loans.Clear();
     loans.Add(new LoanApplication()
     {
         LoanId   = loanId,
         LoanInfo = app
     });
 }
Пример #5
0
        public void GetLoanRepaymentDetails_Returns_LoanDetails()
        {
            LoanDetails loanDetails = new LoanDetails();

            _mortgageProvider.GetLoanRepaymentDetails(loanDetails).Returns(loanDetails);
            var controller = new MortgageAPIController(_mortgageProvider);
            var result     = controller.GetLoanRepaymentDetails(loanDetails) as LoanDetails;

            Assert.AreEqual(loanDetails, result);
        }
Пример #6
0
        /*
         * Loan operations with the db
         *
         */
        public static Boolean IssueLoan(LoanDetails loan, LinkedList <Guarantor> guarantors, long pid)
        {
            if (Validation.isLoanValidForAdding(loan) &&
                Validation.isGuarantorValidForAddingAndUpdating(guarantors.First.Value) &&
                Validation.isGuarantorValidForAddingAndUpdating(guarantors.Last.Value))
            {
                if (pid > 0)
                {
                    try
                    {
                        Connection.updateDB("insert into loan_details (pid, rel_date, rel_amount, no_of_terms, amount_per_term, loan_type_id, profit) values (" +
                                            "" + pid + "," +
                                            "'" + loan.RelDate.ToString("yyyy/MM/d") + "'," +
                                            "" + loan.RelAmount + "," +
                                            "" + loan.NoOfTerms + "," +
                                            "" + loan.AmountPerTerm + "," +
                                            "" + loan.LoanType.Id + "," +
                                            "" + loan.Profit + ");");

                        MySqlDataReader reader = Connection.getData("select MAX(loan_details_id) as id from loan_details where pid=" + pid);

                        long loanId;

                        if (reader.Read())
                        {
                            loanId = reader.GetInt32(0);

                            reader.Close();

                            return(AddGuarantors(guarantors, pid, loanId));
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);

                        MessageBox.Show("Something went wrong!\n" + ex, "Issue Loan", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Пример #7
0
        public IList <LoanDetails> ViewLoans()
        {
            SqlConnection       con             = new SqlConnection();
            DataTable           dt              = new DataTable();
            IList <LoanDetails> LoansDetailList = new List <LoanDetails>();

            try
            {
                con.ConnectionString = ConfigurationManager.ConnectionStrings["Bankingsysconn"].ConnectionString;
                con.Open();
                string        getDetails = Query.selectViewLoans;
                SqlCommand    cmd1       = new SqlCommand(getDetails, con);
                SqlDataReader dr1        = cmd1.ExecuteReader();

                dt.Columns.AddRange(new DataColumn[12] {
                    new DataColumn("Account number", typeof(string)),
                    new DataColumn("Customer name", typeof(string)),
                    new DataColumn("Age", typeof(string)),
                    new DataColumn("Address", typeof(string)),
                    new DataColumn("Email", typeof(string)),
                    new DataColumn("City", typeof(string)),
                    new DataColumn("Gender", typeof(string)),
                    new DataColumn("Account balance", typeof(string)),
                    new DataColumn("Loans", typeof(string)),
                    new DataColumn("Approved Loans", typeof(string)),
                    new DataColumn("Fixed Deposit", typeof(string)),
                    new DataColumn("Approved Fd", typeof(string))
                });
                while (dr1.Read())
                {
                    LoanDetails detail = new LoanDetails();

                    detail.AccountNo      = Convert.ToString(dr1["account_no"]);
                    detail.CustomerName   = Convert.ToString(dr1["customer_name"]);
                    detail.Age            = Convert.ToString(dr1["age"]);
                    detail.Address        = Convert.ToString(dr1["address"]);
                    detail.EmailId        = Convert.ToString(dr1["email_id"]);
                    detail.City           = Convert.ToString(dr1["city"]);
                    detail.Gender         = Convert.ToString(dr1["gender"]);
                    detail.AccountBalance = Convert.ToString(dr1["account_balance"]);
                    detail.Loans          = Convert.ToString(dr1["loans"]);
                    detail.ApproveLoans   = Convert.ToString(dr1["approved_loans"]);
                    detail.FixedDEposits  = Convert.ToString(dr1["fixed_deposit"]);
                    detail.ApproveFd      = Convert.ToString(dr1["approved_fd"]);
                    LoansDetailList.Add(detail);
                }
                dr1.Close();
            }

            finally
            {
                con.Close();
            }
            return(LoansDetailList);
        }
Пример #8
0
        public void VerifyNegativeScenarious(LoanDetails input)
        {
            //Arrange
            var calculator = new PaymentCalculator();

            //Act
            Action result = () => calculator.Calculate(input);

            //Assert
            Assert.Throws <ArgumentException>(result);
        }
        public async Task Update(Guid loanId, [FromBody] LoanDTO loanToUpdate)
        {
            LoanModel loanModel = _mapper.Map <LoanModel>(loanToUpdate);
            await _loansService.Update(loanId, loanModel);

            CheckLoanValid loanToCheck = new CheckLoanValid();
            LoanDetails    loanDetails = _mapper.Map <LoanDetails>(loanModel);

            loanDetails.LoanId      = loanId;
            loanToCheck.LoanDetails = loanDetails;
            await _messageSession.Send(loanToCheck);
        }
Пример #10
0
 public static void CalculateLastMonthDetailed(MonthlyBreakdown month, LoanDetails loanDetails)
 {
     month.StartingBalance       = loanDetails.Balance;
     month.PeriodInterest        = month.StartingBalance * loanDetails.R;
     month.PeriodPrincipal       = month.StartingBalance;
     month.MonthlyPayment        = Math.Round(month.PeriodInterest, 2) + Math.Round(month.PeriodPrincipal, 2);
     month.EndingBalance         = month.StartingBalance - month.PeriodPrincipal;
     loanDetails.Balance         = month.EndingBalance;
     loanDetails.TotalInterest  += month.PeriodInterest;
     month.TotalInterestToDate   = loanDetails.TotalInterest;
     loanDetails.TotalPrincipal += month.PeriodPrincipal;
 }
Пример #11
0
    private void FillLoanAgreement()
    {
        LoanDetails LoanDet = GetLoanAgreementDetails();

        InterConnect.LeshLaonApi.ClientDetails cli = GetClientDetails();
        lblCliName.Text  = lblClientName1.Text = lblClientName2.Text = lblClientName3.Text = cli.ClientName;
        lblLocation.Text = cli.BusinessLoc;
        lblTel.Text      = cli.ClientPhoneNumber;

        lblIntRate.Text = LoanDet.InterestRate;
        lblTotAmnt.Text = LoanDet.ApprovedAmount;
    }
Пример #12
0
        public LoanDetails GetLoanDetails(Guid loanId)
        {
            var loanInformation = _loanRepository.GetLoan(loanId);
            var latestRates     = _rateRepository.GetRoborRecent();
            var currentRate     = loanInformation.BankRate + (double)latestRates.GetRate(loanInformation.BankMargin);
            var loan            = new Loan(loanInformation.Ammount, loanInformation.RateDateOfPayment, currentRate,
                                           loanInformation.Months);
            var loanDetails = new LoanDetails(loanInformation);

            loanDetails.BankMarginRate = currentRate;
            loanDetails.Transactions   = loan.GenerateLoanTransactions().Take(5).ToArray();
            return(loanDetails);
        }
Пример #13
0
        public double CalculateMonthlyPayment(LoanDetails loanDetails)
        {
            var totalRates      = loanDetails.RatesPaidPerYear * loanDetails.PeriodYears;
            var nominator       = loanDetails.Principal;
            var denominatorBase = 0.0d;

            for (int i = 1; i <= totalRates; i++)
            {
                denominatorBase += Math.Pow(1.0d + ((loanDetails.InterestRate / 100.0) / loanDetails.RatesPaidPerYear), -i);
            }

            return(nominator / denominatorBase);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            LoanDetails newLoan = null;

            if (Session["LoanDetails"] != null)
            {
                newLoan = Session["LoanDetails"] as LoanDetails;
            }
            else if (Request.QueryString["loanNo"] != null)
            {
                newLoan = XMLReader.LoanXMLReader().LoanList.Where(item => item.loanNo == Request.QueryString["loanNo"]).SingleOrDefault();
            }



            lblClientNo.Text     = newLoan.ClientNo;
            lblClientName.Text   = newLoan.ClientName;
            lblAccNo.Text        = newLoan.loanAccount;
            lblLoanType.Text     = newLoan.LoanType;
            lblLoanID.Text       = newLoan.loanNo;
            lblInterestRate.Text = newLoan.InterestRate;
            lblLoanAmt.Text      = newLoan.loanAmount;

            Employee emp = Session["EmpDetails"] as Employee;

            if (emp.Role.ToUpper() == "ADMIN")
            {
                btnSubmit.Visible = false;
                if (newLoan.loanStatus != "Approved")
                {
                    btnApprove.Visible = true;
                }
                else
                {
                    btnGoBack.Visible = true;
                }
            }
            else
            {
                btnApprove.Visible = false;
                if (Request.QueryString["loanNo"] == null)
                {
                    btnSubmit.Visible = true;
                }
                else
                {
                    btnGoBack.Visible = true;
                    btnSubmit.Visible = false;
                }
            }
        }
Пример #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    if (Session[clsConstant.TOKEN] == null)
                    {
                        UrlParameterPasser urlWrapper = new UrlParameterPasser();
                        urlWrapper["pageaccesserr"] = "1";
                        urlWrapper.Url = "../Logout.aspx";
                        urlWrapper.PassParameters();
                    }
                    if (Utility.CheckAccess("LoanDetailsAddEdit") == false)
                    {
                        pnlInvalid.Visible = true;
                        MainDiv.Visible    = true;
                    }

                    if (!Convert.ToBoolean(Session[clsConstant.SESS_VIEWTYPE]))
                    {
                        this.MakeReadOnly(this.Controls);
                    }
                    loanID = Request.QueryString["loanID"];
                    if (loanID != null && IsPostBack == false)
                    {
                        loanDetails     = new LoanDetails();
                        performanceLoan = new PerformanceLoan();
                        loanDetails     = performanceLoan.GetApprovalClosingDate(Convert.ToInt32(loanID));
                        LoanBinding();
                        drpLoanNumber.Items.FindByValue(loanID).Selected = true;
                        AutoFill();
                        checkForPMU();
                        lnkProjBriefSheet.Visible = true;
                    }
                    else
                    {
                        lnkProjBriefSheet.Visible = false;
                    }

                    if (IsPostBack != true && loanID == null)
                    {
                        LoanBinding();
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }
        public async Task <bool> UpdateLoanDetails(LoanDetails loanDetails)
        {
            try
            {
                _context.LoanDetail.Update(loanDetails);
                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #17
0
        public LoanDetails AddListPut(LoanDetails model)
        {
            var LoaninDb = DbContext.LoanDetail.FirstOrDefault(a => a.Id == model.Id);

            LoaninDb.Amount    = model.Amount;
            LoaninDb.Term      = model.Term;
            LoaninDb.Type      = model.Type;
            LoaninDb.City      = model.City;
            LoaninDb.Startdate = model.Startdate;
            LoaninDb.Enddate   = model.Enddate;

            DbContext.SaveChanges();
            return(model);
        }
Пример #18
0
        public void VerifyPositiveScenarious(LoanDetails input, PaymentDetails output)
        {
            //Arrange
            var calculator = new PaymentCalculator();

            //Act
            var result = calculator.Calculate(input);

            //Assert
            Assert.NotNull(result);
            Assert.Equal(output.MonthlyPayment, result.MonthlyPayment);
            Assert.Equal(output.TotalInterest, result.TotalInterest);
            Assert.Equal(output.TotalPayment, result.TotalPayment);
        }
Пример #19
0
        public LoanDetails Build(Loan loan, IEnumerable <PaymentRollover> rollovers)
        {
            var details = new LoanDetails();

            details.Transactions = loan.TransactionsWithPaypoint
                                   .Select(t => new LoanTransactionModel()
            {
                Id                = t.Id,
                Amount            = t.Amount,
                Description       = t.Description,
                PostDate          = t.PostDate,
                Status            = t.Status.ToString(),
                StatusDescription = t.Status.ToDescription(),
                Principal         = t.Principal,
                Interest          = t.Interest,
                Fees              = t.Fees,
                Rollover          = t.Rollover,
                Balance           = t.Balance,
                LoanRepayment     = t.LoanRepayment
            });

            details.PacnetTransactions = loan.PacnetTransactions.Select(t => new LoanTransactionModel()
            {
                Id                = t.Id,
                Amount            = t.Amount,
                Description       = t.Description,
                PostDate          = t.PostDate,
                Status            = t.Status.ToString(),
                StatusDescription = t.Status.ToDescription(),
                Fees              = t.Fees
            });

            details.Schedule = loan.Schedule.ToModel();
            details.Charges  = loan.Charges.Select(LoanChargesModel.FromCharges);

            details.Rollovers = rollovers.Where(x => x.Status == RolloverStatus.New).Select(x => new RolloverModel
            {
                ExpiryDate     = x.ExpiryDate,
                Payment        = x.Payment,
                Status         = x.Status,
                LoanScheduleId = x.LoanSchedule.Id,
                Id             = x.Id
            });

            //TODO build loan details using new structure
            Log.InfoFormat("create loan details from new tables for loan {0}", loan.Id);

            return(details);
        }
 /// <summary>
 /// Arranging data
 /// </summary>
 private void LoanDetailsGet()
 {
     loanDetails = new LoanDetails
     {
         LoanId      = "1111",
         LoanAmount  = "23442", LoanTerm = "4 Months", LoanType = "Personal",
         LoanHolders = new LoanHolder
         {
             BorrowerName        = "Adithya",
             LegalDocuments      = "Cash transac",
             LoanId              = "1111",
             PropertyInformation = "3234Acrs"
         },
     };
 }
Пример #21
0
        public async Task <Guid> Create([FromBody] LoanDTO loan)//לבדוק שהמיפוי אכן עובד ולראות אם לקבל יד
        {
            LoanModel loanModel = _mapper.Map <LoanModel>(loan);
            Guid      loanId    = await _loansService.Create(loanModel);

            CheckLoanValid loanToCheck = new CheckLoanValid();
            LoanDetails    loanDetails = _mapper.Map <LoanDetails>(loanModel);

            loanDetails.LoanId      = loanId;
            loanToCheck.LoanDetails = loanDetails;
            await _messageSession.Send(loanToCheck)
            .ConfigureAwait(false);    //del api

            return(loanId);
        }
        public async Task <Guid> Create([FromBody] LoanDTO loan)
        {
            LoanModel loanModel = _mapper.Map <LoanModel>(loan);
            Guid      loanId    = await _loansService.Create(loanModel);

            CheckLoanValid loanToCheck = new CheckLoanValid();
            LoanDetails    loanDetails = _mapper.Map <LoanDetails>(loanModel);

            loanDetails.LoanId      = loanId;
            loanToCheck.LoanDetails = loanDetails;
            await _messageSession.Send(loanToCheck);

            return(loanId);
            //Ok($"Your loan created successfully. Loan Id:{loanId}");
        }
Пример #23
0
        internal LoanComputationWindow(LoanDetails loanDetail, LoanProduct loanProduct,
                                       LoanAmortizationHeader loanAmortizationHeader)
            : this()
        {
            _loanDetails     = loanDetail;
            _loanComputation = new LoanComputation(_loanDetails.LoanAmount, loanProduct.ID)
            {
                LoanDetails = _loanDetails
            };

            _loanAmortizationHeader = loanAmortizationHeader;
            InitializeControls();

            DataContext = _loanComputation;
        }
Пример #24
0
        public LoanDetails CalculateLoanDetails(double loanAmount, int duration, double interestRate)
        {
            double monthlyInterestRate = interestRate / (12 * 100);

            double denominator = Math.Pow((1 + monthlyInterestRate), -duration * 12);

            double emi = (double)(monthlyInterestRate * loanAmount) / (1 - denominator);

            LoanDetails loanDetails = new LoanDetails();

            loanDetails.TotalLoan     = Math.Round(emi * duration * 12, 2);
            loanDetails.TotalInterest = Math.Round(loanDetails.TotalLoan - loanAmount, 2);

            return(loanDetails);
        }
Пример #25
0
        public LoanNoticesView(LoanDetails loanDetails)
        {
            InitializeComponent();
            _loanDetails = loanDetails;

            LoansNonperformingButton.Click += (sender, args) => GenerateNoticesForLoansNonPerforming();

            LoansNearMaturityButton.Click += (sender, args) => GenerateNoticesForLoansNearMaturity();

            LoansOverdueButton.Click += (sender, args) => GenerateNoticesForLoansOverdue();

            LoansOverdueNonResponsiveButton.Click += (sender, args) => GenerateNoticesForNonResponsiveLoansOverdue();

            LoanNoticeForComakersButton.Click += (sender, args) => GenerateNoticesForComakers();
        }
Пример #26
0
    public LoanDetails GetApprovalLoanDetails()
    {
        LoanDetails ApprovalLoanDetails = new LoanDetails();

        ApprovalLoanDetails.ClientID               = Request.QueryString["ClientID"];//get ClientID
        ApprovalLoanDetails.LoanNo                 = txtLoanNo.Text;
        ApprovalLoanDetails.Approved               = "true";
        ApprovalLoanDetails.ApprovedAmount         = txtAppLoanAmount.Text.Replace(",", "");
        ApprovalLoanDetails.EasyPaidAmountPerMonth = txtAmountToPayPerMonth.Text.Replace(",", "");
        ApprovalLoanDetails.MonthsToPayIn          = txtMonths.Text;
        ApprovalLoanDetails.ModifiedBy             = user.UserId;
        ApprovalLoanDetails.ImageProof             = bll.GetImageUploadedInBase64String(ImgGuarantor);
        ApprovalLoanDetails.Observations           = txtComment.Text;
        ApprovalLoanDetails.ProcessingFee          = txtProcFee.Text.Replace(",", "");
        return(ApprovalLoanDetails);
    }
Пример #27
0
        public LoanDetails GetLoanRepaymentDetails(LoanDetails loandetails)
        {
            LoanDetails interestResponse = null;
            string      loandetailsjson  = JsonConvert.SerializeObject(loandetails);
            var         httpContent      = new StringContent(loandetailsjson);

            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            HttpResponseMessage response = _client.PostAsync(AppConstants.GET_REPAYMENTDETAILS_URL, httpContent).Result;

            if (response.IsSuccessStatusCode)
            {
                var result = response.Content.ReadAsStringAsync().Result;
                interestResponse = JsonConvert.DeserializeObject <LoanDetails>(result);
            }
            return(interestResponse);
        }
Пример #28
0
    public Result SaveLoanDetails(LoanDetails req)
    {
        Result result = new Result();

        try
        {
            result = LeshLoanSystem.SaveLoanDetails(req);
        }
        catch (Exception ex)
        {
            LeshLoanSystem.LogError(req.LoanNo + "-" + req.LoanDesc, ex.StackTrace, req.CompanyCode, ex.Message, "EXCEPTION");
            result.StatusCode = Globals.HIDE_FAILURE_STATUS_CODE;
            result.StatusDesc = "EXCEPTION: " + ex.Message;
        }
        return(result);
    }
Пример #29
0
    protected LoanDetails GetCollateralDetails()
    {
        LoanDetails Loan = new LoanDetails();

        Loan.LoanNo         = txtLoanNo.Text;
        Loan.Name           = txtColName.Text.ToString();
        Loan.Type           = txtLoanAmount.Text.Trim();
        Loan.Model          = txtLoanPurp.Text.Trim().ToString();
        Loan.Make           = txtInterest.Text.Trim().ToString();
        Loan.SerialNumber   = txtColSerialNo.Text.ToString();
        Loan.Observations   = txtColObsv.Text;
        Loan.ImageProof     = txtColImgProof.FileBytes.ToString();
        Loan.EstimatedPrice = txtorg.Text;
        Loan.ModifiedBy     = user.UserId;
        return(Loan);
    }
Пример #30
0
        // Details

        private void Details(object sender, EventArgs e)
        {
            if (!CheckForSelectedItem())
            {
                return;
            }

            Hide();
            switch (_option)
            {
            case 1:
                var authorDetails = new AuthorDetails(entitiesListBox.SelectedItem as Author);
                authorDetails.Closed += (s, args) => Show();
                authorDetails.ShowDialog();
                break;

            case 2:
                var publisherDetails = new PublisherDetails(entitiesListBox.SelectedItem as Publisher);
                publisherDetails.Closed += (s, args) => Show();
                publisherDetails.ShowDialog();
                break;

            case 3:
                var studentDetails = new StudentDetails(entitiesListBox.SelectedItem as Student);
                studentDetails.Closed += (s, args) => Show();
                studentDetails.ShowDialog();
                break;

            case 4:
                var bookDetails = new BookDetails(entitiesListBox.SelectedItem as Book);
                bookDetails.Closed += (s, args) => Show();
                bookDetails.ShowDialog();
                break;

            case 5:
                var loanDetails = new LoanDetails(entitiesListBox.SelectedItem as Loan);
                loanDetails.Closed += (s, args) => Show();
                loanDetails.ShowDialog();
                break;

            default:
                CommonErrorMessage();
                break;
            }

            RefreshRepositories();
        }