using System; using System.Collections.Generic; using System.Text; using System.Data; namespace PDFGenerator.BusinessLayer.DataSection { class DSS140AnalisiRisparmioCharts: IDataSection { #region IDataSection Members StructColor toBeFound = new StructColor(); public DataSectionResult getDataSection(List tabelleSessione, string querySql, DataThread dataThread) { FormatNum num = new FormatNum(); DataSectionResult dsr = new DataSectionResult(); DataTable dt = null; dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread); if (dt.Rows.Count == 0) { dsr.Esito = 0; return dsr; } toBeFound.Tipo = "Classi Rischio Credito"; DataRow row; DataView ordina = new DataView(dt); ordina.Sort = "ordine"; DataTable tabOrdinata = ordina.ToTable(); row = tabOrdinata.Rows[0]; DataSetS140 ds140 = new DataSetS140(); ds140.RischioCredito.Columns["CounterValue"].Caption = "Controvalore (€)"; ds140.RischioCredito.Columns["Percentage"].Caption = "Peso (%)"; decimal soggettoRischioCredito = Convert.ToDecimal(row["CTV_CreditRisk"]); decimal noSoggettoRischioCredito = Convert.ToDecimal(row["CTV_na"]); decimal patrimonioNonRappresentabile = Convert.ToDecimal(row["CTV_Notcovered"]); decimal scopertoCCNegativo = dataThread.TotalNegativeCurrentAccountValue; decimal lineaSelfNeg = dataThread.TotalSelfNegCurrentAccountValue; decimal operazioniInCorso = dataThread.PartiteViaggiantiInvestimento + dataThread.PartiteViaggiantiDisinvestimento; decimal patrimonioTotale = soggettoRischioCredito + noSoggettoRischioCredito + patrimonioNonRappresentabile;// +scopertoCCNegativo + lineaSelfNeg + operazioniInCorso; string nota = lineaSelfNeg<0 || operazioniInCorso !=0 || scopertoCCNegativo<0?"*":""; //decimal PERC_DiFF = Decimal.Round(Convert.ToDecimal(row["PERC_CreditRisk"]), 2) + Decimal.Round(Convert.ToDecimal(row["PERC_na"]), 2); #region Soggetto a Rischio Credito DataRow dr = ds140.RischioCredito.NewRow(); dr["RiskClassName"] = "Soggetto a Rischio Credito"; dr["CounterValue"] = num.ConvertNum(soggettoRischioCredito); dr["Percentage"] = Decimal.Round(Convert.ToDecimal(row["PERC_CreditRisk"]), 2); dr["Red"] = 252; dr["Green"] = 202; dr["Blue"] = 203; ds140.RischioCredito.Rows.Add(dr); dr = ds140.ChartData.NewRow(); dr["Percentage"] = Decimal.Round(Convert.ToDecimal(row["PERC_CreditRisk"]), 2); dr["Red"] = 252; dr["Green"] = 202; dr["Blue"] = 203; ds140.ChartData.Rows.Add(dr); #endregion #region Non soggetto a Rischio Credito dr = ds140.RischioCredito.NewRow(); dr["RiskClassName"] = "Non soggetto a Rischio Credito"; dr["CounterValue"] = num.ConvertNum(noSoggettoRischioCredito); dr["Percentage"] = Decimal.Round(Convert.ToDecimal(row["PERC_na"]), 2); dr["Red"] = 183; dr["Green"] = 203; dr["Blue"] = 227; ds140.RischioCredito.Rows.Add(dr); dr = ds140.ChartData.NewRow(); dr["Percentage"] = Convert.ToDecimal(row["PERC_na"]); dr["Red"] = 183; dr["Green"] = 203; dr["Blue"] = 227; ds140.ChartData.Rows.Add(dr); #endregion if (patrimonioNonRappresentabile > 0) { #region Patrimonio complessivo DataRow drPatrimoniocomplessivo = ds140.PatrimonioCoperto.NewRow(); drPatrimoniocomplessivo["RiskclassName"] = "Patrimonio complessivo"; drPatrimoniocomplessivo["CounterValue"] = num.ConvertNum(soggettoRischioCredito + noSoggettoRischioCredito); drPatrimoniocomplessivo["Percentage"] = 100; ds140.PatrimonioCoperto.Rows.Add(drPatrimoniocomplessivo); #endregion DataRow notCovered = ds140.PatrimonioNonCoperto.NewRow(); notCovered["RiskclassName"] = "Patrimonio non rappresentabile"; notCovered["CounterValue"] = num.ConvertNum(patrimonioNonRappresentabile); ds140.PatrimonioNonCoperto.Rows.Add(notCovered); } //if (scopertoCCNegativo!=0) //{ // DataRow notCovered = ds140.PatrimonioNonCoperto.NewRow(); // notCovered["RiskclassName"] = "Scoperto di conto corrente"; // notCovered["CounterValue"] = num.ConvertNum(scopertoCCNegativo); // ds140.PatrimonioNonCoperto.Rows.Add(notCovered); //} //if (lineaSelfNeg!=0) //{ // DataRow notCovered = ds140.PatrimonioNonCoperto.NewRow(); // notCovered["RiskclassName"] = "Liquidità GP Eligo Fondi"; // notCovered["CounterValue"] = num.ConvertNum(lineaSelfNeg); // ds140.PatrimonioNonCoperto.Rows.Add(notCovered); //} //if (operazioniInCorso != 0) //{ // DataRow notCovered = ds140.PatrimonioNonCoperto.NewRow(); // notCovered["RiskclassName"] = "Operazioni in corso"; // notCovered["CounterValue"] = num.ConvertNum(operazioniInCorso); // ds140.PatrimonioNonCoperto.Rows.Add(notCovered); //} DataRow drTot = ds140.RischioCreditoTotal.NewRow(); drTot["Totale"] = "Patrimonio totale"; drTot["CounterValue"] = num.ConvertNum(patrimonioTotale) + nota; if (patrimonioNonRappresentabile <= 0) drTot["Percentage"] = 100; ds140.RischioCreditoTotal.Rows.Add(drTot); dsr.DatiSezione = ds140; dsr.Esito = dt.Rows.Count; return dsr; } #endregion } }