209 lines
9.4 KiB
C#
209 lines
9.4 KiB
C#
using System;
|
|
using System.Web;
|
|
using System.Text;
|
|
using System.Data;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
|
|
namespace PDFGenerator.BusinessLayer.DataSection
|
|
{
|
|
|
|
public class DSS42RischioDiversificazione : IDataSection
|
|
{
|
|
private TipoReport _tiporeport;
|
|
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
|
|
|
/// <summary>
|
|
/// Tipologia report.
|
|
/// </summary>
|
|
public TipoReport TipoReport
|
|
{
|
|
get
|
|
{
|
|
return _tiporeport;
|
|
}
|
|
set
|
|
{
|
|
_tiporeport = value;
|
|
}
|
|
}
|
|
|
|
|
|
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
|
|
{
|
|
try {
|
|
DataSectionResult dsr = new DataSectionResult();
|
|
|
|
FormatNum conv = new FormatNum();
|
|
DataSetS42 ds42 = new DataSetS42();
|
|
DataSetS42.RischioDiversificazioneRow dr;
|
|
DataSetS42.RischioPatrimonioFinanziarioRow patrimonioFinanziario;
|
|
DataSetS42.RischioDiversificazioneTableRow rischioDiversificazione;
|
|
|
|
|
|
ds42.RischioDiversificazione.Columns["Copertura"].Caption = "Copertura <BR> (%)";
|
|
|
|
DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
|
|
//V If I have only BF/SPI or if the report type is Monitoring I have to display only the first row of the query,
|
|
if (dt.Rows.Count > 0 && (dt.Rows.Count < 3 || dataThread.TipoReport.ToUpper() == "MONITORAGGIO"))
|
|
{
|
|
DataRow row = dt.Rows[0];
|
|
dr = ds42.RischioDiversificazione.NewRischioDiversificazioneRow();
|
|
dr.patrimonio = row["patrimonio"].ToString();
|
|
//V non veniva fatto il caso del var a stringa (nc)
|
|
/*
|
|
if (row["varString"] != DBNull.Value)
|
|
dr.var = row["varString"].ToString();
|
|
else
|
|
dr.var = row["var"].ToString();
|
|
*/
|
|
|
|
//// MZ: Show n.c. as a value for VAR if there is no coverage
|
|
//if (row["coperturaString"] != DBNull.Value)
|
|
//{
|
|
// dr.varString = row["varString"].ToString();
|
|
|
|
//}
|
|
//else
|
|
//{
|
|
// dr.varString = Convert.ToDecimal(row["var"]).ToString();
|
|
//}
|
|
|
|
dr.var = Convert.ToDecimal(row["var"]);
|
|
if (row["coperturaString"] != DBNull.Value)
|
|
dr.copertura = row["coperturaString"].ToString();
|
|
else
|
|
dr.copertura = conv.ConvertNum(row["copertura"]);
|
|
dr.diversificazione = Convert.ToDecimal(row["diversificazione"]);
|
|
ds42.RischioDiversificazione.Rows.Add(dr);
|
|
|
|
patrimonioFinanziario = ds42.RischioPatrimonioFinanziario.NewRischioPatrimonioFinanziarioRow();
|
|
int profilo_code = Convert.ToInt32(row["profiloCode"]);
|
|
//patrimonioFinanziario.descrizioneProfilo = "Profilo Cliente: " + profilo_code.ToString();
|
|
string valoreProfilo = getProfiloName(profilo_code);
|
|
patrimonioFinanziario.descrizioneProfilo = "Profilo Cliente: " + valoreProfilo;
|
|
patrimonioFinanziario.valoreProfilo = profilo_code.ToString();
|
|
patrimonioFinanziario.var = Convert.ToDecimal(SoglieVar.ConvOld(row["var_Profilo"]));
|
|
ds42.RischioPatrimonioFinanziario.Rows.Add(patrimonioFinanziario);
|
|
|
|
rischioDiversificazione = ds42.RischioDiversificazioneTable.NewRischioDiversificazioneTableRow();
|
|
rischioDiversificazione.patrimonio = row["patrimonio"].ToString();
|
|
// MZ: Show n.c. as a value for VAR if there is no coverage
|
|
if (row["varString"] != DBNull.Value)
|
|
{
|
|
rischioDiversificazione.varString = row["varString"].ToString();
|
|
|
|
}
|
|
else
|
|
{
|
|
rischioDiversificazione.varString = conv.ConvertNum(row["var"], 2).ToString();
|
|
}
|
|
//dr.var = Convert.ToDecimal(row["var"]);
|
|
if (row["coperturaString"] != DBNull.Value)
|
|
rischioDiversificazione.copertura = row["coperturaString"].ToString();
|
|
else
|
|
rischioDiversificazione.copertura = conv.ConvertNum(row["copertura"]);
|
|
rischioDiversificazione.diversificazione = Convert.ToDecimal(row["diversificazione"]);
|
|
ds42.RischioDiversificazioneTable.Rows.Add(rischioDiversificazione);
|
|
|
|
}
|
|
else
|
|
if (dt.Rows.Count > 0)
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
dr = ds42.RischioDiversificazione.NewRischioDiversificazioneRow();
|
|
dr.patrimonio = row["patrimonio"].ToString();
|
|
//V non veniva fatto il caso del var a stringa (nc)
|
|
/*
|
|
if (row["varString"] != DBNull.Value)
|
|
dr.var = row["varString"].ToString();
|
|
else
|
|
|
|
dr.var = row["var"].ToString();
|
|
*/
|
|
dr.var = Convert.ToDecimal(row["var"]);
|
|
|
|
if (row["coperturaString"] != DBNull.Value)
|
|
dr.copertura = row["coperturaString"].ToString();
|
|
else
|
|
dr.copertura = conv.ConvertNum(row["copertura"]);
|
|
dr.diversificazione = Convert.ToDecimal(row["diversificazione"]);
|
|
ds42.RischioDiversificazione.Rows.Add(dr);
|
|
|
|
patrimonioFinanziario = ds42.RischioPatrimonioFinanziario.NewRischioPatrimonioFinanziarioRow();
|
|
int profilo_code = Convert.ToInt32(row["profiloCode"]);
|
|
//patrimonioFinanziario.descrizioneProfilo = "Profilo Cliente: " + profilo_code.ToString();
|
|
string valoreProfilo = getProfiloName(profilo_code);
|
|
patrimonioFinanziario.descrizioneProfilo = "Profilo Cliente: " + valoreProfilo;
|
|
patrimonioFinanziario.valoreProfilo = profilo_code.ToString();
|
|
patrimonioFinanziario.var = Convert.ToDecimal(SoglieVar.ConvOld(row["var_profilo"]));
|
|
ds42.RischioPatrimonioFinanziario.Rows.Add(patrimonioFinanziario);
|
|
|
|
|
|
rischioDiversificazione = ds42.RischioDiversificazioneTable.NewRischioDiversificazioneTableRow();
|
|
rischioDiversificazione.patrimonio = row["patrimonio"].ToString();
|
|
// MZ: Show n.c. as a value for VAR if there is no coverage
|
|
if (row["varString"] != DBNull.Value)
|
|
{
|
|
rischioDiversificazione.varString = row["varString"].ToString();
|
|
|
|
}
|
|
else
|
|
{
|
|
rischioDiversificazione.varString = conv.ConvertNum(row["var"], 2).ToString();
|
|
}
|
|
//dr.var = Convert.ToDecimal(row["var"]);
|
|
if (row["coperturaString"] != DBNull.Value)
|
|
rischioDiversificazione.copertura = row["coperturaString"].ToString();
|
|
else
|
|
rischioDiversificazione.copertura = conv.ConvertNum(row["copertura"]);
|
|
rischioDiversificazione.diversificazione = Convert.ToDecimal(row["diversificazione"]);
|
|
ds42.RischioDiversificazioneTable.Rows.Add(rischioDiversificazione);
|
|
|
|
}
|
|
|
|
|
|
|
|
dsr.DatiSezione = ds42;
|
|
dsr.Esito = ds42.RischioDiversificazione.Rows.Count;
|
|
|
|
return dsr;
|
|
}catch(Exception ex)
|
|
{
|
|
try {
|
|
logger.Error(string.Concat(ex.Message, " ", dataThread.CodiceFiscale));
|
|
|
|
}catch { }
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private string getProfiloName(int profilo_code) {
|
|
string valoreProfilo = string.Empty;
|
|
#region SWITCH CODICI PROFILO
|
|
switch (profilo_code)
|
|
{
|
|
case 1:
|
|
valoreProfilo += " Prudente";
|
|
break;
|
|
case 2:
|
|
valoreProfilo += " Moderato";
|
|
break;
|
|
case 3:
|
|
valoreProfilo += " Equilibrato";
|
|
break;
|
|
case 4:
|
|
valoreProfilo += " Dinamico";
|
|
break;
|
|
case 5:
|
|
valoreProfilo += " Aggressivo";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
#endregion
|
|
return valoreProfilo;
|
|
}
|
|
}
|
|
} |