private void GetSavingBookFromReader(SavingBookContract saving, OpenCbsReader reader) { saving.FlatWithdrawFees = reader.GetNullDecimal("flat_withdraw_fees"); saving.RateWithdrawFees = reader.GetNullDouble("rate_withdraw_fees"); saving.FlatTransferFees = reader.GetNullDecimal("flat_transfer_fees"); saving.RateTransferFees = reader.GetNullDouble("rate_transfer_fees"); saving.DepositFees = reader.GetNullDecimal("flat_deposit_fees"); saving.ChequeDepositFees = reader.GetNullDecimal("cheque_deposit_fees"); saving.CloseFees = reader.GetNullDecimal("flat_close_fees"); saving.ManagementFees = reader.GetNullDecimal("flat_management_fees"); saving.OverdraftFees = reader.GetNullDecimal("flat_overdraft_fees"); saving.InOverdraft = reader.GetBool("in_overdraft"); saving.AgioFees = reader.GetNullDouble("rate_agio_fees"); saving.ReopenFees = reader.GetNullDecimal("flat_reopen_fees"); saving.FlatInterBranchTransferFee = reader.GetNullDecimal("flat_ibt_fee"); saving.RateInterBranchTransferFee =reader.GetNullDouble("rate_ibt_fee"); saving.UseTermDeposit = reader.GetBool("use_term_deposit"); saving.NumberOfPeriods = reader.GetInt("term_deposit_period"); saving.TermDepositPeriodMin = reader.GetNullInt("term_deposit_period_min"); saving.TermDepositPeriodMax = reader.GetNullInt("term_deposit_period_max"); saving.TransferAccount = new SavingBookContract(ApplicationSettings.GetInstance(_user.Md5), _user) { Code = reader.GetString("transfer_account") }; saving.NextMaturity = reader.GetNullDateTime("next_maturity"); if (saving.UseTermDeposit) saving.Rollover = (OSavingsRollover) reader.GetInt("rollover"); // This is the bozo's way of fetching branch information. // Ideally it should be available through the saving's client object. // But that object is initialized in many places so that modifying // it does not look feasible. // Instead, we constract a new Branch object *partially* and then // through the OnSavingSelected below call back into the Service layer // to finalize the construction. saving.Branch = new Branch {Id = reader.GetInt("branch_id")}; }
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"), }; }
private static EntryFee GetEntryFee(OpenCbsReader r) { EntryFee entryFee = new EntryFee { Id = r.GetInt("id"), Name = r.GetString("name_of_fee"), Min = r.GetNullDecimal("min"), Max = r.GetNullDecimal("max"), Value = r.GetNullDecimal("value"), IsRate = r.GetNullBool("rate") ?? false, Index = r.GetInt("fee_index"), CycleId = r.GetNullInt("cycle_id") }; return entryFee; }
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; }
private static ISavingProduct GetProduct(OpenCbsReader r) { ISavingProduct product; switch (r.GetChar("product_type")) { case 'B' : product = new SavingsBookProduct(); break; default : product = null; break; } product.Id = r.GetInt("id"); product.Delete = r.GetBool("deleted"); product.Name = r.GetString("name"); product.Code = r.GetString("code"); product.ClientType = r.GetChar("client_type") == 'C' ? OClientTypes.Corporate : r.GetChar("client_type") == 'G' ? OClientTypes.Group : r.GetChar("client_type") == 'I' ? OClientTypes.Person : OClientTypes.All; product.InitialAmountMin = r.GetMoney("initial_amount_min"); product.InitialAmountMax = r.GetMoney("initial_amount_max"); product.BalanceMin = r.GetMoney("balance_min"); product.BalanceMax = r.GetMoney("balance_max"); product.DepositMin = r.GetMoney("deposit_min"); product.DepositMax = r.GetMoney("deposit_max"); product.WithdrawingMin = r.GetMoney("withdraw_min"); product.WithdrawingMax = r.GetMoney("withdraw_max"); product.TransferMin = r.GetMoney("transfer_min"); product.TransferMax = r.GetMoney("transfer_max"); product.InterestRate = r.GetNullDouble("interest_rate"); product.InterestRateMin = r.GetNullDouble("interest_rate_min"); product.InterestRateMax = r.GetNullDouble("interest_rate_max"); product.EntryFees = r.GetMoney("entry_fees"); product.EntryFeesMax = r.GetMoney("entry_fees_max"); product.EntryFeesMin = r.GetMoney("entry_fees_min"); if (product is SavingsBookProduct) { var savingBookProduct = (SavingsBookProduct) product; savingBookProduct.InterestBase = (OSavingInterestBase)r.GetSmallInt("interest_base"); savingBookProduct.InterestFrequency = (OSavingInterestFrequency)r.GetSmallInt("interest_frequency"); if (savingBookProduct.InterestBase == OSavingInterestBase.Monthly || savingBookProduct.InterestBase == OSavingInterestBase.Weekly) savingBookProduct.CalculAmountBase = (OSavingCalculAmountBase)r.GetSmallInt("calcul_amount_base"); savingBookProduct.WithdrawFeesType = (OSavingsFeesType)r.GetSmallInt("withdraw_fees_type"); if (savingBookProduct.WithdrawFeesType == OSavingsFeesType.Flat) { savingBookProduct.FlatWithdrawFeesMin = r.GetMoney("flat_withdraw_fees_min"); savingBookProduct.FlatWithdrawFeesMax = r.GetMoney("flat_withdraw_fees_max"); savingBookProduct.FlatWithdrawFees = r.GetMoney("flat_withdraw_fees"); } else { savingBookProduct.RateWithdrawFeesMin = r.GetNullDouble("rate_withdraw_fees_min"); savingBookProduct.RateWithdrawFeesMax = r.GetNullDouble("rate_withdraw_fees_max"); savingBookProduct.RateWithdrawFees = r.GetNullDouble("rate_withdraw_fees"); } savingBookProduct.TransferFeesType = (OSavingsFeesType)r.GetSmallInt("transfer_fees_type"); if (savingBookProduct.TransferFeesType == OSavingsFeesType.Flat) { savingBookProduct.FlatTransferFeesMin = r.GetMoney("flat_transfer_fees_min"); savingBookProduct.FlatTransferFeesMax = r.GetMoney("flat_transfer_fees_max"); savingBookProduct.FlatTransferFees = r.GetMoney("flat_transfer_fees"); } else { savingBookProduct.RateTransferFeesMin = r.GetNullDouble("rate_transfer_fees_min"); savingBookProduct.RateTransferFeesMax = r.GetNullDouble("rate_transfer_fees_max"); savingBookProduct.RateTransferFees = r.GetNullDouble("rate_transfer_fees"); } Fee fee = savingBookProduct.InterBranchTransferFee; fee.IsFlat = r.GetBool("is_ibt_fee_flat"); fee.Min = r.GetNullDecimal("ibt_fee_min"); fee.Max = r.GetNullDecimal("ibt_fee_max"); fee.Value = r.GetNullDecimal("ibt_fee"); savingBookProduct.DepositFees = r.GetMoney("deposit_fees"); savingBookProduct.DepositFeesMax = r.GetMoney("deposit_fees_max"); ((SavingsBookProduct)product).DepositFeesMin = r.GetMoney("deposit_fees_min"); savingBookProduct.ChequeDepositMin = r.GetMoney("cheque_deposit_min"); savingBookProduct.ChequeDepositMax = r.GetMoney("cheque_deposit_max"); savingBookProduct.ChequeDepositFees = r.GetMoney("cheque_deposit_fees"); savingBookProduct.ChequeDepositFeesMin = r.GetMoney("cheque_deposit_fees_min"); savingBookProduct.ChequeDepositFeesMax = r.GetMoney("cheque_deposit_fees_max"); savingBookProduct.CloseFees = r.GetMoney("close_fees"); savingBookProduct.CloseFeesMax = r.GetMoney("close_fees_max"); savingBookProduct.CloseFeesMin = r.GetMoney("close_fees_min"); savingBookProduct.ManagementFees = r.GetMoney("management_fees"); savingBookProduct.ManagementFeesMax = r.GetMoney("management_fees_max"); savingBookProduct.ManagementFeesMin = r.GetMoney("management_fees_min"); savingBookProduct.ManagementFeeFreq = new InstallmentType { Id = r.GetInt("mgmt_fee_freq_id"), Name = r.GetString("mgmt_fee_freq_name"), NbOfDays = r.GetInt("mgmt_fee_freq_days"), NbOfMonths = r.GetInt("mgmt_fee_freq_months") }; savingBookProduct.OverdraftFees = r.GetMoney("overdraft_fees"); savingBookProduct.OverdraftFeesMax = r.GetMoney("overdraft_fees_max"); savingBookProduct.OverdraftFeesMin = r.GetMoney("overdraft_fees_min"); savingBookProduct.AgioFees = r.GetNullDouble("agio_fees"); savingBookProduct.AgioFeesMax = r.GetNullDouble("agio_fees_max"); savingBookProduct.AgioFeesMin = r.GetNullDouble("agio_fees_min"); ((SavingsBookProduct)product).AgioFeesFreq = new InstallmentType { Id = r.GetInt("agio_fees_freq_id"), Name = r.GetString("agio_fees_freq_name"), NbOfDays = r.GetInt("agio_fees_freq_days"), NbOfMonths = r.GetInt("agio_fees_freq_months") }; savingBookProduct.ReopenFees = r.GetMoney("reopen_fees"); savingBookProduct.ReopenFeesMin = r.GetMoney("reopen_fees_min"); savingBookProduct.ReopenFeesMax = r.GetMoney("reopen_fees_max"); savingBookProduct.UseTermDeposit = r.GetBool("use_term_deposit"); savingBookProduct.TermDepositPeriodMin = r.GetNullInt("term_deposit_period_min"); savingBookProduct.TermDepositPeriodMax = r.GetNullInt("term_deposit_period_max"); if (savingBookProduct.UseTermDeposit) { savingBookProduct.InstallmentTypeId = r.GetNullInt("posting_frequency"); savingBookProduct.Periodicity = new InstallmentType { Id = r.GetInt("posting_frequency"), Name = r.GetString("periodicity_name") , NbOfDays = r.GetInt("periodicity_days"), NbOfMonths = r.GetInt("periodicity_month") }; } } if (r.GetNullInt("currency_id") != null) { product.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") }; } return product; }