/// private function //-> private async Task <tblLoanRequest> SaveToLoanRequest(int payDay, double amount, int accountID, string purpose) { var loanRequest = new tblLoanRequest(); loanRequest.createdDate = DateTime.Now; //loanRequest.payDate = DateTime.Now; var today = DateTime.Now; var payDate = DateTime.Parse(DateTime.Now.AddDays(payDay).ToString("yyyy-MM-dd HH':'mm':'ss")); loanRequest.payDate = payDate; var interestRate = 0; switch (payDay) { case 10: interestRate = 10; break; case 15: interestRate = 15; break; case 30: interestRate = 30; break; default: interestRate = 0; break; } loanRequest.accountID = accountID; loanRequest.payDay = payDay; loanRequest.amount = Decimal.Parse(amount.ToString()); loanRequest.interestRate = interestRate; loanRequest.interestAmount = Decimal.Parse((amount * interestRate / 100).ToString()); loanRequest.loanAmount = Decimal.Parse((Decimal.Parse(amount.ToString()) + loanRequest.interestAmount).ToString()); loanRequest.purpose = purpose; loanRequest.status = "Pending"; loanRequest.loan_Balance = loanRequest.loanAmount; loanRequest.loan_PaidAmount = 0; db.tblLoanRequests.Add(loanRequest); await db.SaveChangesAsync(); return(loanRequest); }
private async Task <tblLoanRequest> SaveToLoanRequest(AccountNewDTO accountDTO) { var loanRequest = new tblLoanRequest(); //db.tblLoanRequests.Add(loanRequest); loanRequest.loan_CreatedDate = DateTime.Now; loanRequest.loan_PayDate = DateTime.Now; var interestRate = 0; switch (accountDTO.payDay) { case 10: loanRequest.loan_PayDate = DateTime.Now.AddDays(10); interestRate = 10; break; case 20: loanRequest.loan_PayDate = DateTime.Now.AddDays(20); interestRate = 15; break; case 30: loanRequest.loan_PayDate = DateTime.Now.AddDays(30); interestRate = 20; break; default: interestRate = 0; break; } loanRequest.loan_AccountID = accountDTO.acct_AccountID; loanRequest.loan_PayDay = accountDTO.payDay; loanRequest.loan_Amount = Decimal.Parse(accountDTO.amount.ToString()); loanRequest.loan_InterestRate = interestRate; loanRequest.loan_InterestAmount = Decimal.Parse((accountDTO.amount * interestRate / 100).ToString()); loanRequest.loan_LoanAmount = Decimal.Parse((Decimal.Parse(accountDTO.amount.ToString()) + loanRequest.loan_InterestAmount).ToString()); loanRequest.loan_Purpose = accountDTO.loan_Purpose; loanRequest.loan_Status = "Pending"; loanRequest.loan_Balance = loanRequest.loan_LoanAmount; loanRequest.loan_PaidAmount = 0; db.tblLoanRequests.Add(loanRequest); await db.SaveChangesAsync(); return(loanRequest); }
//-> SelectByID public async Task <CheckLoanRequestViewDTO> SelectByID(int id) { var accountHandler = new AccountHandler(); var checkLoanRequest = new CheckLoanRequestViewDTO(); checkLoanRequest.account = DoubleHelper.TwoPrecision(await accountHandler.SelectByID(id)); var loanRequest = await db.tblLoanRequests.FirstOrDefaultAsync(l => (l.loan_Status.ToLower() != "approved" && l.loan_Status.ToLower() != "rejected") && l.loan_Deleted == null && l.loan_AccountID == id); if (loanRequest == null) { loanRequest = new tblLoanRequest(); } checkLoanRequest.loanRequest = DoubleHelper.TwoPrecision(MappingHelper.MapDBClassToDTO <tblLoanRequest, LoanRequestViewDTO>(loanRequest)); //checkLoanRequest.loanRequest = MappingHelper.MapDBClassToDTO<tblLoanRequest, LoanRequestViewDTO>(loanRequest); return(DoubleHelper.TwoPrecision(checkLoanRequest)); }
private void sendmail(tblLoanRequest loanRequest, tblAccount account) { DocumentHelper.sendEmail("Request -Loan ID " + loanRequest.loan_Code, "Dear Sirs, " + "<br/>Your money will be transferred soon as below: " + //"Bank account name xxxx" + //"Bank account number xxxx" + "<br/>Principle " + loanRequest.loan_Amount.Value.ToString("#,##0.00") + "<br/>Repayment Date " + loanRequest.loan_PayDate.Value.ToString("dd/MM/yyyy") + "<br/>Repayment Amount " + loanRequest.loan_LoanAmount.Value.ToString("#,##0.00") + "<br/>Loan ID " + loanRequest.loan_Code, account.acct_Email, isHtml: true); DocumentHelper.sendEmail("New Loan Request -Loan ID " + loanRequest.loan_Code, "Dear Admin, " + "<br/>New loan request info : " + "<br/>Principle " + loanRequest.loan_Amount.Value.ToString("#,##0.00") + "<br/>Repayment Date " + loanRequest.loan_PayDate.Value.ToString("dd/MM/yyyy") + "<br/>Repayment Amount " + loanRequest.loan_LoanAmount.Value.ToString("#,##0.00") + "<br/>Loan ID " + loanRequest.loan_Code, System.Configuration.ConfigurationManager.AppSettings["smtpuser"], isHtml: true); }
public async Task <tblLoanRequest> SaveToLoanRequest(LoanRequestBaseDTO loanRequestDTO, int accountID) { /* * var loanRequest = new tblLoanRequest(); * //db.tblLoanRequests.Add(loanRequest); * loanRequest.createdDate = DateTime.Now; * loanRequest.payDate = DateTime.Now; * var interestRate = 0; * switch (loanRequestDTO.payday) * { * case 10: * interestRate = 10; * break; * case 15: * interestRate = 15; * break; * case 30: * interestRate = 30; * break; * default: * interestRate = 0; * break; * } * loanRequest.accountID = accountID; * loanRequest.payDay = loanRequestDTO.payday; * loanRequest.amount = Decimal.Parse(loanRequestDTO.amount.ToString()); * loanRequest.interestRate = interestRate; * loanRequest.interestAmount = Decimal.Parse((loanRequestDTO.amount * interestRate / 100).ToString()); * loanRequest.loanAmount = Decimal.Parse((Decimal.Parse(loanRequestDTO.amount.ToString()) + loanRequest.interestAmount).ToString()); * db.tblLoanRequests.Add(loanRequest); * await db.SaveChangesAsync(); * return loanRequest; */ var loanRequest = new tblLoanRequest(); //db.tblLoanRequests.Add(loanRequest); loanRequest.createdDate = DateTime.Now; var today = DateTime.Now; var payDate = DateTime.Parse(DateTime.Now.AddDays(loanRequestDTO.payday).ToString("yyyy-MM-dd HH':'mm':'ss")); loanRequest.payDate = payDate; var interestRate = 0; switch (loanRequestDTO.payday) { case 10: interestRate = 10; break; case 15: interestRate = 15; break; case 30: interestRate = 30; break; default: interestRate = 0; break; } loanRequest.accountID = accountID; loanRequest.payDay = loanRequestDTO.payday; loanRequest.loanAmount = Decimal.Parse(loanRequestDTO.amount.ToString()); loanRequest.interestRate = interestRate; loanRequest.interestAmount = Decimal.Parse((loanRequestDTO.amount * interestRate / 100).ToString()); loanRequest.loanAmount = Decimal.Parse((Decimal.Parse(loanRequestDTO.amount.ToString()) + loanRequest.interestAmount).ToString()); loanRequest.purpose = loanRequestDTO.purpose; loanRequest.status = "Pending"; loanRequest.loan_Balance = loanRequest.loanAmount; loanRequest.loan_PaidAmount = 0; db.tblLoanRequests.Add(loanRequest); await db.SaveChangesAsync(); return(loanRequest); }
//private function private tblLoanRequest LoanRequestCalculation(LoanRequestNewDTO loanRequestDTO, tblLoanRequest loanRequest) { var interestRate = 0; switch (loanRequestDTO.payDay) { case 10: interestRate = 10; loanRequest.loan_PayDate = DateTime.Now.AddDays(10); break; case 20: interestRate = 15; loanRequest.loan_PayDate = DateTime.Now.AddDays(15); break; case 30: interestRate = 30; loanRequest.loan_PayDate = DateTime.Now.AddDays(30); break; default: interestRate = 0; break; } loanRequest.loan_InterestRate = interestRate; loanRequest.loan_InterestAmount = Decimal.Parse((loanRequestDTO.amount * interestRate / 100).ToString()); loanRequest.loan_LoanAmount = Decimal.Parse((Decimal.Parse(loanRequestDTO.amount.ToString()) + loanRequest.loan_InterestAmount).ToString()); return(loanRequest); }