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 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 } }