Ejemplo n.º 1
0
        private Loan _GetLoan(OpenCbsReader r)
        {
            return new Loan(_user, ApplicationSettings.GetInstance(_user.Md5),
                            NonWorkingDateSingleton.GetInstance(_user.Md5),
                            ProvisionTable.GetInstance(_user), ChartOfAccounts.GetInstance(_user))
                       {
                           Id = r.GetInt("credit_id"),
                           ClientType = r.GetChar("client_type_code") == 'I'
                                            ? OClientTypes.Person
                                            : r.GetChar("client_type_code") == 'G'
                                                  ? OClientTypes.Group
                                                  : OClientTypes.Corporate,
                           ContractStatus = (OContractStatus) r.GetSmallInt("status"),
                           CreditCommiteeDate = r.GetNullDateTime("credit_commitee_date"),
                           CreditCommiteeComment = r.GetString("credit_commitee_comment"),
                           CreditCommitteeCode = r.GetString("credit_commitee_code"),
                           Amount = r.GetMoney("amount"),
                           InterestRate = r.GetDecimal("interest_rate"),
                           NbOfInstallments = r.GetInt("nb_of_installment"),
                           NonRepaymentPenalties = new NonRepaymentPenalties
                                                       {
                                                           InitialAmount = r.GetDouble("non_repayment_penalties_based_on_initial_amount"),
                                                           OLB = r.GetDouble("non_repayment_penalties_based_on_olb"),
                                                           OverDueInterest = r.GetDouble("non_repayment_penalties_based_on_overdue_interest"),
                                                           OverDuePrincipal = r.GetDouble("non_repayment_penalties_based_on_overdue_principal")
                                                       },

                           AnticipatedTotalRepaymentPenalties = r.GetDouble("anticipated_total_repayment_penalties"),
                           AnticipatedPartialRepaymentPenalties = r.GetDouble("anticipated_partial_repayment_penalties"),
                           AnticipatedPartialRepaymentPenaltiesBase = (OAnticipatedRepaymentPenaltiesBases)
                               r.GetSmallInt("anticipated_partial_repayment_base"),
                           AnticipatedTotalRepaymentPenaltiesBase =(OAnticipatedRepaymentPenaltiesBases)
                               r.GetSmallInt("anticipated_total_repayment_base"),

                           Disbursed = r.GetBool("disbursed"),
                           GracePeriod = r.GetNullInt("grace_period"),
                           GracePeriodOfLateFees = r.GetNullInt("grace_period_of_latefees"),
                           WrittenOff = r.GetBool("written_off"),
                           Rescheduled = r.GetBool("rescheduled"),

                           Code = r.GetString("contract_code"),
                           BranchCode = r.GetString("branch_code"),
                           CreationDate = r.GetDateTime("creation_date"),
                           StartDate = r.GetDateTime("start_date"),
                           AlignDisbursementDate = r.GetDateTime("align_disbursed_date"),
                           CloseDate = r.GetDateTime("close_date"),
                           Closed = r.GetBool("closed"),
                           BadLoan = r.GetBool("bad_loan"),
                           Synchronize = r.GetBool("synchronize"),
                           ScheduleChangedManually = r.GetBool("schedule_changed"),
                           AmountUnderLoc = r.GetMoney("amount_under_loc"),
                           CompulsorySavingsPercentage = r.GetNullInt("loan_percentage"),
                           LoanPurpose = r.GetString("loan_purpose"),
                           Comments = r.GetString("comments"),
                           AmountMin = r.GetMoney("amount_min"),
                           AmountMax = r.GetMoney("amount_max"),
                           InterestRateMin = r.GetNullDecimal("ir_min"),
                           InterestRateMax = r.GetNullDecimal("ir_max"),
                           NmbOfInstallmentsMin = r.GetNullInt("nmb_of_inst_min"),
                           NmbOfInstallmentsMax = r.GetNullInt("nmb_of_inst_max"),
                           LoanCycle = r.GetNullInt("loan_cycle"),
                           Insurance = r.GetDecimal("insurance"),
                           NsgID = r.GetNullInt("nsg_id"),
                           EconomicActivityId = r.GetInt("activity_id"),
                           FirstInstallmentDate = r.GetDateTime("preferred_first_installment_date"),
            };
        }
