162 lines
6.4 KiB
C#
Raw Permalink 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.ReportWriter.Business;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using System.Data;
using Consulenza.ReportWriter.Business.Entity;
namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.MonitoraggioNucleo
{
/// <summary>
/// Dettaglio immobili con anomalie catastali (id 40)
/// </summary>
//public class S8 : Monitoraggio.S8
//{
// public S8(EnvironmentFacade environmentFacade, int idSection)
// : base(environmentFacade, idSection)
// {
// }
//}
public class S8 : Entity.Section
{
public S8(EnvironmentFacade environmentFacade, int idSection)
: base(environmentFacade, idSection)
{
try
{
Draw();
}
catch (Exception ex)
{
SectionLogger.Write("S8", 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()
{
var _text = GetTextSet();
List<int> indiciPagina = _text.Tables[0].AsEnumerable()
.Select(z => z.Field<int>("idREP_IMM_MON_Pagina")).Distinct().ToList();
foreach (var indice in indiciPagina)
{
var data = _text.Tables[0].AsEnumerable().Where(x => x.Field<int>("idREP_IMM_MON_Pagina") == indice).ToList();
string paragrafoSx = "";
string paragrafoDx = "";
string testo = "";
string labelSx = "";
string labelDx = "";
foreach (var row in data)
{
testo = "";
labelSx = "";
labelDx = "";
testo = "<B>" + row.Field<string>("titolo") + "</B><br><br>";
int i = 1;
for (i = 1; i <= 15; i++)
testo += row.Field<string>("testo" + i) != null ? "<p>" + row.Field<string>("testo" + i) + "</p><br>" : "";
// SPLIT PARAGRAFO
if (testo.Contains("SPLITPARAGRAPH"))
{
var listaSplit = StringExtensions.SplitAtOccurence(testo, "SPLITPARAGRAPH", 1);
labelSx = listaSplit[0] + "</p>";
labelDx += "<br><p>";
listaSplit.RemoveRange(0, 1);
foreach (var stringa in listaSplit)
labelDx += stringa;
paragrafoSx += labelSx;
paragrafoDx += labelDx;
}
else
{
if (row.Field<string>("posizione").Equals("R"))
paragrafoDx += testo;
else
paragrafoSx += testo;
}
// ORIGINALE
//if (row.Field<string>("posizione").Equals("R"))
// paragrafoDx += testo;
//else
// paragrafoSx += testo;
}
//var testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, (600 / 2) + 45) { FontSize = 9, Y = 50, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, (600 / 2) + 45) { FontSize = 9, Y = 60, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
var testoDx = new FormattedTextAreaPDF(paragrafoDx, 400, (600 / 2) + 45) { FontSize = 9, Y = 45, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
//var testoSx = new FormattedTextAreaPDF(paragrafoSx, 35, (600 / 2) + 45) { FontSize = 8, Y = 55, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
//var testoDx = new FormattedTextAreaPDF(paragrafoDx, 400, (600 / 2) + 45) { FontSize = 8, Y = 60, FontColor = ColorPDF.Immobiliare_Grigio_TestoStandard, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(testoSx);
AddElement(testoDx);
}
}
/// <summary>
/// Recupera i dati necessari alla Section restituendo un DataTable.
/// </summary>
/// <returns></returns>
protected override DataTable GetDataTable()
{
return null;
}
/// <summary>
/// Recupera i dati necessari alla Section restituendo un DataSet.
/// </summary>
/// <returns></returns>
protected override DataSet GetDataSet()
{
return null;
}
/// <summary>
/// Recupera i testi
/// </summary>
/// <returns></returns>
protected DataSet GetTextSet()
{
#region Definizione dei parametri
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
}
};
#endregion
return DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerReportModeler, "REP_Monitoraggio_Immobiliare_Testi_Paragrafi", parametri);
}
}
}