("testo" + i) != null ? "" + row.Field("testo" + i) + "
" : "";
else
paragrafoDx += row.Field("testo" + i) != null ? "" + row.Field("testo" + i) + "
" : "";
}
var testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, 370) { AutoIncrementYWritable = false, Y = 55, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
//var testoDx = new FormattedTextAreaPDF(paragrafoDx, 430, 320) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var testoDx = new FormattedTextAreaPDF(paragrafoDx, 35, 370) { AutoIncrementYWritable = false, FontSize = 9, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
if (data.AsEnumerable().Where(x => x.Field("idREP_IMM_MON_Pagina") == indice).Count() > 0)
{
TablePDF table = null;
FormattedTextAreaPDF titolo = null;
foreach (var row in data.AsEnumerable())
{
DataTable tabella = new DataTable();
tabella.Columns.Add("Key");
tabella.Columns.Add("Value");
for (int i = 1; i <= 10; i++)
{
if (row["keyItem" + i] != null && row["keyItem" + i].ToString() != "")
{
tabella.Rows.Add(row["keyItem" + i], row["valueItem" + i]);
}
}
switch (row["idTipologia"].ToString())
{
case "1":
titolo = new FormattedTextAreaPDF("
" + row.Field("descrizione"), 430, 300) { AutoIncrementYWritable = true, FontSize = 12, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
table = new TablePDF(430, tabella)
{
Style = Style.Immobiliare,
AlternateRow = false,
HeaderHeight = 25,
RowHeight = 15,
Footer = false,
ShowBorderLastLine = true,
//AdditionalSpaceBetweenHeadersAndTable = 5.0F,
HeaderTextVerticalAlign = VerticalAlignmentType.Basso
};
table.Columns.Add(new ColumnPDF("Key1", 120, HorizontalAlignmentType.Sinistra, false, false, 8, ColumnType.Testo, "Key", "") { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 8, DeltaYContent = 1 });
table.Columns.Add(new ColumnPDF("Value1", 80, HorizontalAlignmentType.Centrato, false, false, 8, ColumnType.Objectpdf, "Value", "Aspettativa") { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 9, DeltaYContent = 1 });
AddElement(testoSx);
int i = 0;
foreach (DataRow r in tabella.Rows)
{
ImagePDF imageSymbol = new ImagePDF(0, 1, tabella.Rows[i]["Value"].ToString())
{
DeltaY = 3,
//DeltaY = tabella.Rows[i]["Value"].ToString().Contains("horizontal") ? -2 : -3,
Scale = 0.1f
};
table.Cells[1, i].ValueObjectList.Add(imageSymbol);
i++;
}
AddElement(new SpacePDF(29));//TO-DO con aggiunta di note e legenda
AddElement(titolo);
AddElement(new SpacePDF(18));
AddElement(table);
AddElement(new SpacePDF(11));
addLegend(row);
AddElement(new SpacePDF(-8));
break;
case "2":
//titolo = new FormattedTextAreaPDF("
" + row.Field("descrizione"), 35, 330) { Y = EnvironmentFacade.RendererFacade.YUpperLimit + 195, FontSize = 12, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
//table = new TablePDF(35, tabella)
titolo = new FormattedTextAreaPDF("
" + row.Field("descrizione"), 430, 320) { Y = EnvironmentFacade.RendererFacade.YUpperLimit + 195, FontSize = 12, FontColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
table = new TablePDF(430, tabella)
{
Style = Style.Immobiliare,
AlternateRow = false,
HeaderHeight = 15,
RowHeight = 5,
Footer = false,
ShowBorderLastLine = true,
HeaderTextVerticalAlign = VerticalAlignmentType.Basso,
};
table.Columns.Add(new ColumnPDF("Key2", 120, HorizontalAlignmentType.Sinistra, false, false, 8, ColumnType.Testo, "Key", "Città") { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 9, HeaderVerticalAlignment = VerticalAlignmentType.Centrato, DeltaYContent = 5 });
table.Columns.Add(new ColumnPDF("Value2", 80, HorizontalAlignmentType.Centrato, false, false, 8, ColumnType.Objectpdf, "Value", "Aspettativa") { HeaderFontColor = new ColorPDF(92, 89, 81), HeaderFontSize = 9, HeaderVerticalAlignment = VerticalAlignmentType.Centrato });
int j = 0;
foreach (DataRow r in tabella.Rows)
{
ImagePDF imageSymbol = new ImagePDF(0, 1, tabella.Rows[j]["Value"].ToString())
{
DeltaY = 3,
//DeltaY = tabella.Rows[i]["Value"].ToString().Contains("horizontal") ? -2 : -3,
Scale = 0.1f
};
table.Cells[1, j].ValueObjectList.Add(imageSymbol);
j++;
}
var x1Linea = 30;
var x2Linea = 750;
var lineaVerticaleSeparazione = new LinePDF(x1Linea, x2Linea, 0.5F, ColorPDF.Immobiliare_Marrone);
// Dati Statici 20181005
//AddElement(new SpacePDF(5));
//AddElement(titolo);
//AddElement(new SpacePDF(12));
//AddElement(testoDx);
//AddElement(new SpacePDF(-20));
//AddElement(lineaVerticaleSeparazione);
//AddElement(new SpacePDF(38));
//AddElement(table);
//addLegend(row);
AddElement(new SpacePDF(-25));
AddElement(titolo);
AddElement(new SpacePDF(22));
AddElement(testoDx);
AddElement(lineaVerticaleSeparazione);
AddElement(new SpacePDF(38));
AddElement(table);
addLegend(row);
AddElement(new SpacePDF(-5));
// End
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(getNota(_text.Rows[0]), 430, 300) { AutoIncrementYWritable = false, Y = 212, FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(nota);
}
break;
default:
break;
}
}
}
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(getNota(_text.Rows[0]), 60, 680) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 15 - (5 * count), FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var nota = new FormattedTextAreaPDF(getNota(_text.Rows[0]), 60, 300) { Y = EnvironmentFacade.RendererFacade.YLowerLimit - 13 - (5 * count), FontSize = 6, FontColor = ColorPDF.Nero, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(nota);
}
#endregion
}
}
}
protected void addLegend(DataRow data)
{
//int xLegenda = data.Field("posizione").Equals("R") ? 680 : 320;
//int xLegenda2 = data.Field("posizione").Equals("R") ? 672 : 312;
//int xLegendaTesto = data.Field("posizione").Equals("R") ? 690 : 330;
//int yLegenda = data.Field("posizione").Equals("R") ? 134 : 400;
// Inversione Carnevali 20181003
int xLegenda = 680;
int xLegenda2 = 672;
int xLegendaTesto = 690;
int yLegenda = data.Field("posizione").Equals("R") ? 134 : 400;
int legendWidth = 90;
int legendHeight = 60;
if (!data.Field("posizione").Equals("R"))
AddElement(new ResetterYPDF(300));
//AddElement(new RectanglePDF(legendHeight, legendWidth, new ColorPDF(217, 217, 217)) { X = xLegenda, AutoIncrementYWritable = false, DeltaY = 2 });
// Sfondo Bianco
AddElement(new SpacePDF(1));
AddElement(new RectanglePDF(legendHeight, legendWidth, new ColorPDF(255, 255, 255)) { X = xLegenda, AutoIncrementYWritable = false, Y = yLegenda, DeltaY = 2, BorderColor = ColorPDF.Immobiliare_Grigio_TitoloPiccolo });
List columnName = new List();
for (int index = 1; index <= 10; index++)
{
columnName.Add(data.Field("keyLegenda" + index));
columnName.Add(data.Field("valueLegenda" + index));
}
columnName.RemoveAll(item => item == null);
foreach (string name in columnName)
{
if (name.Contains(".png"))
{
if (name.Contains("2"))
AddElement(new ImagePDF(xLegenda2, 0.15F, name) { DeltaY = 5F, Y = yLegenda, AutoIncrementYWritable = false });
else
AddElement(new ImagePDF(xLegenda, 0.15F, name) { DeltaY = 5F, Y = yLegenda, AutoIncrementYWritable = false });
//xLegenda += name.Contains("2") ? 20 : 10;
//xLegenda += 10 ;
}
else
{
var ftaNomeLabel = new FormattedTextAreaPDF
{
Text = name,
FontColor = new ColorPDF(92, 89, 81),
DeltaY = 4F,
AutoIncrementYWritable = false,
X = xLegendaTesto,
Y = yLegenda,
FontSize = 7,
FontBold = true
};
//xLegenda += (ftaNomeLabel.Text.Length * 5) + (10 - ftaNomeLabel.Text.Length);
yLegenda += 9;
//xLegenda -= 10;
//xLegenda -= name.Contains("2") ? 20 : 10;
AddElement(ftaNomeLabel);
}
}
}
protected string getNota(DataRow row)
{
string nota = "";
for (int i = 1; i <= 5; i++)
if (row.Field("nota" + i) != null)
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
// 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_S7_Aspettative_Future", parametri);
}
}
}