Ejemplo n.º 2
0
 private static TrancheEvent GetTransh(OpenCbsReader r)
 {
     return new TrancheEvent
     {
         Number = r.GetInt("Number"),
         StartDate = r.GetDateTime("start_date"),
         Amount = r.GetMoney("amount"),
         Maturity = r.GetInt("countOfInstallments"),
         ApplyNewInterest = r.GetBool("ApplyNewInterest"),
         InterestRate = r.GetDecimal("interest_rate"),
         StartedFromInstallment = r.GetInt("started_from_installment"),
         Deleted = r.GetBool("is_deleted"),
         Id = r.GetInt("event_id")
     };
 }
Ejemplo n.º 3
0
 private static Event GetCreditInsuranceEvent(OpenCbsReader r)
 {
     CreditInsuranceEvent cie = new CreditInsuranceEvent();
     cie.Id = r.GetInt("cie_id");
     cie.Commission = r.GetDecimal("cie_commission");
     cie.Principal = r.GetDecimal("cie_principal");
     return cie;
 }
Ejemplo n.º 4
0
        private static LoanProduct GetProduct(OpenCbsReader r)
        {
            LoanProduct package = new LoanProduct();
            package.Id = r.GetInt("id");
            package.Delete = r.GetBool("deleted");
            package.Name = r.GetString("name");
            package.Code = r.GetString("code");
            package.ClientType = r.GetChar("client_type");
            package.LoanType = (OLoanTypes)r.GetSmallInt("loan_type");
            package.RoundingType = (ORoundingType)r.GetSmallInt("rounding_type");
            package.Amount = r.GetMoney("amount");
            package.AmountMin = r.GetMoney("amount_min");
            package.AmountMax = r.GetMoney("amount_max");
            package.InterestRate = r.GetNullDecimal("interest_rate");
            package.InterestRateMin = r.GetNullDecimal("interest_rate_min");
            package.InterestRateMax = r.GetNullDecimal("interest_rate_max");
            package.GracePeriod = r.GetNullInt("grace_period");
            package.GracePeriodMin = r.GetNullInt("grace_period_min");
            package.GracePeriodMax = r.GetNullInt("grace_period_max");
            package.GracePeriodOfLateFees = r.GetNullInt("grace_period_of_latefees");
            package.NbOfInstallments = r.GetNullInt("number_of_installments");
            package.NbOfInstallmentsMin = r.GetNullInt("number_of_installments_min");
            package.NbOfInstallmentsMax = r.GetNullInt("number_of_installments_max");

            package.AnticipatedTotalRepaymentPenalties = r.GetNullDouble("anticipated_total_repayment_penalties");
            package.AnticipatedTotalRepaymentPenaltiesMin = r.GetNullDouble("anticipated_total_repayment_penalties_min");
            package.AnticipatedTotalRepaymentPenaltiesMax = r.GetNullDouble("anticipated_total_repayment_penalties_max");

            package.AnticipatedPartialRepaymentPenalties = r.GetNullDouble("anticipated_partial_repayment_penalties");
            package.AnticipatedPartialRepaymentPenaltiesMin = r.GetNullDouble("anticipated_partial_repayment_penalties_min");
            package.AnticipatedPartialRepaymentPenaltiesMax = r.GetNullDouble("anticipated_partial_repayment_penalties_max");

            package.ChargeInterestWithinGracePeriod = r.GetBool("charge_interest_within_grace_period");
            package.KeepExpectedInstallment = r.GetBool("keep_expected_installment");

            package.AnticipatedTotalRepaymentPenaltiesBase = (OAnticipatedRepaymentPenaltiesBases)r.GetSmallInt("anticipated_total_repayment_base");
            package.AnticipatedPartialRepaymentPenaltiesBase = (OAnticipatedRepaymentPenaltiesBases)r.GetSmallInt("anticipated_partial_repayment_base");

            package.NonRepaymentPenalties.InitialAmount = r.GetNullDouble("non_repayment_penalties_based_on_initial_amount");
            package.NonRepaymentPenalties.OLB = r.GetNullDouble("non_repayment_penalties_based_on_olb");
            package.NonRepaymentPenalties.OverDueInterest = r.GetNullDouble("non_repayment_penalties_based_on_overdue_interest");
            package.NonRepaymentPenalties.OverDuePrincipal = r.GetNullDouble("non_repayment_penalties_based_on_overdue_principal");

            package.NonRepaymentPenaltiesMin.InitialAmount = r.GetNullDouble("non_repayment_penalties_based_on_initial_amount_min");
            package.NonRepaymentPenaltiesMin.OLB = r.GetNullDouble("non_repayment_penalties_based_on_olb_min");
            package.NonRepaymentPenaltiesMin.OverDuePrincipal = r.GetNullDouble("non_repayment_penalties_based_on_overdue_principal_min");
            package.NonRepaymentPenaltiesMin.OverDueInterest = r.GetNullDouble("non_repayment_penalties_based_on_overdue_interest_min");

            package.NonRepaymentPenaltiesMax.InitialAmount = r.GetNullDouble("non_repayment_penalties_based_on_initial_amount_max");
            package.NonRepaymentPenaltiesMax.OLB = r.GetNullDouble("non_repayment_penalties_based_on_olb_max");
            package.NonRepaymentPenaltiesMax.OverDueInterest = r.GetNullDouble("non_repayment_penalties_based_on_overdue_interest_max");
            package.NonRepaymentPenaltiesMax.OverDuePrincipal = r.GetNullDouble("non_repayment_penalties_based_on_overdue_principal_max");
            package.AllowFlexibleSchedule = r.GetBool("allow_flexible_schedule");

            package.UseGuarantorCollateral = r.GetBool("use_guarantor_collateral");
            package.SetSeparateGuarantorCollateral = r.GetBool("set_separate_guarantor_collateral");

            package.PercentageTotalGuarantorCollateral = r.GetInt("percentage_total_guarantor_collateral");
            package.PercentageSeparateGuarantour = r.GetInt("percentage_separate_guarantor");
            package.PercentageSeparateCollateral = r.GetInt("percentage_separate_collateral");

            package.UseCompulsorySavings = r.GetBool("use_compulsory_savings");
            package.CompulsoryAmount = r.GetNullInt("compulsory_amount");
            package.CompulsoryAmountMin = r.GetNullInt("compulsory_amount_min");
            package.CompulsoryAmountMax = r.GetNullInt("compulsory_amount_max");
            package.UseEntryFeesCycles = r.GetBool("use_entry_fees_cycles");

            //if (DatabaseHelper.GetNullAuthorizedInt32("fundingLine_id", pReader).HasValue)
            //{
            //    package.FundingLine = new FundingLine { Id = r.GetNullInt("fundingLine_id").Value };
            //    package.FundingLine.Name = r.GetString("funding_line_name");
            //    package.FundingLine.Currency = new Currency { Id = r.GetInt("funding_line_currency_id") };
            //}
            if (r.GetNullInt("currency_id").HasValue)
            {
                package.Currency = new Currency
                                       {
                                           Id = r.GetInt("currency_id"),
                                           Code = r.GetString("currency_code"),
                                           Name = r.GetString("currency_name"),
                                           IsPivot = r.GetBool("currency_is_pivot"),
                                           IsSwapped = r.GetBool("currency_is_swapped"),
                                           UseCents = r.GetBool("currency_use_cents")
                                       };
            }

            /* Line of credit */
            package.DrawingsNumber = r.GetNullInt("number_of_drawings_loc");

            package.AmountUnderLoc = r.GetMoney("amount_under_loc");
            package.AmountUnderLocMin = r.GetMoney("amount_under_loc_min");
            package.AmountUnderLocMax = r.GetMoney("amount_under_loc_max");

            package.MaturityLoc = r.GetNullInt("maturity_loc");
            package.MaturityLocMin = r.GetNullInt("maturity_loc_min");
            package.MaturityLocMax = r.GetNullInt("maturity_loc_max");
            package.ActivatedLOC = r.GetBool("activated_loc");
            package.CycleId = r.GetNullInt("cycle_id");
            package.CreditInsuranceMin = r.GetDecimal("insurance_min");
            package.CreditInsuranceMax = r.GetDecimal("insurance_max");
            package.InterestScheme = (OInterestScheme)r.GetInt("interest_scheme");
            return package;
        }
Ejemplo n.º 5
0
 private static RescheduleLoanEvent GetReschedulingLoanEvent(OpenCbsReader r)
 {
     return new RescheduleLoanEvent{
         Id = r.GetInt("rle_id"),
         Amount = r.GetMoney("rle_amount"),
         NbOfMaturity = r.GetInt("rle_maturity"),
         PreferredFirstInstallmentDate = r.GetDateTime("rle_preferred_first_installment_date"),
          PreviousInterestRate = r.GetDecimal("rle_previous_interest_rate")
     };
 }
Ejemplo n.º 6
0
 private static Event GetPenaltyWriteOffEvent(OpenCbsReader r)
 {
     var result = new PenaltyWriteOffEvent();
     result.Id = r.GetInt("pwoe_id");
     result.Amount = r.GetDecimal("pwoe_amount");
     return result;
 }