1423 lines
82 KiB
C#
1423 lines
82 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Data;
|
|
using System.ComponentModel;
|
|
using System.Reflection;
|
|
using System.Linq;
|
|
|
|
namespace PDFGenerator.BusinessLayer.DataSection
|
|
{
|
|
|
|
/// <summary>
|
|
/// Summary description for DSS80Alternativa
|
|
/// </summary>
|
|
public class DSS80Alternativa : IDataSection
|
|
{
|
|
private string obtainAsteriscs(int number)
|
|
{
|
|
string sequence = string.Empty;
|
|
for (int i = 0; i < number; i++) sequence = string.Format("{0}{1}", sequence, "*");
|
|
return sequence;
|
|
}
|
|
|
|
public DSS80Alternativa()
|
|
{
|
|
//
|
|
// TODO: Add constructor logic here
|
|
//
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati per la stampa della S80ALT.
|
|
/// </summary>
|
|
/// <param name="tabelleSessione"></param>
|
|
/// <param name="querySql"></param>
|
|
/// <param name="dataThread"></param>
|
|
/// <returns></returns>
|
|
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
|
|
{
|
|
|
|
DataSetS80ALT dsS80ALT = new DataSetS80ALT();
|
|
FormatNum conv = new FormatNum();
|
|
DataSectionResult dsr = new DataSectionResult();
|
|
|
|
DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
|
|
if (dataThread.Patrimoniobancafideuramctv != 0 && dt.Rows.Count > 0)
|
|
{
|
|
|
|
// Set Phase 1 date
|
|
#region Data Avvio Monitoraggio
|
|
|
|
DateTime? dataAvvioMonitoraggio = null;
|
|
DateTime dataPrecedenteInvioReport = new DateTime();
|
|
//DateTime dataSituazioneCorrenteReport = new DateTime();
|
|
|
|
FormatNum formatNum = new FormatNum();
|
|
|
|
DataView dvAvvioMonitoraggio = new DataView(dt);
|
|
dvAvvioMonitoraggio.RowFilter = ("Fase = 1");
|
|
|
|
if (dvAvvioMonitoraggio.Count > 0)
|
|
{
|
|
DataRow row = dvAvvioMonitoraggio[0].Row;
|
|
dataAvvioMonitoraggio = Convert.ToDateTime(row["DataFase"].ToString());
|
|
}
|
|
#endregion
|
|
|
|
// Set Phase 2 date
|
|
#region Data Precedente Invio Report
|
|
|
|
DataView dwPrecedenteInvioReport = new DataView(dt);
|
|
dwPrecedenteInvioReport.RowFilter = ("Fase = 2");
|
|
if (dwPrecedenteInvioReport.Count > 0)
|
|
{
|
|
DataRow rowPrecedenteInvioReport = dwPrecedenteInvioReport[0].Row;
|
|
dataPrecedenteInvioReport = Convert.ToDateTime(rowPrecedenteInvioReport["DataFase"].ToString());
|
|
}
|
|
#endregion
|
|
|
|
#region Piramide dati per fasi
|
|
// The data rows of each phase.
|
|
DataRow[] drFase1 = dt.Select(" fase = 1");
|
|
DataRow[] drFase2 = dt.Select(" fase = 2");
|
|
DataRow[] drFase3 = dt.Select(" fase = 3");
|
|
|
|
// caption dell' header della Tabella -- Pino non più utile
|
|
//if (dataAvvioMonitoraggio.HasValue)
|
|
//{
|
|
// dsS80ALT.GraficoPiramide.Fase1Column.Caption = "Avvio Monitoraggio <BR>(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")";
|
|
// dsS80ALT.GraficoPiramide.Fase1PercentualeColumn.Caption = "Piramide<br>Modello (%)";
|
|
//}
|
|
|
|
//if (dwPrecedenteInvioReport.Count > 0)
|
|
//{
|
|
// dsS80ALT.GraficoPiramide.Fase2Column.Caption = "Precedente invio report <BR>(" + dataPrecedenteInvioReport.ToShortDateString() + ")";
|
|
// dsS80ALT.GraficoPiramide.Fase2PercentualeColumn.Caption = "Piramide<br>Modello (%)";
|
|
//}
|
|
//else
|
|
// dsS80ALT.GraficoPiramide.Fase2Column.Caption = string.Empty;
|
|
|
|
//dsS80ALT.GraficoPiramide.Fase3Column.Caption = "Situazione Corrente <BR>(" + dataThread.DataFineTrimestreCorrente.ToShortDateString() + ")";
|
|
//dsS80ALT.GraficoPiramide.Fase3PercentualeColumn.Caption = "Piramide<br>Modello (%)";
|
|
|
|
#region Tabella per solo Header
|
|
NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
|
|
|
//logger.Info("Tabella per solo Header Inizio");
|
|
|
|
// Caption del'header
|
|
dsS80ALT.GraficoPiramideHeader.DescrizionePiramideColumn.Caption = "";
|
|
if (drFase1.Count() > 0)
|
|
dsS80ALT.GraficoPiramideHeader.GruppoFase1Column.Caption = "Avvio Monitoraggio <BR>(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")";
|
|
if (drFase2.Count() > 0)
|
|
dsS80ALT.GraficoPiramideHeader.GruppoFase2Column.Caption = "Precedente invio report <BR>(" + dataPrecedenteInvioReport.ToShortDateString() + ")";
|
|
if (drFase3.Count() > 0)
|
|
dsS80ALT.GraficoPiramideHeader.GruppoFase3Column.Caption = "Situazione Corrente <BR>(" + dataThread.DataFineTrimestreCorrente.ToShortDateString() + ")";
|
|
|
|
// Dichiaro una riga da inserire
|
|
DataSetS80ALT.GraficoPiramideHeaderRow rowGraficoPiramideHeader0 = dsS80ALT.GraficoPiramideHeader.NewGraficoPiramideHeaderRow();
|
|
|
|
// Valorizzo la riga
|
|
rowGraficoPiramideHeader0.DescrizionePiramide = string.Empty;
|
|
rowGraficoPiramideHeader0.GruppoFase1 = string.Empty;
|
|
rowGraficoPiramideHeader0.GruppoFase2 = string.Empty;
|
|
rowGraficoPiramideHeader0.GruppoFase3 = string.Empty;
|
|
|
|
// Inserisco le righe precedentemente valorizzati nel dataset tipizzato
|
|
dsS80ALT.GraficoPiramideHeader.AddGraficoPiramideHeaderRow(rowGraficoPiramideHeader0);
|
|
|
|
//logger.Info("Tabella per solo Header Fine");
|
|
#endregion
|
|
|
|
// Dichiaro le nuove righe da inserire nel dataset tipizzato
|
|
DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide0 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow();
|
|
DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide1 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow();
|
|
DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide2 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow();
|
|
DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide3 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow();
|
|
DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide4 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow();
|
|
|
|
// Valorizzo per ogni riga le colonne con i valori prelevati dal datarow del datatable originale
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Piramide per Fasi, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 1 CTV_EXT " + drFase1[0]["CTV_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 CTV_INV " + drFase1[0]["CTV_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 CTV_PRE " + drFase1[0]["CTV_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 CTV_RIS " + drFase1[0]["CTV_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 CTV_LIQ " + drFase1[0]["CTV_LIQ"].ToString());
|
|
|
|
decimal _totalectv = Convert.ToDecimal(drFase1[0]["CTV_EXT"].ToString())
|
|
+ Convert.ToDecimal(drFase1[0]["CTV_INV"].ToString())
|
|
+ Convert.ToDecimal(drFase1[0]["CTV_PRE"].ToString())
|
|
+ Convert.ToDecimal(drFase1[0]["CTV_RIS"].ToString())
|
|
+ Convert.ToDecimal(drFase1[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 1 TotaleCTV " + _totalectv.ToString());
|
|
|
|
|
|
decimal _percentualeEXT = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase1[0]["CTV_EXT"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeINV = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase1[0]["CTV_INV"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualePRE = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase1[0]["CTV_PRE"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeRIS = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase1[0]["CTV_RIS"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeLIQ = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase1[0]["CTV_LIQ"].ToString()) / _totalectv) * 100);
|
|
|
|
/************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
List<PercentualiDaNormalizzare> listaDaNormalizzare = new List<PercentualiDaNormalizzare>();
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_EXT",
|
|
valoreAttuale = _percentualeEXT,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_INV",
|
|
valoreAttuale = _percentualeINV,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_PRE",
|
|
valoreAttuale = _percentualePRE,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_RIS",
|
|
valoreAttuale = _percentualeRIS,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_LIQ",
|
|
valoreAttuale = _percentualeLIQ,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
|
|
List<PercentualiDaNormalizzare> listaNormalizzata = NormalizzoPercentuali(listaDaNormalizzare);
|
|
|
|
_percentualeEXT = listaNormalizzata.Find(f => f.area == "CTV_EXT").valoreNormalizzato;
|
|
_percentualeINV = listaNormalizzata.Find(f => f.area == "CTV_INV").valoreNormalizzato;
|
|
_percentualePRE = listaNormalizzata.Find(f => f.area == "CTV_PRE").valoreNormalizzato;
|
|
_percentualeRIS = listaNormalizzata.Find(f => f.area == "CTV_RIS").valoreNormalizzato;
|
|
_percentualeLIQ = listaNormalizzata.Find(f => f.area == "CTV_LIQ").valoreNormalizzato;
|
|
/*****************************************************************************************************************/
|
|
|
|
|
|
///************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
//List<PercentualiDaNormalizzare> listaDaNormalizzare = new List<PercentualiDaNormalizzare>();
|
|
//listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
//{
|
|
// area = "CTV_EXT",
|
|
// valoreAttuale = _percentualeEXT,
|
|
// valoreNormalizzato = 0.0M
|
|
|
|
//});
|
|
//listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
//{
|
|
// area = "CTV_INV",
|
|
// valoreAttuale = _percentualeINV,
|
|
// valoreNormalizzato = 0.0M
|
|
|
|
//});
|
|
//listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
//{
|
|
// area = "CTV_PRE",
|
|
// valoreAttuale = _percentualePRE,
|
|
// valoreNormalizzato = 0.0M
|
|
|
|
//});
|
|
//listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
//{
|
|
// area = "CTV_RIS",
|
|
// valoreAttuale = _percentualeRIS,
|
|
// valoreNormalizzato = 0.0M
|
|
|
|
//});
|
|
//listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
//{
|
|
// area = "CTV_LIQ",
|
|
// valoreAttuale = _percentualeLIQ,
|
|
// valoreNormalizzato = 0.0M
|
|
|
|
//});
|
|
|
|
//List<PercentualiDaNormalizzare> listaNormalizzata = NormalizzoPercentuali(listaDaNormalizzare);
|
|
|
|
//_percentualeEXT = listaNormalizzata.Find(f => f.area == "CTV_EXT").valoreNormalizzato;
|
|
//_percentualeINV = listaNormalizzata.Find(f => f.area == "CTV_INV").valoreNormalizzato;
|
|
//_percentualePRE = listaNormalizzata.Find(f => f.area == "CTV_PRE").valoreNormalizzato;
|
|
//_percentualeRIS = listaNormalizzata.Find(f => f.area == "CTV_RIS").valoreNormalizzato;
|
|
//_percentualeLIQ = listaNormalizzata.Find(f => f.area == "CTV_LIQ").valoreNormalizzato;
|
|
///*****************************************************************************************************************/
|
|
|
|
rowGraficoPiramide0.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_EXT"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeEXT), "%)");
|
|
rowGraficoPiramide1.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_INV"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeINV), "%)");
|
|
rowGraficoPiramide2.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_PRE"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualePRE), "%)");
|
|
rowGraficoPiramide3.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_RIS"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeRIS), "%)");
|
|
rowGraficoPiramide4.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_LIQ"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeLIQ), "%)");
|
|
|
|
|
|
//rowGraficoPiramide0.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_EXT"].ToString(), "<BR>(", string.Format("{0:N2}",_percentualeEXT), "%)"));
|
|
//rowGraficoPiramide1.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_INV"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeINV), "%)"));
|
|
//rowGraficoPiramide2.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_PRE"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualePRE), "%)"));
|
|
//rowGraficoPiramide3.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_RIS"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeRIS), "%)"));
|
|
//rowGraficoPiramide4.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_LIQ"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeLIQ), "%)"));
|
|
|
|
//rowGraficoPiramide0.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_EXT"].ToString());
|
|
//rowGraficoPiramide1.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_INV"].ToString());
|
|
//rowGraficoPiramide2.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_PRE"].ToString());
|
|
//rowGraficoPiramide3.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_RIS"].ToString());
|
|
//rowGraficoPiramide4.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 1 PERC_EXT " + drFase1[0]["PERC_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 PERC_INV " + drFase1[0]["PERC_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 PERC_PRE " + drFase1[0]["PERC_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 PERC_RIS " + drFase1[0]["PERC_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 1 PERC_LIQ " + drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
|
|
rowGraficoPiramide0.Fase1Percentuale = formatNum.ConvertNum(drFase1[0]["PERC_EXT"].ToString());
|
|
rowGraficoPiramide1.Fase1Percentuale = formatNum.ConvertNum(drFase1[0]["PERC_INV"].ToString());
|
|
rowGraficoPiramide2.Fase1Percentuale = formatNum.ConvertNum(drFase1[0]["PERC_PRE"].ToString());
|
|
rowGraficoPiramide3.Fase1Percentuale = formatNum.ConvertNum(drFase1[0]["PERC_RIS"].ToString());
|
|
rowGraficoPiramide4.Fase1Percentuale = formatNum.ConvertNum(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
}
|
|
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 2" + drFase2.Length.ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 2 CTV_EXT " + drFase2[0]["CTV_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 CTV_INV " + drFase2[0]["CTV_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 CTV_PRE " + drFase2[0]["CTV_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 CTV_RIS " + drFase2[0]["CTV_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 CTV_LIQ " + drFase2[0]["CTV_LIQ"].ToString());
|
|
|
|
decimal _totalectv = Convert.ToDecimal(drFase2[0]["CTV_EXT"].ToString())
|
|
+ Convert.ToDecimal(drFase2[0]["CTV_INV"].ToString())
|
|
+ Convert.ToDecimal(drFase2[0]["CTV_PRE"].ToString())
|
|
+ Convert.ToDecimal(drFase2[0]["CTV_RIS"].ToString())
|
|
+ Convert.ToDecimal(drFase2[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 2 TotaleCTV " + _totalectv.ToString());
|
|
|
|
decimal _percentualeEXT = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase2[0]["CTV_EXT"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeINV = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase2[0]["CTV_INV"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualePRE = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase2[0]["CTV_PRE"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeRIS = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase2[0]["CTV_RIS"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeLIQ = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase2[0]["CTV_LIQ"].ToString()) / _totalectv) * 100);
|
|
|
|
/************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
List<PercentualiDaNormalizzare> listaDaNormalizzare = new List<PercentualiDaNormalizzare>();
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_EXT",
|
|
valoreAttuale = _percentualeEXT,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_INV",
|
|
valoreAttuale = _percentualeINV,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_PRE",
|
|
valoreAttuale = _percentualePRE,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_RIS",
|
|
valoreAttuale = _percentualeRIS,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_LIQ",
|
|
valoreAttuale = _percentualeLIQ,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
|
|
List<PercentualiDaNormalizzare> listaNormalizzata = NormalizzoPercentuali(listaDaNormalizzare);
|
|
|
|
_percentualeEXT = listaNormalizzata.Find(f => f.area == "CTV_EXT").valoreNormalizzato;
|
|
_percentualeINV = listaNormalizzata.Find(f => f.area == "CTV_INV").valoreNormalizzato;
|
|
_percentualePRE = listaNormalizzata.Find(f => f.area == "CTV_PRE").valoreNormalizzato;
|
|
_percentualeRIS = listaNormalizzata.Find(f => f.area == "CTV_RIS").valoreNormalizzato;
|
|
_percentualeLIQ = listaNormalizzata.Find(f => f.area == "CTV_LIQ").valoreNormalizzato;
|
|
/*****************************************************************************************************************/
|
|
|
|
|
|
|
|
rowGraficoPiramide0.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_EXT"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeEXT), "%)");
|
|
rowGraficoPiramide1.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_INV"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeINV), "%)");
|
|
rowGraficoPiramide2.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_PRE"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualePRE), "%)");
|
|
rowGraficoPiramide3.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_RIS"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeRIS), "%)");
|
|
rowGraficoPiramide4.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_LIQ"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeLIQ), "%)");
|
|
|
|
|
|
//rowGraficoPiramide0.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_EXT"].ToString());
|
|
//rowGraficoPiramide1.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_INV"].ToString());
|
|
//rowGraficoPiramide2.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_PRE"].ToString());
|
|
//rowGraficoPiramide3.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_RIS"].ToString());
|
|
//rowGraficoPiramide4.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 2 PERC_EXT " + drFase2[0]["PERC_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 PERC_INV " + drFase2[0]["PERC_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 PERC_PRE " + drFase2[0]["PERC_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 PERC_RIS " + drFase2[0]["PERC_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 2 PERC_LIQ " + drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
rowGraficoPiramide0.Fase2Percentuale = formatNum.ConvertNum(drFase2[0]["PERC_EXT"].ToString());
|
|
rowGraficoPiramide1.Fase2Percentuale = formatNum.ConvertNum(drFase2[0]["PERC_INV"].ToString());
|
|
rowGraficoPiramide2.Fase2Percentuale = formatNum.ConvertNum(drFase2[0]["PERC_PRE"].ToString());
|
|
rowGraficoPiramide3.Fase2Percentuale = formatNum.ConvertNum(drFase2[0]["PERC_RIS"].ToString());
|
|
rowGraficoPiramide4.Fase2Percentuale = formatNum.ConvertNum(drFase2[0]["PERC_LIQ"].ToString());
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 3" + drFase2.Length.ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 3 CTV_EXT " + drFase3[0]["CTV_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 CTV_INV " + drFase3[0]["CTV_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 CTV_PRE " + drFase3[0]["CTV_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 CTV_RIS " + drFase3[0]["CTV_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 CTV_LIQ " + drFase3[0]["CTV_LIQ"].ToString());
|
|
|
|
decimal _totalectv = Convert.ToDecimal(drFase3[0]["CTV_EXT"].ToString())
|
|
+ Convert.ToDecimal(drFase3[0]["CTV_INV"].ToString())
|
|
+ Convert.ToDecimal(drFase3[0]["CTV_PRE"].ToString())
|
|
+ Convert.ToDecimal(drFase3[0]["CTV_RIS"].ToString())
|
|
+ Convert.ToDecimal(drFase3[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 3 TotaleCTV " + _totalectv.ToString());
|
|
|
|
|
|
decimal _percentualeEXT = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase3[0]["CTV_EXT"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeINV = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase3[0]["CTV_INV"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualePRE = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase3[0]["CTV_PRE"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeRIS = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase3[0]["CTV_RIS"].ToString()) / _totalectv) * 100);
|
|
decimal _percentualeLIQ = (_totalectv == Convert.ToDecimal(0.0) ? Convert.ToDecimal(0.00) : (Convert.ToDecimal(drFase3[0]["CTV_LIQ"].ToString()) / _totalectv) * 100);
|
|
|
|
/************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
List<PercentualiDaNormalizzare> listaDaNormalizzare = new List<PercentualiDaNormalizzare>();
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_EXT",
|
|
valoreAttuale = _percentualeEXT,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_INV",
|
|
valoreAttuale = _percentualeINV,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_PRE",
|
|
valoreAttuale = _percentualePRE,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_RIS",
|
|
valoreAttuale = _percentualeRIS,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
listaDaNormalizzare.Add(new PercentualiDaNormalizzare()
|
|
{
|
|
area = "CTV_LIQ",
|
|
valoreAttuale = _percentualeLIQ,
|
|
valoreNormalizzato = 0.0M
|
|
|
|
});
|
|
|
|
List<PercentualiDaNormalizzare> listaNormalizzata = NormalizzoPercentuali(listaDaNormalizzare);
|
|
|
|
_percentualeEXT = listaNormalizzata.Find(f => f.area == "CTV_EXT").valoreNormalizzato;
|
|
_percentualeINV = listaNormalizzata.Find(f => f.area == "CTV_INV").valoreNormalizzato;
|
|
_percentualePRE = listaNormalizzata.Find(f => f.area == "CTV_PRE").valoreNormalizzato;
|
|
_percentualeRIS = listaNormalizzata.Find(f => f.area == "CTV_RIS").valoreNormalizzato;
|
|
_percentualeLIQ = listaNormalizzata.Find(f => f.area == "CTV_LIQ").valoreNormalizzato;
|
|
/*****************************************************************************************************************/
|
|
|
|
|
|
rowGraficoPiramide0.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_EXT"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeEXT), "%)");
|
|
rowGraficoPiramide1.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_INV"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeINV), "%)");
|
|
rowGraficoPiramide2.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_PRE"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualePRE), "%)");
|
|
rowGraficoPiramide3.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_RIS"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeRIS), "%)");
|
|
rowGraficoPiramide4.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_LIQ"].ToString()), "<BR>(", string.Format("{0:N2}", _percentualeLIQ), "%)");
|
|
|
|
//rowGraficoPiramide0.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_EXT"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeEXT), "%)"));
|
|
//rowGraficoPiramide1.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_INV"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeINV), "%)"));
|
|
//rowGraficoPiramide2.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_PRE"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualePRE), "%)"));
|
|
//rowGraficoPiramide3.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_RIS"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeRIS), "%)"));
|
|
//rowGraficoPiramide4.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_LIQ"].ToString(), "<BR>(", string.Format("{0:N2}", _percentualeLIQ), "%)"));
|
|
|
|
|
|
//rowGraficoPiramide0.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_EXT"].ToString());
|
|
//rowGraficoPiramide1.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_INV"].ToString());
|
|
//rowGraficoPiramide2.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_PRE"].ToString());
|
|
//rowGraficoPiramide3.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_RIS"].ToString());
|
|
//rowGraficoPiramide4.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_LIQ"].ToString());
|
|
|
|
//logger.Info("Piramide per Fasi, Fase 3 PERC_EXT " + drFase3[0]["PERC_EXT"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 PERC_INV " + drFase3[0]["PERC_INV"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 PERC_PRE " + drFase3[0]["PERC_PRE"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 PERC_RIS " + drFase3[0]["PERC_RIS"].ToString());
|
|
//logger.Info("Piramide per Fasi, Fase 3 PERC_LIQ " + drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
rowGraficoPiramide0.Fase3Percentuale = formatNum.ConvertNum(drFase3[0]["PERC_EXT"].ToString());
|
|
rowGraficoPiramide1.Fase3Percentuale = formatNum.ConvertNum(drFase3[0]["PERC_INV"].ToString());
|
|
rowGraficoPiramide2.Fase3Percentuale = formatNum.ConvertNum(drFase3[0]["PERC_PRE"].ToString());
|
|
rowGraficoPiramide3.Fase3Percentuale = formatNum.ConvertNum(drFase3[0]["PERC_RIS"].ToString());
|
|
rowGraficoPiramide4.Fase3Percentuale = formatNum.ConvertNum(drFase3[0]["PERC_LIQ"].ToString());
|
|
}
|
|
|
|
// Inserisco le righe precedentemente valorizzati nel dataset tipizzato
|
|
dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide0);
|
|
dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide1);
|
|
dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide2);
|
|
dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide3);
|
|
dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide4);
|
|
|
|
#endregion
|
|
|
|
#region Totale Risorse Allocate
|
|
DataSetS80ALT.RisorseAllocateRow drDatiTotaleRisorseAllocate;
|
|
drDatiTotaleRisorseAllocate = dsS80ALT.RisorseAllocate.NewRisorseAllocateRow();
|
|
//drDatiTotaleRisorseAllocate.Descrizione = "TOTALE RISORSE ALLOCATE";
|
|
drDatiTotaleRisorseAllocate.Descrizione = "Totale risorse allocate";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 1 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseAllocate.Fase1Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 2 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseAllocate.Fase2Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 3 " + drFase3.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse Allocate, Fase 3 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseAllocate.Fase3Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
dsS80ALT.RisorseAllocate.AddRisorseAllocateRow(drDatiTotaleRisorseAllocate);
|
|
#endregion
|
|
|
|
#region Risorse non allocate
|
|
DataSetS80ALT.RisorseNonAllocateRow drRisorseNonAllocate;
|
|
drRisorseNonAllocate = dsS80ALT.RisorseNonAllocate.NewRisorseNonAllocateRow();
|
|
drRisorseNonAllocate.Descrizione = "Risorse non allocate";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drRisorseNonAllocate.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseNonAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non allocate, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non Allocate, Fase 1 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drRisorseNonAllocate.Fase1Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drRisorseNonAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseNonAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non allocate, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non Allocate, Fase 2 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drRisorseNonAllocate.Fase2Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drRisorseNonAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseNonAllocate"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non allocate, Fase 3 " + drFase3.Length.ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Risorse non Allocate, Fase 3 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drRisorseNonAllocate.Fase3Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
dsS80ALT.RisorseNonAllocate.AddRisorseNonAllocateRow(drRisorseNonAllocate);
|
|
#endregion
|
|
|
|
#region TOTALE RISORSE FINANZIARIE
|
|
DataSetS80ALT.RisorseFinanziarieRow drDatiTotaleRisorseFinanziarie;
|
|
drDatiTotaleRisorseFinanziarie = dsS80ALT.RisorseFinanziarie.NewRisorseFinanziarieRow();
|
|
//drDatiTotaleRisorseFinanziarie.Descrizione = "TOTALE RISORSE FINANZIARIE";
|
|
drDatiTotaleRisorseFinanziarie.Descrizione = "Totale risorse finanziarie";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseFinanziarie"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 1 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseFinanziarie.Fase1Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseFinanziarie"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 2 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseFinanziarie.Fase2Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseFinanziarie"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 3 " + drFase2.Length.ToString());
|
|
|
|
decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("TOTALE RISORSE FINANZIARIE, Fase 3 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiTotaleRisorseFinanziarie.Fase3Percentuale = formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
dsS80ALT.RisorseFinanziarie.AddRisorseFinanziarieRow(drDatiTotaleRisorseFinanziarie);
|
|
|
|
|
|
#endregion
|
|
|
|
#region Scoperto di conto corrente
|
|
|
|
DataSetS80ALT.ContoCorrenteRow drDatiContoCorrenteNegativo;
|
|
drDatiContoCorrenteNegativo = dsS80ALT.ContoCorrente.NewContoCorrenteRow();
|
|
drDatiContoCorrenteNegativo.Descrizione = "Scoperto di conto corrente";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Scoperto di conto corrente, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
//logger.Info("Scoperto di conto corrente, Fase 1 " + drFase1[0]["ContoCorrente"].ToString());
|
|
|
|
if (drFase1[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase1 = formatNum.ConvertNum(drFase1[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase1 = "-";
|
|
|
|
drDatiContoCorrenteNegativo.Fase1Percentuale = "-";
|
|
//drDatiContoCorrenteNegativo.Fase1 = drFase1[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Scoperto di conto corrente, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
//logger.Info("Scoperto di conto corrente, Fase 2 " + drFase2[0]["ContoCorrente"].ToString());
|
|
|
|
if (drFase2[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase2 = formatNum.ConvertNum(drFase2[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase2 = "-";
|
|
|
|
drDatiContoCorrenteNegativo.Fase2Percentuale = "-";
|
|
//drDatiContoCorrenteNegativo.Fase2 = drFase2[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//logger.Info("Scoperto di conto corrente, Fase 3 " + drFase3.Length.ToString());
|
|
|
|
//logger.Info("Scoperto di conto corrente, Fase 3 " + drFase3[0]["ContoCorrente"].ToString());
|
|
|
|
if (drFase3[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase3 = formatNum.ConvertNum(drFase3[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase3 = "-";
|
|
|
|
drDatiContoCorrenteNegativo.Fase3Percentuale = "-";
|
|
//drDatiContoCorrenteNegativo.Fase3 = drFase3[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
dsS80ALT.ContoCorrente.AddContoCorrenteRow(drDatiContoCorrenteNegativo);
|
|
|
|
#endregion
|
|
|
|
#region Linea Self Negativa
|
|
|
|
// MIOFOGLIO 20181206
|
|
|
|
DataSetS80ALT.LineaSelfNegRow drDatiLineaSelfNeg;
|
|
|
|
// Crea una riga per ciascuna voce Self negativa
|
|
// Se il datathread contiene informazioni su linee Self negative, crea una riga per ciascuna di esse
|
|
if (dataThread!=null && dataThread.SelfNegativeValue!=null && dataThread.SelfNegativeValue.Count > 0)
|
|
{
|
|
foreach (var r in dataThread.SelfNegativeValue)
|
|
{
|
|
//logger.Info("Linea Self Negativa, tipo " + r.Item1.ToString());
|
|
|
|
if (r.Item1.Equals("XY"))
|
|
{
|
|
drDatiLineaSelfNeg = dsS80ALT.LineaSelfNeg.NewLineaSelfNegRow();
|
|
drDatiLineaSelfNeg.Descrizione = string.Format("Liquidità negativa {0}", r.Item2.ToString()); //"Liquidità negativa \"Linee GP Eligo\"";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Linea Self Negativa, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 1 " + drFase1[0]["CTVSELF"].ToString());
|
|
|
|
if (drFase1[0]["CTVSELF"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase1 = formatNum.ConvertNum(drFase1[0]["CTVSELF"].ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase1Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase1 = "-";
|
|
drDatiLineaSelfNeg.Fase1Percentuale = "-";
|
|
}
|
|
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Linea Self Negativa, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 2 " + drFase2[0]["CTVSELF"].ToString());
|
|
|
|
if (drFase2[0]["CTVSELF"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase2 = formatNum.ConvertNum(drFase2[0]["CTVSELF"].ToString());
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase2Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase2 = "-";
|
|
drDatiLineaSelfNeg.Fase2Percentuale = "-";
|
|
}
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 3 " + drFase3.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 3 " + drFase3[0]["CTVSELF"].ToString());
|
|
|
|
if (drFase3[0]["CTVSELF"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase3 = formatNum.ConvertNum(r.Item3.ToString());
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase3Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase3 = "-";
|
|
drDatiLineaSelfNeg.Fase3Percentuale = "-";
|
|
}
|
|
}
|
|
|
|
dsS80ALT.LineaSelfNeg.AddLineaSelfNegRow(drDatiLineaSelfNeg);
|
|
}
|
|
else
|
|
{
|
|
//logger.Info("Linea Self Negativa, tipo " + r.Item2.ToString());
|
|
|
|
drDatiLineaSelfNeg = dsS80ALT.LineaSelfNeg.NewLineaSelfNegRow();
|
|
drDatiLineaSelfNeg.Descrizione = string.Format("Liquidità negativa {0}", r.Item2.ToString()); //"Liquidità negativa \"Linee GP Eligo\"";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Linea Self Negativa, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 1 " + drFase1[0]["CTVSELFFOGLIO"].ToString());
|
|
|
|
if (drFase1[0]["CTVSELFFOGLIO"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase1 = formatNum.ConvertNum(drFase1[0]["CTVSELFFOGLIO"].ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase1Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase1 = "-";
|
|
drDatiLineaSelfNeg.Fase1Percentuale = "-";
|
|
}
|
|
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Linea Self Negativa, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 2 " + drFase2[0]["CTVSELFFOGLIO"].ToString());
|
|
|
|
if (drFase2[0]["CTVSELFFOGLIO"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase2 = formatNum.ConvertNum(drFase2[0]["CTVSELFFOGLIO"].ToString());
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase2Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase2 = "-";
|
|
drDatiLineaSelfNeg.Fase2Percentuale = "-";
|
|
}
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 3 " + drFase3.Length.ToString());
|
|
|
|
//logger.Info("Linea Self Negativa, Fase 3 " + drFase3[0]["CTVSELFFOGLIO"].ToString());
|
|
|
|
if (drFase3[0]["CTVSELFFOGLIO"].ToString() != "0,000")
|
|
{
|
|
drDatiLineaSelfNeg.Fase3 = formatNum.ConvertNum(r.Item3.ToString());
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
drDatiLineaSelfNeg.Fase3Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg.Fase3 = "-";
|
|
drDatiLineaSelfNeg.Fase3Percentuale = "-";
|
|
}
|
|
|
|
}
|
|
|
|
dsS80ALT.LineaSelfNeg.AddLineaSelfNegRow(drDatiLineaSelfNeg);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
// 20181212
|
|
// altrimenti deve comunque creare una riga "vuota" perché la S80ALT se la aspetta
|
|
else
|
|
{
|
|
drDatiLineaSelfNeg = dsS80ALT.LineaSelfNeg.NewLineaSelfNegRow();
|
|
drDatiLineaSelfNeg.Fase1 = "-";
|
|
drDatiLineaSelfNeg.Fase2 = "-";
|
|
drDatiLineaSelfNeg.Fase3 = "-";
|
|
drDatiLineaSelfNeg.Fase1Percentuale = "-";
|
|
drDatiLineaSelfNeg.Fase2Percentuale = "-";
|
|
drDatiLineaSelfNeg.Fase3Percentuale = "-";
|
|
|
|
dsS80ALT.LineaSelfNeg.AddLineaSelfNegRow(drDatiLineaSelfNeg);
|
|
}
|
|
//--20181212
|
|
|
|
/*
|
|
DataSetS80ALT.LineaSelfNegRow drDatiLineaSelfNeg;
|
|
drDatiLineaSelfNeg = dsS80ALT.LineaSelfNeg.NewLineaSelfNegRow();
|
|
drDatiLineaSelfNeg.Descrizione = "Liquidità negativa \"Linee GP Eligo\"";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
if (drFase1[0]["CTVSELF"].ToString() != "0,000")
|
|
drDatiLineaSelfNeg.Fase1 = formatNum.ConvertNum(drFase1[0]["CTVSELF"].ToString());
|
|
else
|
|
drDatiLineaSelfNeg.Fase1 = "-";
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
if (drFase2[0]["CTVSELF"].ToString() != "0,000")
|
|
drDatiLineaSelfNeg.Fase2 = formatNum.ConvertNum(drFase2[0]["CTVSELF"].ToString());
|
|
else
|
|
drDatiLineaSelfNeg.Fase2 = "-";
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
if (drFase3[0]["CTVSELF"].ToString() != "0,000")
|
|
drDatiLineaSelfNeg.Fase3 = formatNum.ConvertNum(dataThread.TotalSelfNegCurrentAccountValue).ToString();
|
|
else
|
|
drDatiLineaSelfNeg.Fase3 = "-";
|
|
}
|
|
|
|
dsS80ALT.LineaSelfNeg.AddLineaSelfNegRow(drDatiLineaSelfNeg);
|
|
*/
|
|
|
|
//--MIOFOGLIO 20181206
|
|
|
|
#endregion
|
|
|
|
#region Operazioni in corso
|
|
|
|
DataSetS80ALT.OperazioniInCorsoRow drDatiOperazioniInCorso;
|
|
drDatiOperazioniInCorso = dsS80ALT.OperazioniInCorso.NewOperazioniInCorsoRow();
|
|
drDatiOperazioniInCorso.Descrizione = "Operazioni in corso";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
|
|
//logger.Info("Operazioni in corso, Fase 1 " + drFase1.Length.ToString());
|
|
|
|
drDatiOperazioniInCorso.Fase1 = formatNum.ConvertNum(drFase1[0]["Partita_viaggiante"].ToString());
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Operazioni in corso, Fase 1 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiOperazioniInCorso.Fase1Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Operazioni in corso, Fase 2 " + drFase2.Length.ToString());
|
|
|
|
drDatiOperazioniInCorso.Fase2 = formatNum.ConvertNum(drFase2[0]["Partita_viaggiante"].ToString());
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Operazioni in corso, Fase 2 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiOperazioniInCorso.Fase2Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//logger.Info("Operazioni in corso, Fase 3 " + drFase2.Length.ToString());
|
|
|
|
//Will calculated from dataThread instead of SP
|
|
//drDatiOperazioniInCorso.Fase3 = formatNum.ConvertNum(drFase3[0]["Partita_viaggiante"].ToString());
|
|
drDatiOperazioniInCorso.Fase3 = formatNum.ConvertNum(dataThread.PartiteViaggiantiInvestimento + dataThread.PartiteViaggiantiDisinvestimento).ToString();
|
|
|
|
/* era 1*/
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Operazioni in corso, Fase 3 " + Convert.ToString(_totalePercentualeRF));
|
|
|
|
drDatiOperazioniInCorso.Fase3Percentuale = "-"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
dsS80ALT.OperazioniInCorso.AddOperazioniInCorsoRow(drDatiOperazioniInCorso);
|
|
|
|
#endregion
|
|
|
|
|
|
#region Totale Patrimonto
|
|
|
|
DataSetS80ALT.DatiTotaleRow drDatiTotale;
|
|
drDatiTotale = dsS80ALT.DatiTotale.NewDatiTotaleRow();
|
|
drDatiTotale.Descrizione = "TOTALE PATRIMONIO";
|
|
|
|
/**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/
|
|
/* Verifica se siamo in presenza di un Cliente SEI Private o no */
|
|
DataRow rowTemplateCC = dsS80ALT.ContoCorrente.Rows[0];
|
|
DataRow rowTemplateSelf = dsS80ALT.LineaSelfNeg.Rows[0];
|
|
DataRow rowTemplateOC = dsS80ALT.OperazioniInCorso.Rows[0];
|
|
|
|
DataRow rowTemplateRNA = dsS80ALT.RisorseNonAllocate.Rows[0];
|
|
|
|
bool _Private = false;
|
|
|
|
//logger.Info("Totale Patrimonto " + rowTemplateCC["fase1"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateCC["fase2"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateCC["fase3"].ToString());
|
|
|
|
//logger.Info("Totale Patrimonto " + rowTemplateOC["fase1"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateOC["fase2"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateOC["fase3"].ToString());
|
|
|
|
//logger.Info("Totale Patrimonto " + rowTemplateSelf["fase1"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateSelf["fase2"].ToString());
|
|
//logger.Info("Totale Patrimonto " + rowTemplateSelf["fase3"].ToString());
|
|
|
|
|
|
if (
|
|
((rowTemplateCC["fase1"].ToString() != "-" && rowTemplateCC["fase1"].ToString() != string.Empty) || (rowTemplateCC["fase2"].ToString() != "-" && rowTemplateCC["fase2"].ToString() != string.Empty) || (rowTemplateCC["fase3"].ToString() != "-" && rowTemplateCC["fase3"].ToString() != string.Empty))
|
|
||
|
|
((rowTemplateOC["fase1"].ToString() != "0,00" && rowTemplateOC["fase1"].ToString() != string.Empty) || (rowTemplateOC["fase2"].ToString() != "0,00" && rowTemplateOC["fase2"].ToString() != string.Empty) || (rowTemplateOC["fase3"].ToString() != "0,00" && rowTemplateOC["fase3"].ToString() != string.Empty))
|
|
||
|
|
((rowTemplateSelf["fase1"].ToString() != "-" && rowTemplateSelf["fase1"].ToString() != string.Empty) || (rowTemplateSelf["fase2"].ToString() != "-" && rowTemplateSelf["fase2"].ToString() != string.Empty) || (rowTemplateSelf["fase3"].ToString() != "-" && rowTemplateSelf["fase3"].ToString() != string.Empty))
|
|
||
|
|
((rowTemplateRNA["fase1"].ToString() != "-" && rowTemplateRNA["fase1"].ToString() != string.Empty) || (rowTemplateRNA["fase2"].ToString() != "-" && rowTemplateRNA["fase2"].ToString() != string.Empty) || (rowTemplateRNA["fase3"].ToString() != "-" && rowTemplateRNA["fase3"].ToString() != string.Empty))
|
|
)
|
|
_Private = true;
|
|
/****************************************************************************************************************************/
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Totale Patrimonto, fase 1 " + drFase1.Length.ToString());
|
|
|
|
drDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["TotalePatrimonio"].ToString());
|
|
|
|
decimal _totalePercentuale = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Patrimonto, fase 1 " + Convert.ToString(_totalePercentuale));
|
|
|
|
drDatiTotale.Fase1Percentuale = (!_Private ? formatNum.ConvertNum(_totalePercentuale) : "-");
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Totale Patrimonto, fase 2 " + drFase2.Length.ToString());
|
|
|
|
drDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["TotalePatrimonio"].ToString());
|
|
decimal _totalePercentuale = Convert.ToDecimal(drFase2[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase2[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Patrimonto, fase 2 " + Convert.ToString(_totalePercentuale));
|
|
|
|
drDatiTotale.Fase2Percentuale = (!_Private ? formatNum.ConvertNum(_totalePercentuale) : "-");
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//logger.Info("Totale Patrimonto, fase 3 " + drFase3.Length.ToString());
|
|
|
|
//drDatiTotale.Fase3 = formatNum.ConvertNum(drFase3[0]["TotalePatrimonio"].ToString());
|
|
//Will calculated from dataThread instead of SP
|
|
decimal totale;
|
|
totale = decimal.Parse(drFase3[0]["TotalePatrimonio"].ToString()) + dataThread.PartiteViaggiantiInvestimento + dataThread.PartiteViaggiantiDisinvestimento;
|
|
drDatiTotale.Fase3 = formatNum.ConvertNum(totale.ToString());
|
|
|
|
decimal _totalePercentuale = Convert.ToDecimal(drFase3[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase3[0]["PERC_LIQ"].ToString());
|
|
|
|
//logger.Info("Totale Patrimonto, fase 3 " + Convert.ToString(_totalePercentuale));
|
|
|
|
drDatiTotale.Fase3Percentuale = (!_Private ? formatNum.ConvertNum(_totalePercentuale) : "-");
|
|
}
|
|
|
|
dsS80ALT.DatiTotale.AddDatiTotaleRow(drDatiTotale);
|
|
|
|
#endregion
|
|
|
|
#region Dettaglio Movimenti Dopo Dati Totale
|
|
DataSetS80ALT.RigheDopoDatiTotaleRow drDettMovDopoDatiTotale;
|
|
drDettMovDopoDatiTotale = dsS80ALT.RigheDopoDatiTotale.NewRigheDopoDatiTotaleRow();
|
|
drDettMovDopoDatiTotale.Descrizione = "Movimenti da osservazione precedente";
|
|
drDettMovDopoDatiTotale.Fase1BlankValue = string.Empty;
|
|
drDettMovDopoDatiTotale.Fase2BlankValue = string.Empty;
|
|
drDettMovDopoDatiTotale.Fase3BlankValue = string.Empty;
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 1 " + drFase1.Length.ToString());
|
|
|
|
if (!drFase1[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 1 DettMov non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["DettMov"].ToString());
|
|
if (!drFase1[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 1 NumeroAsterischiNota non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota = drFase1[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase1 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase1,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota)));
|
|
}
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
drDettMovDopoDatiTotale.Fase1Percentuale = string.Empty; //"notvisible"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
else
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 1 DettMov null");
|
|
|
|
drDettMovDopoDatiTotale.Fase1 = "notvisible";
|
|
drDettMovDopoDatiTotale.Fase1Percentuale = string.Empty; // "notvisibile";
|
|
}
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 2 " + drFase2.Length.ToString());
|
|
|
|
if (!drFase2[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 2 DettMov non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["DettMov"].ToString());
|
|
if (!drFase2[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 2 NumeroAsterischiNota non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota = drFase2[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase2 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase2,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota)));
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
drDettMovDopoDatiTotale.Fase2Percentuale = string.Empty; //"notvisible"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 2 DettMov null");
|
|
|
|
drDettMovDopoDatiTotale.Fase2 = "notvisible";
|
|
drDettMovDopoDatiTotale.Fase2Percentuale = string.Empty; //"notvisibile";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
drDettMovDopoDatiTotale.Fase2 = "notvisible";
|
|
drDettMovDopoDatiTotale.Fase2Percentuale = string.Empty; //"notvisibile";
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 3 " + drFase3.Length.ToString());
|
|
|
|
if (!drFase3[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 3 DettMov non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase3 = formatNum.ConvertNum(drFase3[0]["DettMov"].ToString());
|
|
if (!drFase3[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 3 NumeroAsterischiNota non null");
|
|
|
|
drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota = drFase3[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase3 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase3,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota)));
|
|
|
|
//decimal _totalePercentualeRF = Convert.ToDecimal(drFase1[0]["PERC_EXT"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_INV"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_PRE"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_RIS"].ToString()) + Convert.ToDecimal(drFase1[0]["PERC_LIQ"].ToString());
|
|
|
|
drDettMovDopoDatiTotale.Fase3Percentuale = string.Empty; //"notvisible"; //formatNum.ConvertNum(_totalePercentualeRF);
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, fase 3 DettMov null");
|
|
|
|
drDettMovDopoDatiTotale.Fase3 = "notvisible";
|
|
drDettMovDopoDatiTotale.Fase3Percentuale = string.Empty; //"notvisibile";
|
|
}
|
|
}
|
|
|
|
dsS80ALT.RigheDopoDatiTotale.AddRigheDopoDatiTotaleRow(drDettMovDopoDatiTotale);
|
|
|
|
DataTable dtDidascalieNote = SectionManager.GetDataSection(tabelleSessione, "[C6MartPeriodico].[PL_S80Alternativa_DidascalieNote]", dataThread);
|
|
DataSetS80ALT.DettaglioMovimentiDidascalieNoteRow drDettaglioMovimentiDidascalieNoteRow;
|
|
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, Note " + dtDidascalieNote.Rows.Count.ToString());
|
|
|
|
foreach (DataRow dr in dtDidascalieNote.Rows)
|
|
{
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, Note " + dr["NumeroAsterischi"].ToString());
|
|
//logger.Info("Dettaglio Movimenti Dopo Dati Totale, Note " + dr["Descrizione"].ToString());
|
|
|
|
|
|
drDettaglioMovimentiDidascalieNoteRow = dsS80ALT.DettaglioMovimentiDidascalieNote.NewDettaglioMovimentiDidascalieNoteRow();
|
|
drDettaglioMovimentiDidascalieNoteRow.NumeroAsterischi = Convert.ToInt16(dr["NumeroAsterischi"]);
|
|
drDettaglioMovimentiDidascalieNoteRow.Descrizione = dr["Descrizione"].ToString();
|
|
dsS80ALT.DettaglioMovimentiDidascalieNote.AddDettaglioMovimentiDidascalieNoteRow(drDettaglioMovimentiDidascalieNoteRow);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
dsr.DatiSezione = dsS80ALT;
|
|
dsr.Esito = dsS80ALT.GraficoPiramide.Rows.Count;
|
|
return dsr;
|
|
|
|
}
|
|
|
|
|
|
public List<T> ConvertTo<T>(DataTable datatable) where T : new()
|
|
{
|
|
List<T> Temp = new List<T>();
|
|
try
|
|
{
|
|
List<string> columnsNames = new List<string>();
|
|
foreach (DataColumn DataColumn in datatable.Columns)
|
|
columnsNames.Add(DataColumn.ColumnName);
|
|
Temp = datatable.AsEnumerable().ToList().ConvertAll<T>(row => getObject<T>(row, columnsNames));
|
|
return Temp;
|
|
}
|
|
catch
|
|
{
|
|
return Temp;
|
|
}
|
|
}
|
|
|
|
public T getObject<T>(DataRow row, List<string> columnsName) where T : new()
|
|
{
|
|
T obj = new T();
|
|
try
|
|
{
|
|
string columnname = "";
|
|
string value = "";
|
|
PropertyInfo[] Properties;
|
|
Properties = typeof(T).GetProperties();
|
|
foreach (PropertyInfo objProperty in Properties)
|
|
{
|
|
columnname = columnsName.Find(name => name.ToLower() == objProperty.Name.ToLower());
|
|
if (!string.IsNullOrEmpty(columnname))
|
|
{
|
|
value = row[columnname].ToString();
|
|
if (!string.IsNullOrEmpty(value))
|
|
{
|
|
if (Nullable.GetUnderlyingType(objProperty.PropertyType) != null)
|
|
{
|
|
value = row[columnname].ToString().Replace("$", "").Replace(",", "");
|
|
objProperty.SetValue(obj, Convert.ChangeType(value, Type.GetType(Nullable.GetUnderlyingType(objProperty.PropertyType).ToString())), null);
|
|
}
|
|
else
|
|
{
|
|
value = row[columnname].ToString().Replace("%", "");
|
|
objProperty.SetValue(obj, Convert.ChangeType(value, Type.GetType(objProperty.PropertyType.ToString())), null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
catch
|
|
{
|
|
return obj;
|
|
}
|
|
}
|
|
|
|
private DataTable ToDataTable<T>(IList<T> data)
|
|
{
|
|
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(typeof(T));
|
|
DataTable table = new DataTable();
|
|
for (int i = 0; i < props.Count; i++)
|
|
{
|
|
PropertyDescriptor prop = props[i];
|
|
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
|
|
}
|
|
object[] values = new object[props.Count];
|
|
foreach (T item in data)
|
|
{
|
|
for (int i = 0; i < values.Length; i++)
|
|
values[i] = props[i].GetValue(item) ?? DBNull.Value;
|
|
table.Rows.Add(values);
|
|
}
|
|
return table;
|
|
}
|
|
|
|
/************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
private List<PercentualiDaNormalizzare> NormalizzoPercentuali(List<PercentualiDaNormalizzare> _listaDaNormalizzare)
|
|
{
|
|
List<PercentualiDaNormalizzare> _listaNormalizzata = new List<PercentualiDaNormalizzare>();
|
|
|
|
try
|
|
{
|
|
// Arrotondo a 2 cifre decimali
|
|
foreach (PercentualiDaNormalizzare item in _listaDaNormalizzare.Cast<PercentualiDaNormalizzare>())
|
|
{
|
|
item.valoreAttuale = (Math.Round(item.valoreAttuale, 2, MidpointRounding.ToEven) == 0 ? 0.00M : Math.Round(item.valoreAttuale, 2, MidpointRounding.ToEven));
|
|
item.valoreNormalizzato = Math.Round(item.valoreAttuale, 2, MidpointRounding.ToEven);
|
|
};
|
|
|
|
// Calcolo il totale
|
|
decimal TotalePercentuale = _listaDaNormalizzare.Cast<PercentualiDaNormalizzare>().Sum(s => s.valoreAttuale);
|
|
|
|
// Determino l'errore Err = Desi - Eff
|
|
decimal Desi = 100.00M;
|
|
decimal error = Desi - TotalePercentuale;
|
|
|
|
_listaNormalizzata = _listaDaNormalizzare;
|
|
|
|
if (error != 0)
|
|
{
|
|
// Determino se l'errore è dell'ordine delle decine o delle centinaie
|
|
if ((Math.Abs(error) * 100) >= 1)
|
|
{
|
|
// ciclo sulla lista dei valori percentuali e individuo quelli che posso modificare ( > 0.01)
|
|
foreach (var item in _listaNormalizzata.Cast<PercentualiDaNormalizzare>())
|
|
{
|
|
if (Convert.ToInt16(item.valoreAttuale.ToString().Split(',')[1].Substring(1, 1)) >= 1)
|
|
{
|
|
// Se l'errore è negativo allora diminuisco un valore percentuale della quantita individuata nella variabile valore
|
|
if (error < 0)
|
|
item.valoreNormalizzato = item.valoreAttuale - Math.Abs(error);
|
|
else
|
|
item.valoreNormalizzato = item.valoreAttuale + Math.Abs(error);
|
|
|
|
item.valoreNormalizzato = Math.Round(item.valoreNormalizzato, 2, MidpointRounding.ToEven);
|
|
}
|
|
else
|
|
{
|
|
item.valoreNormalizzato = item.valoreAttuale;
|
|
item.valoreNormalizzato = Math.Round(item.valoreNormalizzato, 2, MidpointRounding.ToEven);
|
|
}
|
|
|
|
if (_listaNormalizzata.Cast<PercentualiDaNormalizzare>().Sum(s => s.valoreNormalizzato) == 100.00M) break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((Math.Abs(error) * 10) >= 1)
|
|
{
|
|
// ciclo sulla lista dei valori percentuali e individuo quelli che posso modificare ( > 0.5)
|
|
foreach (var item in _listaNormalizzata.Cast<PercentualiDaNormalizzare>())
|
|
{
|
|
if (Convert.ToInt16(item.valoreAttuale.ToString().Split(',')[1].Substring(0, 1)) >= 5)
|
|
{
|
|
// Se l'errore è negativo allora diminuisco un valore percentuale della quantita individuata nella variabile valore
|
|
if (error < 0)
|
|
item.valoreNormalizzato = item.valoreAttuale + Math.Abs(error);
|
|
else
|
|
item.valoreNormalizzato = item.valoreAttuale - Math.Abs(error);
|
|
|
|
item.valoreNormalizzato = Math.Round(item.valoreNormalizzato, 2, MidpointRounding.ToEven);
|
|
}
|
|
else
|
|
{
|
|
item.valoreNormalizzato = item.valoreAttuale;
|
|
item.valoreNormalizzato = Math.Round(item.valoreNormalizzato, 2, MidpointRounding.ToEven);
|
|
}
|
|
|
|
|
|
if (_listaNormalizzata.Cast<PercentualiDaNormalizzare>().Sum(s => s.valoreNormalizzato) == 100.00M) break;
|
|
}
|
|
|
|
//Utility.ShowMessageBox("Decine", "Patrimonio finanziario", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
|
|
return _listaNormalizzata;
|
|
}
|
|
/*****************************************************************************************************************/
|
|
}
|
|
|
|
public class PiramidePercentuale
|
|
{
|
|
public string Descrizione { get; set; }
|
|
public string fase1 { get; set; }
|
|
public string Fase1Percentuale { get; set; }
|
|
public string fase2 { get; set; }
|
|
public string Fase2Percentuale { get; set; }
|
|
public string fase3 { get; set; }
|
|
public string Fase3Percentuale { get; set; }
|
|
}
|
|
|
|
public class PiramidePercentualeDopoRigheTotali
|
|
{
|
|
public string Descrizione { get; set; }
|
|
public string fase1 { get; set; }
|
|
public string Fase1Percentuale { get; set; }
|
|
public string fase2 { get; set; }
|
|
public string Fase2Percentuale { get; set; }
|
|
public string fase3 { get; set; }
|
|
public string Fase3Percentuale { get; set; }
|
|
public string Fase1NumeroAsterischiNota { get; set; }
|
|
public string Fase2NumeroAsterischiNota { get; set; }
|
|
public string Fase3NumeroAsterischiNota { get; set; }
|
|
public string Fase1BlankValue { get; set; }
|
|
public string Fase2BlankValue { get; set; }
|
|
public string Fase3BlankValue { get; set; }
|
|
}
|
|
/************************ Modifica per lo sfrido dello 0,01 - Pino ***********************************************/
|
|
public class PercentualiDaNormalizzare
|
|
{
|
|
public string area { get; set; }
|
|
public Decimal valoreAttuale { get; set; }
|
|
public Decimal valoreNormalizzato { get; set; }
|
|
}
|
|
/*****************************************************************************************************************/
|
|
}
|