2025-04-15 12:10:19 +02:00

290 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace PDFGenerator.BusinessLayer.DataSection
{
class DSS131ContributoAlRischio : IDataSection
{
#region IDataSection Members
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
{
DataSectionResult dsr = new DataSectionResult();
DataTable dt = null;
dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
dsr.Esito = dt.Rows.Count;
if (dt.Rows.Count == 0)
{
return dsr;
}
FormatNum num = new FormatNum();
DataSetS131 ds131 = new DataSetS131();
DataSetS131.ProdottiRow prodotto;
//DataRow[] filtrata;
//DataView dw = new DataView(dt);//,"Institute= "+dataThread.Intermediario,
//V il filtro va rivisto
//if (dataThread.TipoReport.ToUpper() == "DIAGNOSI")
// filtrata = dt.Select("INTERMEDIARIO= '" + dataThread.Intermediario.Replace("'", "''") + "'");
//else
// filtrata = dt.Select("INTERMEDIARIO= 'BF" + "'");
//Devo rappresentare al più 3 righe
//int numRighe = 3;
//if (dt.Length < 3)
//numRighe = filtrata.Length; //filtrata.Rows.Count;
//foreach (DataRow row in filtrata.Rows)
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
//bool rc1, rc2, rc3, rc4, rc5, rc6, rc7, rc8, rc9, rc10, nc;
//rc1 = Convert.ToBoolean(row["flg_riskclass1"]);
//rc2 = Convert.ToBoolean(row["flg_riskclass2"]);
//rc3 = Convert.ToBoolean(row["flg_riskclass3"]);
//rc4 = Convert.ToBoolean(row["flg_riskclass4"]);
//rc5 = Convert.ToBoolean(row["flg_riskclass5"]);
//rc6 = Convert.ToBoolean(row["flg_riskclass6"]);
//rc7 = Convert.ToBoolean(row["flg_riskclass7"]);
//rc8 = Convert.ToBoolean(row["flg_riskclass8"]);
//rc9 = Convert.ToBoolean(row["flg_riskclass9"]);
//rc10 = Convert.ToBoolean(row["flg_riskclass10"]);
//nc = Convert.ToBoolean(row["nc"]);
prodotto = ds131.Prodotti.NewProdottiRow();
prodotto.Prodotto = row["descrizioneProdotto"].ToString();
//Int16 iCont = 0;
//bool multiclass = false;
//if (!rc1 && !rc2 && !rc3 && !rc4 && !rc5 && !rc6 && !rc7 && !rc8 && !rc9 && !rc10)
// emittente.Rischio = "n.a.";
//if (!nc)
//{
// if (rc1)
// {
// iCont++;
// emittente.Rischio += "Rischio 1/10";
// multiclass = true;
// }
// if (rc2)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 2/10";
// else
// emittente.Rischio += "Rischio 2/10";
// multiclass = true;
// }
// if (rc3)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 3/10";
// else
// emittente.Rischio += "Rischio 3/10";
// multiclass = true;
// }
// if (rc4)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 4/10";
// else
// emittente.Rischio += "Rischio 4/10";
// multiclass = true;
// }
// if (rc5)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 5/10";
// else
// emittente.Rischio += "Rischio 5/10";
// multiclass = true;
// }
// if (rc6)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 6/10";
// else
// emittente.Rischio += "Rischio 6/10";
// multiclass = true;
// }
// if (rc7)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 7/10";
// else
// emittente.Rischio += "Rischio 7/10";
// multiclass = true;
// }
// if (rc8)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 8/10";
// else
// emittente.Rischio += "Rischio 8/10";
// multiclass = true;
// }
// if (rc9)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 9/10";
// else
// emittente.Rischio += "Rischio 9/10";
// multiclass = true;
// }
// if (rc10)
// {
// iCont++;
// if (multiclass)
// emittente.Rischio += " - Rischio 10/10";
// else
// emittente.Rischio += "Rischio 10/10";
// multiclass = true;
// }
// if (iCont > 4)
// {
// //emittente.Rischio = "Rischio 9/10 - Rischio 9/10 - Rischio 9/10 - Rischio 10/10";
// //emittente.Rischio = "Rischio 1-2-3-4-5-6-7-8-9-10/10";
// emittente.Rischio = string.Empty;
// multiclass = false;
// if (rc1)
// {
// emittente.Rischio += "1";
// multiclass = true;
// }
// if (rc2)
// {
// if (multiclass)
// emittente.Rischio += "-2";
// else
// emittente.Rischio += "2";
// multiclass = true;
// }
// if (rc3)
// {
// if (multiclass)
// emittente.Rischio += "-3";
// else
// emittente.Rischio += "3";
// multiclass = true;
// }
// if (rc4)
// {
// if (multiclass)
// emittente.Rischio += "-4";
// else
// emittente.Rischio += "4";
// multiclass = true;
// }
// if (rc5)
// {
// if (multiclass)
// emittente.Rischio += "-5";
// else
// emittente.Rischio += "5";
// multiclass = true;
// }
// if (rc6)
// {
// if (multiclass)
// emittente.Rischio += "-6";
// else
// emittente.Rischio += "6";
// multiclass = true;
// }
// if (rc7)
// {
// if (multiclass)
// emittente.Rischio += "-7";
// else
// emittente.Rischio += "7";
// multiclass = true;
// }
// if (rc8)
// {
// if (multiclass)
// emittente.Rischio += "-8";
// else
// emittente.Rischio += "8";
// multiclass = true;
// }
// if (rc9)
// {
// if (multiclass)
// emittente.Rischio += "-9";
// else
// emittente.Rischio += "9";
// multiclass = true;
// }
// if (rc10)
// {
// if (multiclass)
// emittente.Rischio += "-10";
// else
// emittente.Rischio += "10";
// multiclass = true;
// }
// emittente.Rischio = "Rischio " + emittente.Rischio + "/10";
// }
//}
//else
// emittente.Rischio = "n.c.";
//Vuol dire che ho concatenato almeno 2 stringhe e quindi ho almeno 2 classi di rischio, c'è la necessità di inserire la nota
//if (emittente.Rischio.Length > "Oltre Classe 3".Length)
//if (iCont > 1)
//{
// emittente.Rischio += "*";
// emittente.Nota = true;
//}
////emittente.Rischio = row["CreditRisk"].ToString();
//emittente.CtvObbligazionario = num.ConvertNum(row["bondsCounterValue"]);
////.ToString();
//emittente.CtvAzionario = num.ConvertNum(row["stocksCounterValue"]);
//if (dataThread.Intermediario.ToUpper() == "COMPLESSIVO")
// emittente.Concentrazione = num.ConvertPerformance(row["concentration_issuer"]);
//else
// emittente.Concentrazione = num.ConvertPerformance(row["concentration"]);
////V Aggiunto !nc altrimenti in caso di non copertura inseriva na
//if (Convert.ToDouble(row["bondsCounterValue"]) <= 0 && !nc)
// emittente.Rischio = "n.a.";
prodotto.Controvalore = num.ConvertNum(row["controvalore"]);
prodotto.RischioMercato = num.ConvertNum(row["rischioMercato"]);
prodotto.RischioRelativo = num.ConvertNum(row["rischioRelativo"]);
ds131.Prodotti.AddProdottiRow(prodotto);
}
dsr.Esito = ds131.Prodotti.Rows.Count;
dsr.DatiSezione = ds131;
return dsr;
}
#endregion
}
}