430 lines
20 KiB
C#
430 lines
20 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Data;
|
|
|
|
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
|
|
if (dataAvvioMonitoraggio.HasValue)
|
|
{
|
|
dsS80ALT.GraficoPiramide.Fase1Column.Caption = "Avvio Monitoraggio <BR>(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")";
|
|
}
|
|
|
|
if (dwPrecedenteInvioReport.Count > 0)
|
|
dsS80ALT.GraficoPiramide.Fase2Column.Caption = "Precedente invio report <BR>(" + dataPrecedenteInvioReport.ToShortDateString() + ")";
|
|
else
|
|
dsS80ALT.GraficoPiramide.Fase2Column.Caption = string.Empty;
|
|
|
|
dsS80ALT.GraficoPiramide.Fase3Column.Caption = "Situazione Corrente <BR>(" + dataThread.DataFineTrimestreCorrente.ToShortDateString() + ")";
|
|
|
|
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();
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
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());
|
|
}
|
|
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
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());
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
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());
|
|
}
|
|
|
|
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";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseAllocate"].ToString());
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseAllocate"].ToString());
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseAllocate"].ToString());
|
|
}
|
|
|
|
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());
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drRisorseNonAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseNonAllocate"].ToString());
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drRisorseNonAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseNonAllocate"].ToString());
|
|
}
|
|
|
|
dsS80ALT.RisorseNonAllocate.AddRisorseNonAllocateRow(drRisorseNonAllocate);
|
|
#endregion
|
|
|
|
#region TOTALE RISORSE FINANZIARIE
|
|
|
|
DataSetS80ALT.RisorseFinanziarieRow drDatiTotaleRisorseFinanziarie;
|
|
drDatiTotaleRisorseFinanziarie = dsS80ALT.RisorseFinanziarie.NewRisorseFinanziarieRow();
|
|
drDatiTotaleRisorseFinanziarie.Descrizione = "TOTALE RISORSE FINANZIARIE";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseFinanziarie"].ToString());
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseFinanziarie"].ToString());
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
drDatiTotaleRisorseFinanziarie.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseFinanziarie"].ToString());
|
|
}
|
|
|
|
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)
|
|
{
|
|
if (drFase1[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase1 = formatNum.ConvertNum(drFase1[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase1 = "-";
|
|
|
|
//drDatiContoCorrenteNegativo.Fase1 = drFase1[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
if (drFase2[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase2 = formatNum.ConvertNum(drFase2[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase2 = "-";
|
|
|
|
//drDatiContoCorrenteNegativo.Fase2 = drFase2[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
if (drFase3[0]["ContoCorrente"].ToString() != "0,000")
|
|
drDatiContoCorrenteNegativo.Fase3 = formatNum.ConvertNum(drFase3[0]["ContoCorrente"].ToString());
|
|
else
|
|
drDatiContoCorrenteNegativo.Fase3 = "-";
|
|
|
|
//drDatiContoCorrenteNegativo.Fase3 = drFase3[0]["ContoCorrente"].ToString();
|
|
}
|
|
|
|
dsS80ALT.ContoCorrente.AddContoCorrenteRow(drDatiContoCorrenteNegativo);
|
|
|
|
#endregion
|
|
|
|
#region Linea Self Negativa
|
|
|
|
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);
|
|
|
|
#endregion
|
|
|
|
#region Operazioni in corso
|
|
|
|
DataSetS80ALT.OperazioniInCorsoRow drDatiOperazioniInCorso;
|
|
drDatiOperazioniInCorso = dsS80ALT.OperazioniInCorso.NewOperazioniInCorsoRow();
|
|
drDatiOperazioniInCorso.Descrizione = "Operazioni in corso";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiOperazioniInCorso.Fase1 = formatNum.ConvertNum(drFase1[0]["Partita_viaggiante"].ToString());
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiOperazioniInCorso.Fase2 = formatNum.ConvertNum(drFase2[0]["Partita_viaggiante"].ToString());
|
|
}
|
|
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//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();
|
|
}
|
|
|
|
dsS80ALT.OperazioniInCorso.AddOperazioniInCorsoRow(drDatiOperazioniInCorso);
|
|
|
|
#endregion
|
|
|
|
|
|
#region Totale Patrimonto
|
|
|
|
DataSetS80ALT.DatiTotaleRow drDatiTotale;
|
|
drDatiTotale = dsS80ALT.DatiTotale.NewDatiTotaleRow();
|
|
drDatiTotale.Descrizione = "TOTALE PATRIMONIO";
|
|
|
|
if (drFase1.Length > 0)
|
|
{
|
|
drDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["TotalePatrimonio"].ToString());
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
drDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["TotalePatrimonio"].ToString());
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
//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());
|
|
}
|
|
|
|
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)
|
|
{
|
|
if (!drFase1[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["DettMov"].ToString());
|
|
if (!drFase1[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota = drFase1[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase1 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase1,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota)));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
drDettMovDopoDatiTotale.Fase1 = "notvisible";
|
|
}
|
|
}
|
|
|
|
if (drFase2.Length > 0)
|
|
{
|
|
if (!drFase2[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["DettMov"].ToString());
|
|
if (!drFase2[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota = drFase2[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase2 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase2,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota)));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
drDettMovDopoDatiTotale.Fase2 = "notvisible";
|
|
}
|
|
}
|
|
|
|
if (drFase3.Length > 0)
|
|
{
|
|
if (!drFase3[0]["DettMov"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase3 = formatNum.ConvertNum(drFase3[0]["DettMov"].ToString());
|
|
if (!drFase3[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value))
|
|
{
|
|
drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota = drFase3[0]["NumeroAsterischiNota"].ToString();
|
|
drDettMovDopoDatiTotale.Fase3 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase3,
|
|
obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota)));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
drDettMovDopoDatiTotale.Fase3 = "notvisible";
|
|
}
|
|
}
|
|
|
|
dsS80ALT.RigheDopoDatiTotale.AddRigheDopoDatiTotaleRow(drDettMovDopoDatiTotale);
|
|
|
|
DataTable dtDidascalieNote = SectionManager.GetDataSection(tabelleSessione, "[C6MartPeriodico].[PL_S80Alternativa_DidascalieNote]", dataThread);
|
|
DataSetS80ALT.DettaglioMovimentiDidascalieNoteRow drDettaglioMovimentiDidascalieNoteRow;
|
|
foreach (DataRow dr in dtDidascalieNote.Rows)
|
|
{
|
|
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;
|
|
|
|
}
|
|
}
|
|
} |