("testo" + i) != null ? "" + row.Field("testo" + i).Replace("<br/>", "
") + "
" : "";
}
var testo = new FormattedTextAreaPDF(paragrafo, 35, 715) { AutoIncrementYWritable = true, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(new ResetterYPDF(55));
AddElement(testo);
AddElement(new SpacePDF(10));
}
#endregion
if (dataTabella.AsEnumerable().Where(x => x.Field("idREP_IMM_MON_Pagina") == indice).Count() > 0)
{
var tabella = dataTabella.AsEnumerable().Where(x => x.Field("idREP_IMM_MON_Pagina") == indice).CopyToDataTable();
switch (numeroPagina)
{
case 1:
//var testo = new FormattedTextAreaPDF("
" + tabella.Rows[0].Field("descrizione"), 35, 650) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var testo = new FormattedTextAreaPDF(tabella.Rows[0].Field("descrizione"), 35, 650) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var x1Linea = 35;
var x2Linea = 750;
var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
//AddElement(new SpacePDF(-10));
AddElement(new SpacePDF(-8));
AddElement(testo);
AddElement(new SpacePDF(5));
AddElement(lineaVerticaleSeparazione);
// Dati Statici 20181005
//var testo = new FormattedTextAreaPDF("
" + tabella.Rows[0].Field("descrizione"), 35, 650) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TitoloGrande, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
//var x1Linea = 35;
//var x2Linea = 750;
//var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = true };
//AddElement(new SpacePDF(-10));
//AddElement(testo);
//AddElement(new SpacePDF(5));
//AddElement(lineaVerticaleSeparazione);
// End
DataTable header = new DataTable();
header.Columns.Add("Trend");
header.Columns.Add("Acquisto");
header.Columns.Add("Affitto");
header.Columns.Add("Redditivita");
header.Rows.Add("Trend vivacità
compravendite*",
"Prezzo medio
Acquisto** (€/mq)",
"Prezzo medio
Affitto** (€/mq)",
"Redditività media lorda su base
annua (%)");
var tableHeader = new TablePDF(125, header)
{
Style = Style.Immobiliare,
AlternateRow = false,
Header = false,
Footer = false,
ShowBorderLastLine = false,
HideFirstSeparationLine = true,
DrawLineHeaderUP = false
};
tableHeader.Columns.Add(new ColumnPDF("Trend", 145, HorizontalAlignmentType.Centrato, false, true, 8, ColumnType.Testo, "Trend", "") { /*VerticalAlignment = VerticalAlignmentType.Basso,*/ DeltaYContent = 5 });
tableHeader.Columns.Add(new ColumnPDF("Acquisto", 160, HorizontalAlignmentType.Centrato, false, true, 8, ColumnType.Testo, "Acquisto", "") { /*VerticalAlignment = VerticalAlignmentType.Basso,*/ DeltaYContent = 5 });
tableHeader.Columns.Add(new ColumnPDF("Affitto", 160, HorizontalAlignmentType.Centrato, false, true, 8, ColumnType.Testo, "Affitto", "") { /*VerticalAlignment = VerticalAlignmentType.Basso,*/ DeltaYContent = 5 });
tableHeader.Columns.Add(new ColumnPDF("Redditivita", 160, HorizontalAlignmentType.Centrato, false, true, 8, ColumnType.Testo, "Redditivita", "") { /*VerticalAlignment = VerticalAlignmentType.Basso,*/ DeltaYContent = 5 });
AddElement(tableHeader);
var table = new TablePDF(35, tabella)
{
Style = Style.Immobiliare,
AlternateRow = false,
HeaderHeight = 20,
Footer = false,
ShowBorderLastLine = true,
AdditionalSpaceBetweenHeadersAndTable = 5.0F,
HeaderTextVerticalAlign = VerticalAlignmentType.Basso,
DrawLineHeaderUP = false,
HideFirstSeparationLine = true,
IndexesOfRowLinesToIgnoreSeparators = new List() { 1 }
};
var headerLine = new LinePDF(155, 750, 0.5F, ColorPDF.Immobiliare_Grigio_TitoloPiccolo) { AutoIncrementYWritable = false, DeltaY = 1 };
AddElement(headerLine);
/********************************************** Modifica per parti statiche Semestrale 10/2020 - Pino ********************************************************************************************************************************************************************/
//table.Columns.Add(new ColumnPDF("Città", 90, HorizontalAlignmentType.Sinistra, false, false, 9, ColumnType.Testo, "citta", "Città") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, });
//table.Columns.Add(new ColumnPDF("Residenziale", 145, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Objectpdf, "trend", "Residenziale") { HeaderFontSize = 8, ScaleColumnTypeImage = 2.0F, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Centro1", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "centroMedioAcquisto", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Periferia1", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "periferiaMedioAcquisto", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Centro2", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "centroMedioAffitto", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Periferia2", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "periferiaMedioAffitto", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Centro3", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "centroRedditoMedio", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
//table.Columns.Add(new ColumnPDF("Periferia3", 80, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "periferiaRedditoMedio", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Città", 90, HorizontalAlignmentType.Sinistra, false, false, 9, ColumnType.Testo, "citta", "Città") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, });
table.Columns.Add(new ColumnPDF("Residenziale", 145, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Objectpdf, "trend", "Residenziale") { HeaderFontSize = 8, ScaleColumnTypeImage = 2.0F, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Centro1", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "centroMedioAcquisto", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Periferia1", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "periferiaMedioAcquisto", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Centro2", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "centroMedioAffitto", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Periferia2", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "periferiaMedioAffitto", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Centro3", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "centroRedditoMedio", "Centro") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
table.Columns.Add(new ColumnPDF("Periferia3", 80, HorizontalAlignmentType.Centrato, false, false, 9, ColumnType.Testo, "periferiaRedditoMedio", "Periferia") { HeaderFontSize = 8, HeaderFontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
/**************************************************************************************************************************************************************************************************************************************************************************/
int i = 0;
foreach (DataRow r in tabella.Rows)
{
ImagePDF imageSymbol = new ImagePDF(0, 1, tabella.Rows[i]["trend"].ToString())
{
DeltaX = tabella.Rows[i]["trend"].ToString().Contains("horizontal") ? -8 : -7,
DeltaY = tabella.Rows[i]["trend"].ToString().Contains("horizontal") ? 2 : 2,
//DeltaY = 2,
Scale = tabella.Rows[i]["trend"].ToString().Contains("horizontal") ? 0.35f : 0.50f
};
table.Cells[1, i].ValueObjectList.Add(imageSymbol);
i++;
}
AddElement(table);
addLegend();
#region Nota Tabella
if (getNota(_text.Rows[0]).Length > 0)
{
string testoNota = getNota(_text.Rows[0]);
int count = testoNota.Replace("
", "\t").Count(x => x == '\t');
var nota = new FormattedTextAreaPDF();
if (count == 0)
//nota = new FormattedTextAreaPDF(getNota(_text.Rows[0]), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 18, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
nota = new FormattedTextAreaPDF(getNota(_text.Rows[0]), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 13 - 5, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
else
nota = new FormattedTextAreaPDF(getNota(_text.Rows[0]), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 13 - (5 * count), FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(nota);
string testoNotaTabella = getNota(_text.Rows[0]);
int countTabella = testoNotaTabella.Replace("
", "\t").Count(x => x == '\t');
var notaTabella = new FormattedTextAreaPDF();
if (countTabella == 0)
//nota = new FormattedTextAreaPDF(getNota(_text.Rows[0]), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 18, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
notaTabella = new FormattedTextAreaPDF(getNotaTabella(_text.Rows[0]), 205, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 55 - 5, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
else
//notaTabella = new FormattedTextAreaPDF(getNotaTabella(_text.Rows[0]), 205, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 52 - (6 * count), FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
notaTabella = new FormattedTextAreaPDF(getNotaTabella(_text.Rows[0]), 205, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 60 - (9 * count), FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(notaTabella);
}
#endregion
numeroPagina++;
break;
default:
if (dataTabella.AsEnumerable().Where(x => x.Field("idREP_IMM_MON_Pagina") == indice).Count() > 0
&& dataTabella.AsEnumerable().Where(x => x.Field("descrizioneImage") == null).Count() > 0)
{
foreach (var image in dataTabella.AsEnumerable().Where(x => x.Field("idREP_IMM_MON_Pagina") == indice).ToList())
{
string titoloStatico = image.Field("descrizioneImage") + "
";
var titoloGrafico = new FormattedTextAreaPDF(titoloStatico, 50, width * 2) { FontSize = 10, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var cartina = new ImagePDF(35, 0.465F, image.Field("bytesImage") + ".jpeg");
AddElement(new ResetterYPDF(50));
AddElement(titoloGrafico);
AddElement(cartina);
if (getNota(image).Length > 0)
{
//var nota = new FormattedTextAreaPDF(getNota(image), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 22, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var nota = new FormattedTextAreaPDF(getNota(image), 60, width * 2) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 18, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(nota);
}
}
}
break;
}
}
}
}
protected void addLegend()
{
int xLegenda = 35;
int legendWidth = 160;
int legendHeight = 15;
AddElement(new SpacePDF(5));
// Original
//AddElement(new RectanglePDF(legendHeight, legendWidth, new ColorPDF(217, 217, 217)) { X = xLegenda, AutoIncrementYWritable = false });
AddElement(new RectanglePDF(legendHeight, legendWidth, new ColorPDF(255, 255, 255))
{
X = xLegenda,
AutoIncrementYWritable = false,
BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo,
BorderWidth = 0.2f
});
// Original
//AddElement(new ImagePDF(xLegenda, 0.50F, "upArrow_grigio.png") { DeltaY = 4F, AutoIncrementYWritable = false, DeltaX = 4F });
AddElement(new ImagePDF(xLegenda, 0.50F, "upArrow.png") { DeltaY = 4F, AutoIncrementYWritable = false, DeltaX = 4F });
xLegenda += 20;
var ftaNomeLabel = new FormattedTextAreaPDF
{
Text = "In crescita",
FontColor = ColorPDF.Nero,
DeltaX = 1F,
DeltaY = 4F,
AutoIncrementYWritable = false,
X = xLegenda,
FontSize = 7
};
xLegenda += 40;// + (ftaNomeLabel.Text.Length * 5) + (10 - ftaNomeLabel.Text.Length);
AddElement(ftaNomeLabel);
// Original
//AddElement(new ImagePDF(xLegenda, 0.35F, "horizontalArrow_grigio.png") { DeltaY = 5.2F, AutoIncrementYWritable = false, DeltaX = 4F });
AddElement(new ImagePDF(xLegenda, 0.35F, "horizontalArrow.png") { DeltaY = 5.2F, AutoIncrementYWritable = false, DeltaX = 4F });
xLegenda += 20;
ftaNomeLabel = new FormattedTextAreaPDF
{
Text = "Stabile",
FontColor = ColorPDF.Nero,
DeltaX = 1F,
DeltaY = 4F,
AutoIncrementYWritable = false,
X = xLegenda,
FontSize = 7
};
xLegenda += 25;// + (ftaNomeLabel.Text.Length * 5) + (10 - ftaNomeLabel.Text.Length);
AddElement(ftaNomeLabel);
// Original
//AddElement(new ImagePDF(xLegenda, 0.50F, "downArrow_grigio.png") { DeltaY = 4F, AutoIncrementYWritable = false, DeltaX = 4F });
AddElement(new ImagePDF(xLegenda, 0.50F, "downArrow.png") { DeltaY = 4F, AutoIncrementYWritable = false, DeltaX = 4F });
xLegenda += 20;
ftaNomeLabel = new FormattedTextAreaPDF
{
Text = "In calo",
FontColor = ColorPDF.Nero,
DeltaX = 1F,
DeltaY = 4F,
AutoIncrementYWritable = false,
X = xLegenda,
FontSize = 7
};
AddElement(ftaNomeLabel);
}
protected string getNota(DataRow row)
{
string nota = "";
for (int i = 1; i <= 5; i++)
if (row.Field("nota" + i) != null && row.Field("nota" + i).Substring(0,5) == "Fonti")
nota += row.Field("nota" + i) + "
";
return nota;
}
protected string getNotaTabella(DataRow row)
{
string nota = "";
for (int i = 1; i <= 5; i++)
if (row.Field("nota" + i) != null && row.Field("nota" + i).Substring(0, 5) != "Fonti")
nota += row.Field("nota" + i) + "
";
return nota;
}
///
/// Recupera i dati necessari alla Section restituendo un DataTable.
///
///
protected override DataTable GetDataTable()
{
return null;
}
///
/// Recupera i dati necessari alla Section restituendo un DataSet.
///
///
protected override DataSet GetDataSet()
{
var parametri = new List
{
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdReport",
Value = EnvironmentFacade.ReportEnvironment.ReportId
},
new Parametro
{
Direction = ParameterDirection.Input,
DbType = DbType.Int32,
ParameterName = "IdSezione",
Value = IdSection
}
};
return DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerReportModeler, "REP_Monitoraggio_Immobiliare_S6_Focus_Territoriale", parametri);
}
}
}