147 lines
7.4 KiB
C#
147 lines
7.4 KiB
C#
using System;
|
|
using Consulenza.ReportWriter.Business;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using System.Data;
|
|
using Consulenza.ReportCommon;
|
|
namespace Consulenza.ReportWriter.Manager.Section.Unica
|
|
{
|
|
public class S72 : Entity.Section
|
|
{
|
|
/// <summary>
|
|
/// S72.MonitoraggioProventiEScadenze idSezione = 115
|
|
/// </summary>
|
|
public S72(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("S72", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
protected override sealed void Draw()
|
|
{
|
|
var dati = GetDataSet();
|
|
|
|
AddElement(new SpacePDF(15));
|
|
|
|
#region Tabella Label
|
|
var tabellaLabel = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["Label"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
Header = false,
|
|
Footer = false,
|
|
AlternateRow = false,
|
|
RowHeight = 25
|
|
};
|
|
tabellaLabel.Columns.Add(new ColumnPDF("descrizione", 190, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo, "descrizione", string.Empty) { DeltaYContent = -2 });
|
|
tabellaLabel.Columns.Add(new ColumnPDF("valore", 330, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "valore", string.Empty) { PaddingLeft = 5, DeltaYContent = -2 });
|
|
|
|
AddElement(tabellaLabel);
|
|
AddElement(new SpacePDF(15));
|
|
if (dati.Tables["TrimestreCorrente"].Rows.Count > 0)
|
|
{
|
|
var tabellaTrimestreCorrente = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["TrimestreCorrente"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
AlternateRow = false
|
|
|
|
};
|
|
tabellaTrimestreCorrente.Columns.Add(new ColumnPDF("Data", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Data", "Data") { HeaderFontSize = 7 });
|
|
tabellaTrimestreCorrente.Columns.Add(new ColumnPDF("Strumento", 150, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Strumento", "Strumento") { HeaderFontSize = 7 });
|
|
tabellaTrimestreCorrente.Columns.Add(new ColumnPDF("Tipomovimento", 150, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "TipoMovimento", "Tipo movimento") { HeaderFontSize = 7 });
|
|
tabellaTrimestreCorrente.Columns.Add(new ColumnPDF("Importo", 120, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Importo", "Importo (€)") { HeaderFontSize = 7, PaddingRight = 4 });
|
|
for (int h = 0; h < dati.Tables["TrimestreCorrente"].Rows.Count; h++)
|
|
{
|
|
tabellaTrimestreCorrente.Cells[3, h].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
}
|
|
AddElement(tabellaTrimestreCorrente);
|
|
}
|
|
|
|
AddElement(new SpacePDF(15));
|
|
if (dati.Tables["TrimestreProssimo"].Rows.Count > 0)
|
|
{
|
|
AddElement(new FormattedTextAreaPDF(Helper.ReplaceVariables(GetText().Rows[0]["testo1"].ToString(), EnvironmentFacade.ReportEnvironment), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
|
|
AddElement(new SpacePDF(15));
|
|
var tabellaTrimestreProssimo = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["TrimestreProssimo"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
AlternateRow = false
|
|
|
|
};
|
|
tabellaTrimestreProssimo.Columns.Add(new ColumnPDF("Strumento", 250, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Strumento", "Strumento") { HeaderFontSize = 7 });
|
|
tabellaTrimestreProssimo.Columns.Add(new ColumnPDF("Tipomovimento", 170, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "TipoMovimento", "Tipo movimento") { HeaderFontSize = 7 });
|
|
tabellaTrimestreProssimo.Columns.Add(new ColumnPDF("DataScadenza", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "DataScadenza", "Data scadenza") { HeaderFontSize = 7, PaddingRight = 4 });
|
|
|
|
AddElement(tabellaTrimestreProssimo);
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataTable.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataSet.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataSet GetDataSet()
|
|
{
|
|
var ds = new DataSet();
|
|
|
|
#region dati
|
|
var listaProventi = datiSeiUnico.monitoraggioUnit().proventiScadenze;
|
|
#endregion
|
|
|
|
#region Proventi
|
|
|
|
ds.Tables.Add(new DataTable("Label"));
|
|
ds.Tables["Label"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["Label"].Columns.Add(new DataColumn("Valore", typeof(string)));
|
|
ds.Tables["Label"].Rows.Add("Proventi ultimo trimestre (€)", Helper.FormatCurrency(listaProventi.proventiTrimestreAttuale.ToString()));
|
|
|
|
#endregion
|
|
|
|
#region trimestre in corso
|
|
|
|
ds.Tables.Add(new DataTable("TrimestreCorrente"));
|
|
ds.Tables["TrimestreCorrente"].Columns.Add(new DataColumn("Data", typeof(string)));
|
|
ds.Tables["TrimestreCorrente"].Columns.Add(new DataColumn("Strumento", typeof(string)));
|
|
ds.Tables["TrimestreCorrente"].Columns.Add(new DataColumn("TipoMovimento", typeof(string)));
|
|
ds.Tables["TrimestreCorrente"].Columns.Add(new DataColumn("Importo", typeof(decimal)));
|
|
if(listaProventi.scadenzeTrimestreAttuale != null){
|
|
foreach (var scadenza in listaProventi.scadenzeTrimestreAttuale)
|
|
{
|
|
ds.Tables["TrimestreCorrente"].Rows.Add(scadenza.dtScadenza.ToShortDateString(),scadenza.descrizione, scadenza.tipologia, Helper.FormatCurrency(scadenza.importo.ToString()));
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region trimestre futuro
|
|
ds.Tables.Add(new DataTable("TrimestreProssimo"));
|
|
ds.Tables["TrimestreProssimo"].Columns.Add(new DataColumn("Strumento", typeof(string)));
|
|
ds.Tables["TrimestreProssimo"].Columns.Add(new DataColumn("TipoMovimento", typeof(string)));
|
|
ds.Tables["TrimestreProssimo"].Columns.Add(new DataColumn("DataScadenza", typeof(string)));
|
|
|
|
if(listaProventi.scadenzeTrimestreSuccessivo != null){
|
|
foreach (var scadenza in listaProventi.scadenzeTrimestreSuccessivo)
|
|
{
|
|
ds.Tables["TrimestreProssimo"].Rows.Add(scadenza.descrizione, scadenza.tipologia, scadenza.dtScadenza.ToShortDateString());
|
|
}
|
|
}
|
|
#endregion
|
|
return ds;
|
|
}
|
|
}
|
|
}
|