133 lines
4.3 KiB
C#
133 lines
4.3 KiB
C#
using System;
|
|
using System.Web;
|
|
using System.Text;
|
|
using System.Data;
|
|
|
|
using System.Collections;
|
|
using PDFGenerator.BusinessLayer.DataSection;
|
|
using PDFGenerator.BusinessLayer;
|
|
using System.Collections.Generic;
|
|
|
|
|
|
public class DSS158PiramideModello : IDataSection
|
|
{
|
|
#region IDataSection Members
|
|
public StructColor zzztoBeFound = new StructColor();
|
|
|
|
public DataSectionResult zzzgetDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
|
|
{
|
|
|
|
try
|
|
{
|
|
|
|
DataSectionResult dsr = new DataSectionResult();
|
|
|
|
DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
|
|
if (Convert.ToDecimal(dt.Rows[0]["Totale"]) == 0)
|
|
{
|
|
dsr.DatiSezione = null;
|
|
dsr.Esito = 0;
|
|
return dsr;
|
|
}
|
|
|
|
|
|
//Decimal ctvTotale = 0;
|
|
DataSetS158 ds158 = new DataSetS158();
|
|
DataRow dr;
|
|
bool first = true;
|
|
double percInv = 0;
|
|
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
if (Convert.ToDouble(row["TOTALE"]) != 0)
|
|
{
|
|
if (row["need_breve"].ToString() == "Inv")
|
|
{
|
|
if (first)
|
|
{
|
|
dr = ds158.AreeBisogno.NewRow();
|
|
dr["Percentuale"] = row["totale_percentuale"];
|
|
percInv = Convert.ToDouble(row["totale_percentuale"]);
|
|
ds158.AreeBisogno.Rows.Add(dr);
|
|
}
|
|
|
|
if (percInv > 0 && (Convert.ToInt32(row["NumeroProgettiInv"]) > 1 || (row["nome_progetto"].ToString() != "Progetto investimento")))
|
|
{
|
|
dr = ds158.Investimenti.NewRow();
|
|
dr["progetto"] = row["nome_progetto"];
|
|
dr["Percentuale"] = row["perc_need"];
|
|
dr["Orizzonte"] = row["orizz_temp"];
|
|
dr["Controvalore"] = row["Controvalore"];
|
|
ds158.Investimenti.Rows.Add(dr);
|
|
|
|
//if (first)
|
|
//{
|
|
// dr = ds158.TotaleConti.NewRow();
|
|
// dr["Descrizione"] = "TOTALE";
|
|
// dr["Percentuale"] = row["totale_percentuale"];
|
|
// dr["Orizzonte"] = " ";
|
|
// first = false;
|
|
// ds158.TotaleConti.Rows.Add(dr);
|
|
//}
|
|
}
|
|
else
|
|
first = false;
|
|
}
|
|
else
|
|
{
|
|
dr = ds158.AreeBisogno.NewRow();
|
|
dr["Percentuale"] = row["totale_percentuale"];
|
|
ds158.AreeBisogno.Rows.Add(dr);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
dsr.DatiSezione = ds158;
|
|
//dsr.Esito = ds37.AreeBisogno.Rows.Count;
|
|
dsr.Esito = ds158.Investimenti.Rows.Count;
|
|
|
|
return dsr;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
|
|
{
|
|
|
|
try
|
|
{
|
|
|
|
DataSectionResult dsr = new DataSectionResult();
|
|
DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
DataSetS158 ds158 = new DataSetS158();
|
|
|
|
if (!(dt.Rows.Count == 1 && dt.Rows[0]["NomePrg"].Equals("Progetto investimento"))) {
|
|
foreach (DataRow row in dt.Rows) {
|
|
DataRow dr = ds158.Investimenti.NewRow();
|
|
dr["progetto"] = row["NomePrg"];
|
|
dr["Rischio (VaR %)"] = row["VarPrg"];
|
|
dr["Orizzonte"] = row["OrizzTempPrg"];
|
|
dr["Controvalore (€)"] = row["ControvalorePrg"];
|
|
ds158.Investimenti.Rows.Add(dr);
|
|
}
|
|
}
|
|
|
|
dsr.DatiSezione = ds158;
|
|
dsr.Esito = ds158.Investimenti.Rows.Count;
|
|
return dsr;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|