Example #1
0
 public void Add(AlertStock alertStock)
 {
     foreach (DictionaryEntry entry in alertStock)
     {
         AddAlert((Alert)entry.Value);
     }
 }
Example #2
0
        public AlertStock SelectLoansByLoanOfficer(int pLoanOfficerId)
        {
            string addLoanOfficer = "";

            if (pLoanOfficerId != 0)
                addLoanOfficer = " AND (Credit.loanofficer_id = @loanOfficerId) ";

            string sqlTextRepaymentAlert =
                string.Format(@"SELECT Credit.id AS contract_id,
                                  Credit.interest_rate,
                                  Contracts.contract_code,
                                  Contracts.creation_date,
                                  Contracts.start_date,
                                  Contracts.align_disbursed_date,
                                  Contracts.close_date,
                                  CASE Contracts.status
                                    WHEN 1 THEN 'Pending'
                                    WHEN 2 THEN 'Validated'
                                    WHEN 3 THEN 'Refused'
                                    WHEN 4 THEN 'Abandoned'
                                    WHEN 5 THEN 'Active'
                                    WHEN 6 THEN 'Closed'
                                    WHEN 7 THEN 'WrittenOff'
                                    ELSE '-'
                                  END AS loan_status,
                                  InstallmentTypes.name AS installment_types,
                                  ISNULL(Groups.name, ISNULL(Persons.first_name + ' ' + Persons.last_name,Corporates.name)) AS client_name,
                                  Districts.name as district_name, Installments.capital_repayment + Installments.interest_repayment
                                  - Installments.paid_capital - Installments.paid_interest AS amount,
                                  Installments.expected_date AS effect_date, ISNULL(( SELECT SUM(principal) FROM contractEvents
                                  INNER JOIN repaymentEvents ON repaymentEvents.id = contractEvents.id WHERE is_deleted = 0
                                  AND contract_id = Contracts.id ), 0) AS olb FROM Credit
                                  INNER JOIN Contracts ON Contracts.id = Credit.id
                                  INNER JOIN Installments ON Installments.contract_id = Credit.id
                                  INNER JOIN InstallmentTypes ON dbo.Credit.installment_type = dbo.InstallmentTypes.id
                                  INNER JOIN Projects ON Contracts.project_id = Projects.id
                                  INNER JOIN Tiers ON Projects.tiers_id = Tiers.id
                                  LEFT OUTER JOIN Corporates ON Tiers.id=Corporates.id
                                  LEFT OUTER JOIN Persons ON dbo.Tiers.id = Persons.id
                                  LEFT OUTER JOIN Groups ON dbo.Tiers.id = Groups.id
                                  LEFT OUTER JOIN Districts ON dbo.Tiers.district_id = Districts.id
                                  WHERE ( Installments.capital_repayment + Installments.interest_repayment - Installments.paid_capital - Installments.paid_interest > 0.02 ) AND Contracts.status = 5
                                  {0}
                                  ORDER BY contract_id, effect_date DESC", addLoanOfficer);
            using (SqlConnection conn = GetConnection())
            using (OpenCbsCommand cmdSelectRepayment = new OpenCbsCommand(sqlTextRepaymentAlert, conn))
            {
                if (pLoanOfficerId != 0)
                    cmdSelectRepayment.AddParam("@loanOfficerId", pLoanOfficerId);

                using (OpenCbsReader reader = cmdSelectRepayment.ExecuteReader())
                {
                    if(reader.Empty) return new AlertStock();

                    AlertStock alertStock = new AlertStock();
                    while (reader.Read())
                    {
                        alertStock.Add(GetAlert(reader, 'R'));
                    }
                    return alertStock;
                }
            }
        }
Example #3
0
		public void Add(AlertStock alertStock)
		{
			foreach(DictionaryEntry entry in alertStock)
			{
				AddAlert((Alert)entry.Value);
			}
		}