Exemplo n.º 1
0
        private ApprovalRegRespObj AddTempLoanApplicationSchedule(int loanApplicationId)
        {
            try
            {
                var loanApp      = _dataContext.credit_loanapplication.Find(loanApplicationId);
                var product      = _dataContext.credit_product.Find(loanApp.ApprovedProductId);
                var maturityDate = loanApp.EffectiveDate.AddDays(loanApp.ApprovedTenor);

                //var paymentDate = loanApp.FirstPrincipalDate.Value.AddDays(30);
                var paymentDate = loanApp.FirstPrincipalDate;

                LoanPaymentScheduleInputObj input = new LoanPaymentScheduleInputObj
                {
                    ScheduleMethodId          = (short)product.ScheduleTypeId,
                    PrincipalAmount           = (double)loanApp.ApprovedAmount,
                    EffectiveDate             = loanApp.EffectiveDate,
                    InterestRate              = loanApp.ApprovedRate,
                    PrincipalFrequency        = product.FrequencyTypeId,
                    InterestFrequency         = product.FrequencyTypeId,
                    PrincipalFirstpaymentDate = paymentDate ?? DateTime.Now,
                    InterestFirstpaymentDate  = paymentDate ?? DateTime.Now,
                    MaturityDate              = maturityDate,
                    AccurialBasis             = 2,
                    IntegralFeeAmount         = 0,
                    FirstDayType              = 0,
                    CreatedBy = loanApp.CreatedBy,
                    IrregularPaymentSchedule = null
                };

                return(new ApprovalRegRespObj {
                    AnyIdentifier = loanApplicationId, loanPayment = input
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
 public async Task <ActionResult <LoanScheduleRespObj> > GeneratePeriodicLoanScheduleExport([FromBody] LoanPaymentScheduleInputObj model)
 {
     try
     {
         var response = _repo.GeneratePeriodicLoanScheduleExport(model);
         return(new LoanScheduleRespObj
         {
             export = response,
         });
     }
     catch (Exception ex)
     {
         var errorCode = ErrorID.Generate(5);
         _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}");
         return(new LoanScheduleRespObj
         {
             Status = new APIResponseStatus {
                 IsSuccessful = false, Message = new APIResponseMessage {
                     FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message, MessageId = errorCode
                 }
             }
         });
     }
 }