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 description for DSS80Alternativa
///
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
//
}
///
/// Recupera i dati per la stampa della S80ALT.
///
///
///
///
///
public DataSectionResult getDataSection(List 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
(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")";
// dsS80ALT.GraficoPiramide.Fase1PercentualeColumn.Caption = "Piramide
Modello (%)";
//}
//if (dwPrecedenteInvioReport.Count > 0)
//{
// dsS80ALT.GraficoPiramide.Fase2Column.Caption = "Precedente invio report
(" + dataPrecedenteInvioReport.ToShortDateString() + ")";
// dsS80ALT.GraficoPiramide.Fase2PercentualeColumn.Caption = "Piramide
Modello (%)";
//}
//else
// dsS80ALT.GraficoPiramide.Fase2Column.Caption = string.Empty;
//dsS80ALT.GraficoPiramide.Fase3Column.Caption = "Situazione Corrente
(" + dataThread.DataFineTrimestreCorrente.ToShortDateString() + ")";
//dsS80ALT.GraficoPiramide.Fase3PercentualeColumn.Caption = "Piramide
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
(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")";
if (drFase2.Count() > 0)
dsS80ALT.GraficoPiramideHeader.GruppoFase2Column.Caption = "Precedente invio report
(" + dataPrecedenteInvioReport.ToShortDateString() + ")";
if (drFase3.Count() > 0)
dsS80ALT.GraficoPiramideHeader.GruppoFase3Column.Caption = "Situazione Corrente
(" + 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 listaDaNormalizzare = new List();
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 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 listaDaNormalizzare = new List();
//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 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()), "
(", string.Format("{0:N2}", _percentualeEXT), "%)");
rowGraficoPiramide1.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_INV"].ToString()), "
(", string.Format("{0:N2}", _percentualeINV), "%)");
rowGraficoPiramide2.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_PRE"].ToString()), "
(", string.Format("{0:N2}", _percentualePRE), "%)");
rowGraficoPiramide3.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_RIS"].ToString()), "
(", string.Format("{0:N2}", _percentualeRIS), "%)");
rowGraficoPiramide4.Fase1 = string.Concat(formatNum.ConvertNum(drFase1[0]["CTV_LIQ"].ToString()), "
(", string.Format("{0:N2}", _percentualeLIQ), "%)");
//rowGraficoPiramide0.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_EXT"].ToString(), "
(", string.Format("{0:N2}",_percentualeEXT), "%)"));
//rowGraficoPiramide1.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_INV"].ToString(), "
(", string.Format("{0:N2}", _percentualeINV), "%)"));
//rowGraficoPiramide2.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_PRE"].ToString(), "
(", string.Format("{0:N2}", _percentualePRE), "%)"));
//rowGraficoPiramide3.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_RIS"].ToString(), "
(", string.Format("{0:N2}", _percentualeRIS), "%)"));
//rowGraficoPiramide4.Fase1 = formatNum.ConvertNum(string.Concat(drFase1[0]["CTV_LIQ"].ToString(), "
(", 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 listaDaNormalizzare = new List();
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 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()), "
(", string.Format("{0:N2}", _percentualeEXT), "%)");
rowGraficoPiramide1.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_INV"].ToString()), "
(", string.Format("{0:N2}", _percentualeINV), "%)");
rowGraficoPiramide2.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_PRE"].ToString()), "
(", string.Format("{0:N2}", _percentualePRE), "%)");
rowGraficoPiramide3.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_RIS"].ToString()), "
(", string.Format("{0:N2}", _percentualeRIS), "%)");
rowGraficoPiramide4.Fase2 = string.Concat(formatNum.ConvertNum(drFase2[0]["CTV_LIQ"].ToString()), "
(", 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 listaDaNormalizzare = new List();
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 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()), "
(", string.Format("{0:N2}", _percentualeEXT), "%)");
rowGraficoPiramide1.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_INV"].ToString()), "
(", string.Format("{0:N2}", _percentualeINV), "%)");
rowGraficoPiramide2.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_PRE"].ToString()), "
(", string.Format("{0:N2}", _percentualePRE), "%)");
rowGraficoPiramide3.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_RIS"].ToString()), "
(", string.Format("{0:N2}", _percentualeRIS), "%)");
rowGraficoPiramide4.Fase3 = string.Concat(formatNum.ConvertNum(drFase3[0]["CTV_LIQ"].ToString()), "
(", string.Format("{0:N2}", _percentualeLIQ), "%)");
//rowGraficoPiramide0.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_EXT"].ToString(), "
(", string.Format("{0:N2}", _percentualeEXT), "%)"));
//rowGraficoPiramide1.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_INV"].ToString(), "
(", string.Format("{0:N2}", _percentualeINV), "%)"));
//rowGraficoPiramide2.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_PRE"].ToString(), "
(", string.Format("{0:N2}", _percentualePRE), "%)"));
//rowGraficoPiramide3.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_RIS"].ToString(), "
(", string.Format("{0:N2}", _percentualeRIS), "%)"));
//rowGraficoPiramide4.Fase3 = formatNum.ConvertNum(string.Concat(drFase3[0]["CTV_LIQ"].ToString(), "
(", 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 ConvertTo(DataTable datatable) where T : new()
{
List Temp = new List();
try
{
List columnsNames = new List();
foreach (DataColumn DataColumn in datatable.Columns)
columnsNames.Add(DataColumn.ColumnName);
Temp = datatable.AsEnumerable().ToList().ConvertAll(row => getObject(row, columnsNames));
return Temp;
}
catch
{
return Temp;
}
}
public T getObject(DataRow row, List 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(IList 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 NormalizzoPercentuali(List _listaDaNormalizzare)
{
List _listaNormalizzata = new List();
try
{
// Arrotondo a 2 cifre decimali
foreach (PercentualiDaNormalizzare item in _listaDaNormalizzare.Cast())
{
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().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())
{
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().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())
{
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().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; }
}
/*****************************************************************************************************************/
}