162 lines
6.4 KiB
C#
162 lines
6.4 KiB
C#
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);
|
||
}
|
||
}
|
||
|
||
}
|