using System;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using System.Data;
using System.Linq;
using Consulenza.ReportCommon;
namespace Consulenza.ReportWriter.Manager.Section.Unica
{
///
/// S37.PatrimonioImmobiliare idSezione = 80
///
public class S37 : Entity.Section
{
public S37(EnvironmentFacade environmentFacade, int idSection)
: base(environmentFacade, idSection)
{
try
{
Draw();
}
catch (Exception ex)
{
SectionLogger.Write("S37", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
}
}
//protected override sealed void Draw()
//{
// var dati = GetDataSet();
// if (dati.Tables["immobili"].Rows.Count > 0)
// {
// #region Tabella immobili
// var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["immobili"], dati.Tables["immobiliFooter"])
// {
// Style = Style.ConsulenzaUnica,
// AlternateRow = false,
// HeaderHeight = 35,
// RowHeight = 27,
// HeaderTextHorizontalAlign = HorizontalAlignmentType.Sinistra
// };
// tabella.Columns.Add(new ColumnPDF("Descrizione", 190, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { PaddingRight = 10, HeaderFontSize = 7, FontSize = 7, VerticalAlignment = VerticalAlignmentType.Centrato });
// tabella.Columns.Add(new ColumnPDF("Comune", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Comune", "Comune") { HeaderFontSize = 7 });
// tabella.FooterColumns.Add(new ColumnPDF("Totale", 290, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
// tabella.Columns.Add(new ColumnPDF("ValorestimatoTotale", 80, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Valorestimatototale", "Valore stimato
totale (€)") { HeaderFontSize = 7, FontSize = 7 });
// tabella.FooterColumns.Add(new ColumnPDF("ValorestimatoTotale", 80, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7 });
// tabella.Columns.Add(new ColumnPDF("TipologiaDiritto", 95, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Tipologiadiritto", "Tipologia
diritto") { HeaderPaddingLeft = 10, PaddingLeft = 10, HeaderFontSize = 7, FontSize = 7 });
// tabella.Columns.Add(new ColumnPDF("Quotadiritto", 55, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Quotadiritto", "Quota di
diritto (%)") { HeaderFontSize = 7, FontSize = 7, HeaderPaddingRight = 4, PaddingRight = 4 });
// tabella.FooterColumns.Add(new ColumnPDF("ColonnaVuota", 150, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
// int i = 0;
// foreach (var item in dati.Tables["immobili"].Rows)
// {
// tabella.Cells[2, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
// //tabella.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Centrato;
// tabella.Cells[4, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
// i++;
// }
// //tabella.Cells[0, 0].YContentOffset = -3F;
// AddElement(tabella);
// #endregion
// }
//}
protected override sealed void Draw()
{
var dati = GetDataSet();
if (dati.Tables["immobili"].Rows.Count > 0)
{
#region Tabella immobili
var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["immobili"], dati.Tables["immobiliFooter"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
HeaderHeight = 35,
RowHeight = 40,
HeaderTextHorizontalAlign = HorizontalAlignmentType.Sinistra
};
//tabella.Columns.Add(new ColumnPDF("Descrizione", 190, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { PaddingRight = 10, HeaderFontSize = 7, FontSize = 7, VerticalAlignment = VerticalAlignmentType.Centrato });
//tabella.Columns.Add(new ColumnPDF("Comune", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Comune", "Comune") { HeaderFontSize = 7 });
//tabella.FooterColumns.Add(new ColumnPDF("Totale", 290, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
//tabella.Columns.Add(new ColumnPDF("ValorestimatoTotale", 80, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Valorestimatototale", "Valore stimato
totale (€)") { HeaderFontSize = 7, FontSize = 7 });
//tabella.FooterColumns.Add(new ColumnPDF("ValorestimatoTotale", 80, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7 });
//tabella.Columns.Add(new ColumnPDF("TipologiaDiritto", 95, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Tipologiadiritto", "Tipologia
diritto") { HeaderPaddingLeft = 10, PaddingLeft = 10, HeaderFontSize = 7, FontSize = 7 });
//tabella.Columns.Add(new ColumnPDF("Quotadiritto", 55, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Quotadiritto", "Quota di
diritto (%)") { HeaderFontSize = 7, FontSize = 7, HeaderPaddingRight = 4, PaddingRight = 4 });
//tabella.FooterColumns.Add(new ColumnPDF("ColonnaVuota", 150, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("Descrizione", 160, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { PaddingRight = 10, HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("Comune", 85, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Comune", "Comune") { HeaderFontSize = 7 });
tabella.FooterColumns.Add(new ColumnPDF("Totale", 245, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
//tabella.Columns.Add(new ColumnPDF("TipologiaDiritto", 70, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Testo, "Tipologiadiritto", "Tipologia
diritto") { HeaderPaddingLeft = 10, PaddingLeft = 10, HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("TipologiaDiritto", 70, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Tipologiadiritto", "Tipologia
diritto") { HeaderPaddingLeft = 10, PaddingLeft = 10, HeaderFontSize = 7, FontSize = 7, VerticalAlignment = VerticalAlignmentType.Centrato });
tabella.Columns.Add(new ColumnPDF("Quotadiritto", 54, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "Quotadiritto", "Quota
diritto (%)") { HeaderFontSize = 7, FontSize = 7, HeaderPaddingRight = 4, PaddingRight = 4 });
tabella.FooterColumns.Add(new ColumnPDF("ColonnaVuota", 124, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("ValorestimatoProquota", 77, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "ValorestimatoProquota", "Valore stimato
pro quota (€)") { HeaderFontSize = 7, FontSize = 7 });
tabella.FooterColumns.Add(new ColumnPDF("ValorestimatoProquota", 77, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("ValorestimatoTotale", 77, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "Valorestimatototale", "Valore stimato
totale (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
tabella.FooterColumns.Add(new ColumnPDF("ValorestimatoTotale", 77, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7 });
int i = 0;
foreach (var item in dati.Tables["immobili"].Rows)
{
//tabella.Cells[2, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
////tabella.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Centrato;
//tabella.Cells[4, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
tabella.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
tabella.Cells[4, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
tabella.Cells[5, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
i++;
}
//tabella.Cells[0, 0].YContentOffset = -3F;
AddElement(tabella);
#endregion
}
}
///
/// Recupera i dati necessari alla Section restituendo un DataTable.
///
///
protected sealed override DataTable GetDataTable()
{
return null;
}
///
/// Recupera i dati necessari alla Section restituendo un DataSet.
///
///
//protected sealed override DataSet GetDataSet()
//{
// var ds = new DataSet();
// ds.Tables.Add(new DataTable("immobili"));
// ds.Tables.Add(new DataTable("immobiliFooter"));
// var patrimonioImmobiliare = datiSeiUnico.patrimonioUnit().patrimonioImmobiliare;
// var listaImmobili = patrimonioImmobiliare.listaProdotti;
// #region Immobili
// ds.Tables["immobili"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
// ds.Tables["immobili"].Columns.Add(new DataColumn("Comune", typeof(string)));
// ds.Tables["immobili"].Columns.Add(new DataColumn("ValorestimatoTotale", typeof(decimal)));
// ds.Tables["immobili"].Columns.Add(new DataColumn("TipologiaDiritto", typeof(string)));
// ds.Tables["immobili"].Columns.Add(new DataColumn("Quotadiritto", typeof(decimal)));
// foreach (var item in listaImmobili)
// {
// ds.Tables["immobili"].Rows.Add(
// item.descrizione,
// item.comune + " ("+item.provincia+")",
// item.ctv,
// item.tipologiaCatastale != null ? item.tipologiaCatastale : "-",
// item.quotaDiritto
// );
// }
// #endregion
// #region Totale Immobili
// ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("Totale", typeof(string)));
// ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("ValorestimatoTotale", typeof(decimal)));
// ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("ColonnaVuota", typeof(string)));
// ds.Tables["immobiliFooter"].Rows.Add(
// "Totale patrimonio immobiliare",
// Helper.FormatCurrency(patrimonioImmobiliare.totalePatrimonio.ToString()),
// string.Empty
// );
// #endregion
// return ds;
//}
protected sealed override DataSet GetDataSet()
{
var ds = new DataSet();
ds.Tables.Add(new DataTable("immobili"));
ds.Tables.Add(new DataTable("immobiliFooter"));
var patrimonioImmobiliare = datiSeiUnico.patrimonioUnit().patrimonioImmobiliare;
var listaImmobili = patrimonioImmobiliare.listaProdotti;
#region Immobili
ds.Tables["immobili"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
ds.Tables["immobili"].Columns.Add(new DataColumn("Comune", typeof(string)));
ds.Tables["immobili"].Columns.Add(new DataColumn("TipologiaDiritto", typeof(string)));
ds.Tables["immobili"].Columns.Add(new DataColumn("Quotadiritto", typeof(decimal)));
ds.Tables["immobili"].Columns.Add(new DataColumn("ValorestimatoProquota", typeof(decimal)));
ds.Tables["immobili"].Columns.Add(new DataColumn("ValorestimatoTotale", typeof(decimal)));
decimal dTotaleProquota = 0;
foreach (var item in listaImmobili)
{
//if (item.tipologiaCatastale == "Nuda proprietà")
// item.tipologiaCatastale = "Nuda";
ds.Tables["immobili"].Rows.Add(
item.descrizione,
item.comune + " (" + item.provincia + ")",
item.tipologiaCatastale != null ? item.tipologiaCatastale : "-",
item.quotaDiritto,
item.valoreStimatoProQuota,
item.ctv
);
dTotaleProquota = dTotaleProquota + item.valoreStimatoProQuota;
}
#endregion
#region Totale Immobili
ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("Totale", typeof(string)));
ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("ColonnaVuota", typeof(string)));
ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("ValorestimatoProquota", typeof(decimal)));
ds.Tables["immobiliFooter"].Columns.Add(new DataColumn("ValorestimatoTotale", typeof(decimal)));
ds.Tables["immobiliFooter"].Rows.Add(
"Totale patrimonio immobiliare",
string.Empty,
Helper.FormatCurrency(dTotaleProquota.ToString()),
Helper.FormatCurrency(patrimonioImmobiliare.totalePatrimonio.ToString())
);
#endregion
return ds;
}
}
}