672 lines
44 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using Consulenza.ExternalServices;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Business.Entity;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using System.Data;
using Consulenza.ReportCommon;
namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.MonitoraggioNucleo
{
/// <summary>
/// Glossario (id 42)
/// </summary>
//public class S10 : Monitoraggio.S10
//{
// public S10(EnvironmentFacade environmentFacade, int idSection)
// : base(environmentFacade, idSection)
// {
// }
//}
public class S10 : Entity.Section
{
public S10(EnvironmentFacade environmentFacade, int idSection)
: base(environmentFacade, idSection)
{
try
{
Draw();
}
catch (Exception ex)
{
SectionLogger.Write("S10", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
}
}
/// <summary>
/// Scheda2. Patrimonio immobiliare Sintesi (distribuzione del patrimonio complessivo del cliente diviso per tipologia e cointestatari)
/// </summary>
protected override sealed void Draw()
{
string titolo = "";
string paragrafoSx = "";
string paragrafoDx = "";
FormattedTextAreaPDF testoSx = null;
FormattedTextAreaPDF testoDx = null;
FormattedTextAreaPDF testoTitolo = null;
FormattedTextAreaPDF notaTabella = null;
int x1Linea, x2Linea;
var dataset = GetDataSet();
var _text = dataset.Tables[0];
var data = dataset.Tables[1];
var width = 340;
List<int> indiciPagina = _text.AsEnumerable()
.Select(z => z.Field<int>("idREP_IMM_MON_Pagina")).Distinct().ToList();
int j = 1;
foreach (var indice in indiciPagina)
{
#region Text OLD OLD
//if (_text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).Count() > 0)
//{
// var testo = _text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList();
// switch (j)
// {
// case 1:
// AddElement(new SpacePDF(45));
// foreach (var row in testo)
// {
// paragrafoSx = paragrafoDx = "";
// titolo = row.Field<string>("titolo") + "<br>";
// for (int i = 1; i <= 15; i++)
// paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// // SPLIT PARAGRAFO
// if (paragrafoSx.Contains("SPLITPARAGRAPH"))
// {
// var listaSplit = StringExtensions.SplitAtOccurence(paragrafoSx, "SPLITPARAGRAPH", 1);
// paragrafoSx = listaSplit[0] + "</p>";
// paragrafoDx += "<p>";
// listaSplit.RemoveRange(0, 1);
// foreach (var stringa in listaSplit)
// paragrafoDx += stringa;
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = 35;
// x2Linea = 750;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
// var _titolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// AddElement(_titolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// AddElement(new SpacePDF(10));
// AddElement(testoSx);
// AddElement(new SpacePDF(-5));
// AddElement(testoDx);
// AddElement(new SpacePDF(10));
// }
// else
// {
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, 40 + (600 / 2)) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = 35;
// x2Linea = 40 + (600 / 2) + 35;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// AddElement(new SpacePDF(5));
// AddElement(testoSx);
// AddElement(new SpacePDF(10));
// if (data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice
// && x.Field<string>("row1") != "").Count() > 0)
// {
// DataTable tabella = new DataTable();
// for (int index = 1; index <= 5; index++)
// tabella.Columns.Add("column" + index);
// List<string> columnName = new List<string>();
// for (int index = 1; index <= 5; index++)
// columnName.Add(data.Rows[0].Field<string>("column" + index));
// columnName.RemoveAll(item => item == null);
// foreach (var _row in data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice))
// {
// titolo = "<br>" + _row.Field<string>("descrizione");
// if (_row["row1"] != null && _row["row1"].ToString() != "")
// tabella.Rows.Add(_row["row1"], _row["row2"], _row["row3"], _row["row4"], _row["row5"]);
// }
// foreach (var column in tabella.Columns.Cast<DataColumn>().ToArray())
// if (tabella.AsEnumerable().All(dr => dr.IsNull(column)))
// tabella.Columns.Remove(column);
// AddElement(new ResetterYPDF());
// testoTitolo = new FormattedTextAreaPDF(titolo, 410, 300) { AutoIncrementYWritable = true, FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// TablePDF table = new TablePDF(410, tabella)
// {
// Style = Style.Immobiliare,
// AlternateRow = false,
// HeaderHeight = 25,
// RowHeight = 10,
// Footer = false,
// ShowBorderLastLine = true,
// HeaderTextVerticalAlign = VerticalAlignmentType.Basso
// };
// for (int idColumn = 1; idColumn <= tabella.Columns.Count; idColumn++)
// table.Columns.Add(new ColumnPDF(tabella.Rows[0].Field<string>("column" + idColumn), idColumn == 1 ? 180 : 80, idColumn != 1 ? HorizontalAlignmentType.Centrato : HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "column" + idColumn, columnName[idColumn - 1]) { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 7, DeltaYContent = 1 });
// if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
// notaTabella = new FormattedTextAreaPDF(getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]), 410, table.Width - 15) { AutoIncrementYWritable = true, FontSize = 6, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, DeltaX = 5, DeltaY = 5 };
// AddElement(new ResetterYPDF(50));
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(table);
// if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
// AddElement(notaTabella);
// AddElement(new SpacePDF(15));
// }
// }
// }
// j++;
// break;
// case 2:
// AddElement(new PagePDF(PagePDF.PagePDFType.Generic));
// AddElement(new SpacePDF(45));
// int element = 0;
// foreach (var row in testo)
// {
// paragrafoSx = paragrafoDx = "";
// element++;
// titolo = row.Field<string>("titolo") + "<br>";
// if (row["posizione"].Equals("L"))
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// else
// testoTitolo = new FormattedTextAreaPDF(titolo, 410, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = row["posizione"].Equals("L") ? 35 : 410;
// x2Linea = row["posizione"].Equals("L") ? 340 : 750;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = element > 2 ? false : true };
// for (int i = 1; i <= 15; i++)
// if (row["posizione"].Equals("L"))
// paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// else
// paragrafoDx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// if (row["posizione"].Equals("L"))
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// else
// testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// if (element <= 2)
// {
// AddElement(new ResetterYPDF());
// AddElement(new SpacePDF(45));
// }
// if (element == 3)
// AddElement(new SpacePDF(10));
// if (element == 4)
// AddElement(new SpacePDF(-52));
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// AddElement(new SpacePDF(5));
// AddElement(row["posizione"].Equals("L") ? testoSx : testoDx);
// AddElement(new SpacePDF(10));
// }
// break;
// }
//}
#endregion
#region Text OLD
//if (_text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).Count() > 0)
//{
// var testo = _text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList();
// switch (j)
// {
// case 1:
// AddElement(new SpacePDF(45));
// foreach (var row in testo)
// {
// paragrafoSx = paragrafoDx = "";
// titolo = row.Field<string>("titolo") + "<br>";
// for (int i = 1; i <= 15; i++)
// paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// // SPLIT PARAGRAFO
// if (paragrafoSx.Contains("SPLITPARAGRAPH"))
// {
// var listaSplit = StringExtensions.SplitAtOccurence(paragrafoSx, "SPLITPARAGRAPH", 1);
// paragrafoSx = listaSplit[0] + "</p>";
// paragrafoDx += "<p>";
// listaSplit.RemoveRange(0, 1);
// foreach (var stringa in listaSplit)
// paragrafoDx += stringa;
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = 35;
// x2Linea = 750;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
// var _titolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// // Dati Statici 20181005
// //AddElement(new SpacePDF(15));
// //AddElement(_titolo);
// //AddElement(new SpacePDF(5));
// //AddElement(lineaVerticaleSeparazione);
// //AddElement(new SpacePDF(10));
// //AddElement(testoSx);
// //AddElement(new SpacePDF(-5));
// //AddElement(testoDx);
// //AddElement(new SpacePDF(10));
// AddElement(_titolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// AddElement(new SpacePDF(10));
// AddElement(testoSx);
// AddElement(new SpacePDF(-5));
// AddElement(testoDx);
// AddElement(new SpacePDF(-5));
// // End
// }
// else
// {
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, 40 + (600 / 2)) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = 35;
// x2Linea = 40 + (600 / 2) + 35;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// AddElement(new SpacePDF(5));
// AddElement(testoSx);
// AddElement(new SpacePDF(10));
// if (data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice
// && x.Field<string>("row1") != "").Count() > 0)
// {
// DataTable tabella = new DataTable();
// for (int index = 1; index <= 5; index++)
// tabella.Columns.Add("column" + index);
// List<string> columnName = new List<string>();
// for (int index = 1; index <= 5; index++)
// columnName.Add(data.Rows[0].Field<string>("column" + index));
// columnName.RemoveAll(item => item == null);
// foreach (var _row in data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice))
// {
// titolo = "<br>" + _row.Field<string>("descrizione");
// if (_row["row1"] != null && _row["row1"].ToString() != "")
// tabella.Rows.Add(_row["row1"], _row["row2"], _row["row3"], _row["row4"], _row["row5"]);
// }
// foreach (var column in tabella.Columns.Cast<DataColumn>().ToArray())
// if (tabella.AsEnumerable().All(dr => dr.IsNull(column)))
// tabella.Columns.Remove(column);
// AddElement(new ResetterYPDF());
// testoTitolo = new FormattedTextAreaPDF(titolo, 410, 300) { AutoIncrementYWritable = true, FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// TablePDF table = new TablePDF(410, tabella)
// {
// Style = Style.Immobiliare,
// AlternateRow = false,
// HeaderHeight = 25,
// RowHeight = 10,
// Footer = false,
// ShowBorderLastLine = true,
// HeaderTextVerticalAlign = VerticalAlignmentType.Basso
// };
// for (int idColumn = 1; idColumn <= tabella.Columns.Count; idColumn++)
// table.Columns.Add(new ColumnPDF(tabella.Rows[0].Field<string>("column" + idColumn), idColumn == 1 ? 180 : 80, idColumn != 1 ? HorizontalAlignmentType.Centrato : HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "column" + idColumn, columnName[idColumn - 1]) { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 7, DeltaYContent = 1 });
// if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
// notaTabella = new FormattedTextAreaPDF(getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]), 410, table.Width - 10) { AutoIncrementYWritable = true, FontSize = 7, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, DeltaX = 5, DeltaY = 5 };
// AddElement(new ResetterYPDF(47));
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(table);
// if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
// AddElement(notaTabella);
// AddElement(new SpacePDF(15));
// }
// }
// }
// j++;
// break;
// case 2:
// AddElement(new PagePDF(PagePDF.PagePDFType.Generic));
// AddElement(new SpacePDF(45));
// int element = 0;
// foreach (var row in testo)
// {
// paragrafoSx = paragrafoDx = "";
// element++;
// titolo = row.Field<string>("titolo") + "<br>";
// if (row["posizione"].Equals("L"))
// testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// else
// testoTitolo = new FormattedTextAreaPDF(titolo, 410, width + 15) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
// x1Linea = row["posizione"].Equals("L") ? 35 : 410;
// //x2Linea = row["posizione"].Equals("L") ? 340 : 765;
// x2Linea = row["posizione"].Equals("L") ? 340 : 750;
// var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = element > 2 ? false : true };
// for (int i = 1; i <= 15; i++)
// if (row["posizione"].Equals("L"))
// paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// else
// paragrafoDx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// if (row["posizione"].Equals("L"))
// testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// else
// //testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width + 10) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// if (element <= 2)
// {
// AddElement(new ResetterYPDF());
// AddElement(new SpacePDF(45));
// }
// if (element == 3)
// AddElement(new SpacePDF(6));
// if (element == 4)
// AddElement(new SpacePDF(-36));
// AddElement(testoTitolo);
// AddElement(new SpacePDF(5));
// AddElement(lineaVerticaleSeparazione);
// //AddElement(new SpacePDF(5));
// AddElement(new SpacePDF(1));
// AddElement(row["posizione"].Equals("L") ? testoSx : testoDx);
// AddElement(new SpacePDF(10));
// }
// break;
// }
//}
#endregion
#region Text
if (_text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).Count() > 0)
{
var testo = _text.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList();
switch (j)
{
case 1:
AddElement(new SpacePDF(30));
foreach (var row in testo)
{
paragrafoSx = paragrafoDx = "";
titolo = row.Field<string>("titolo") + "<br>";
for (int i = 1; i <= 15; i++)
paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// SPLIT PARAGRAFO
if (paragrafoSx.Contains("SPLITPARAGRAPH"))
{
var listaSplit = StringExtensions.SplitAtOccurence(paragrafoSx, "SPLITPARAGRAPH", 1);
paragrafoSx = listaSplit[0] + "</p>";
paragrafoDx += "<p>";
listaSplit.RemoveRange(0, 1);
foreach (var stringa in listaSplit)
paragrafoDx += stringa;
testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
x1Linea = 35;
x2Linea = 750;
var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
var _titolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
// Dati Statici 20181005
//AddElement(new SpacePDF(15));
//AddElement(_titolo);
//AddElement(new SpacePDF(5));
//AddElement(lineaVerticaleSeparazione);
//AddElement(new SpacePDF(10));
//AddElement(testoSx);
//AddElement(new SpacePDF(-5));
//AddElement(testoDx);
//AddElement(new SpacePDF(10));
AddElement(_titolo);
AddElement(new SpacePDF(5));
AddElement(lineaVerticaleSeparazione);
AddElement(new SpacePDF(10));
AddElement(testoSx);
AddElement(new SpacePDF(-5));
AddElement(testoDx);
AddElement(new SpacePDF(-5));
// End
}
else
{
testoTitolo = new FormattedTextAreaPDF(titolo, 35, 40 + (600 / 2)) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
x1Linea = 35;
x2Linea = 40 + (600 / 2) + 35;
var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(testoTitolo);
AddElement(new SpacePDF(5));
AddElement(lineaVerticaleSeparazione);
AddElement(new SpacePDF(5));
AddElement(testoSx);
AddElement(new SpacePDF(10));
if (data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice
&& x.Field<string>("row1") != "").Count() > 0)
{
DataTable tabella = new DataTable();
for (int index = 1; index <= 5; index++)
tabella.Columns.Add("column" + index);
List<string> columnName = new List<string>();
for (int index = 1; index <= 5; index++)
columnName.Add(data.Rows[0].Field<string>("column" + index));
columnName.RemoveAll(item => item == null);
foreach (var _row in data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice))
{
titolo = "<br>" + _row.Field<string>("descrizione");
if (_row["row1"] != null && _row["row1"].ToString() != "")
tabella.Rows.Add(_row["row1"], _row["row2"], _row["row3"], _row["row4"], _row["row5"]);
}
foreach (var column in tabella.Columns.Cast<DataColumn>().ToArray())
if (tabella.AsEnumerable().All(dr => dr.IsNull(column)))
tabella.Columns.Remove(column);
AddElement(new ResetterYPDF());
testoTitolo = new FormattedTextAreaPDF(titolo, 410, 300) { AutoIncrementYWritable = true, FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
TablePDF table = new TablePDF(410, tabella)
{
Style = Style.Immobiliare,
AlternateRow = false,
HeaderHeight = 25,
RowHeight = 10,
Footer = false,
ShowBorderLastLine = true,
HeaderTextVerticalAlign = VerticalAlignmentType.Basso
};
for (int idColumn = 1; idColumn <= tabella.Columns.Count; idColumn++)
table.Columns.Add(new ColumnPDF(tabella.Rows[0].Field<string>("column" + idColumn), idColumn == 1 ? 190 : 80, idColumn != 1 ? HorizontalAlignmentType.Centrato : HorizontalAlignmentType.Sinistra, false, false, 8, ColumnType.Testo, "column" + idColumn, columnName[idColumn - 1]) { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 8, DeltaYContent = 1 });
if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
notaTabella = new FormattedTextAreaPDF(getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]), 410, table.Width - 10) { AutoIncrementYWritable = true, FontSize = 7, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, DeltaX = 5, DeltaY = 5 };
//AddElement(new ResetterYPDF(47));
AddElement(new ResetterYPDF(30));
AddElement(testoTitolo);
AddElement(new SpacePDF(5));
AddElement(table);
if (getNota(data.AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList()[0]).Length > 0)
AddElement(notaTabella);
AddElement(new SpacePDF(15));
}
}
}
j++;
break;
case 2:
AddElement(new PagePDF(PagePDF.PagePDFType.Generic));
int element = 0;
foreach (var row in testo)
{
paragrafoSx = paragrafoDx = "";
element++;
titolo = row.Field<string>("titolo") + "<br>";
if (row["posizione"].Equals("L"))
testoTitolo = new FormattedTextAreaPDF(titolo, 35, width) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
else
testoTitolo = new FormattedTextAreaPDF(titolo, 410, width + 15) { FontSize = 13, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left };
//x1Linea = row["posizione"].Equals("L") ? 35 : 410;
////x2Linea = row["posizione"].Equals("L") ? 340 : 765;
//x2Linea = row["posizione"].Equals("L") ? 340 : 750;
x1Linea = row["posizione"].Equals("L") ? 35 : 410;
x2Linea = row["posizione"].Equals("L") ? 375 : 750;
var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = element > 2 ? false : true };
for (int i = 1; i <= 15; i++)
if (row["posizione"].Equals("L"))
paragrafoSx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
else
paragrafoDx += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
if (row["posizione"].Equals("L"))
testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, width) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
else
//testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width + 10) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
testoDx = new FormattedTextAreaPDF(paragrafoDx, 410, width) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
if (element <= 2)
{
AddElement(new ResetterYPDF());
//AddElement(new SpacePDF(45));
AddElement(new SpacePDF(30));
}
if (element == 3)
AddElement(new SpacePDF(-5));
if (element == 4)
AddElement(new SpacePDF(-32));
AddElement(testoTitolo);
AddElement(new SpacePDF(5));
AddElement(lineaVerticaleSeparazione);
//AddElement(new SpacePDF(5));
//AddElement(row["posizione"].Equals("L") ? testoSx : testoDx);
//AddElement(new SpacePDF(10));
AddElement(new SpacePDF(1));
AddElement(row["posizione"].Equals("L") ? testoSx : testoDx);
AddElement(new SpacePDF(10));
}
break;
}
}
#endregion
}
}
/// <summary>
/// Recupera i dati necessari alla Section restituendo un DataTable.
/// </summary>
/// <returns></returns>
protected override DataTable GetDataTable()
{
return null;
}
public virtual string getNota(DataRow row)
{
string nota = "";
for (int i = 1; i <= 3; i++)
nota += "<p>" + row["notaGrafico" + i] + "<br>";
if (nota != "")
nota += "</p>";
return nota;
}
/// <summary>
/// Recupera i dati necessari alla Section restituendo un DataSet.
/// </summary>
/// <returns></returns>
protected override DataSet GetDataSet()
{
var parametri = new List<Parametro>
{
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdReport",
//Value = EnvironmentFacade.ReportEnvironment.ReportId
// Impostato a -1 per prendere quello dei Report Monitoraggio Immobiliare
Value = EnvironmentFacade.ReportEnvironment.ReportId - 1
},
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdSezione",
Value = IdSection
}
};
return DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerReportModeler, "REP_Monitoraggio_Immobiliare_S10_Legge_Bilancio", parametri);
}
}
}