128 lines
5.4 KiB
C#
128 lines
5.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
|
|
{
|
|
/// <summary>
|
|
/// S38.PatrimonioAziendale idSezione = 81
|
|
/// </summary>
|
|
public class S38 : Entity.Section
|
|
{
|
|
public S38(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("S38", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
protected override sealed void Draw()
|
|
{
|
|
var dati = GetDataSet();
|
|
if (dati.Tables["aziende"].Rows.Count > 0)
|
|
{
|
|
#region Tabella aziende
|
|
DataTable dt = new DataTable();
|
|
dt = dati.Tables["aziende"].AsEnumerable().OrderByDescending(o => o.Field<decimal>("ValoreCommerciale")).CopyToDataTable();
|
|
var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dt, dati.Tables["aziendeFooter"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
AlternateRow = false,
|
|
HeaderHeight = 30,
|
|
HeaderTextHorizontalAlign = HorizontalAlignmentType.Sinistra
|
|
};
|
|
|
|
tabella.Columns.Add(new ColumnPDF("Descrizione", 170, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { HeaderFontSize = 7 });
|
|
tabella.FooterColumns.Add(new ColumnPDF("Descrizione", 170, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo));
|
|
|
|
tabella.Columns.Add(new ColumnPDF("ValoreCommerciale", 140, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Valorecommerciale", "Valore commerciale (€)") {HeaderFontSize = 7, HeaderPaddingRight = 15, PaddingRight = 15 });
|
|
tabella.FooterColumns.Add(new ColumnPDF("Valorestimato", 140, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { PaddingRight = 15 });
|
|
|
|
tabella.Columns.Add(new ColumnPDF("Tipologia", 110, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Tipologia", "Tipologia") { HeaderFontSize = 7 });
|
|
tabella.Columns.Add(new ColumnPDF("PatrimonioNetto", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Patrimonionetto", "Patrimonio netto (€)") { HeaderFontSize = 7, PaddingRight = 10 });
|
|
tabella.FooterColumns.Add(new ColumnPDF("PatrimonioNetto", 210, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { PaddingRight = 5 });
|
|
int i = 0;
|
|
foreach (var item in dati.Tables["aziende"].Rows)
|
|
{
|
|
tabella.Cells[1, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
tabella.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
|
|
i++;
|
|
}
|
|
AddElement(tabella);
|
|
|
|
#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();
|
|
|
|
ds.Tables.Add(new DataTable("aziende"));
|
|
ds.Tables.Add(new DataTable("aziendeFooter"));
|
|
|
|
var patrimonioAziendale = datiSeiUnico.patrimonioUnit().patrimonioAziendale;
|
|
var listaAziende = patrimonioAziendale.listaProdotti;
|
|
|
|
#region Aziende
|
|
|
|
ds.Tables["aziende"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["aziende"].Columns.Add(new DataColumn("ValoreCommerciale", typeof(decimal)));
|
|
ds.Tables["aziende"].Columns.Add(new DataColumn("Tipologia", typeof(string)));
|
|
ds.Tables["aziende"].Columns.Add(new DataColumn("PatrimonioNetto", typeof(decimal)));
|
|
|
|
foreach (var item in listaAziende)
|
|
{
|
|
ds.Tables["aziende"].Rows.Add(
|
|
|
|
item.descrizione,
|
|
item.ctv,
|
|
item.tipologia,
|
|
item.patrimonioNetto
|
|
);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Totale Aziende
|
|
ds.Tables["aziendeFooter"].Columns.Add(new DataColumn("Totale", typeof(string)));
|
|
ds.Tables["aziendeFooter"].Columns.Add(new DataColumn("ValoreCommerciale", typeof(decimal)));
|
|
ds.Tables["aziendeFooter"].Columns.Add(new DataColumn("PatrimonioNetto", typeof(decimal)));
|
|
|
|
ds.Tables["aziendeFooter"].Rows.Add(
|
|
"Totale patrimonio aziendale",
|
|
|
|
Helper.FormatCurrency(patrimonioAziendale.totalePatrimonio.ToString()),
|
|
Helper.FormatCurrency(patrimonioAziendale.totalePatrimonioNetto.ToString())
|
|
);
|
|
|
|
#endregion
|
|
|
|
return ds;
|
|
}
|
|
|
|
}
|
|
}
|