172 lines
7.8 KiB
C#
172 lines
7.8 KiB
C#
using System;
|
|
using ceTe.DynamicPDF;
|
|
using Consulenza.ReportWriter.Business;
|
|
using Consulenza.ReportCommon;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.MonitoraggioNucleo
|
|
{
|
|
public class S1 : Entity.Section
|
|
{
|
|
public S1(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("S1", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Scheda1. (Copertina (Titolo, data di produzione del report e codice fiscale del cliente))
|
|
/// </summary>
|
|
protected override sealed void Draw()
|
|
{
|
|
var dati = GetDataSet();
|
|
|
|
var x = EnvironmentFacade.RendererFacade.XLeftLimit + 5;
|
|
var nomeNucleo = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.NomeNucleo);
|
|
var nomePrivateBanker = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.PrivateBanker.Nominativo);
|
|
|
|
// data di stampa
|
|
var dataStampa = new FormattedTextAreaPDF(string.Format("{0} {1}", "Report prodotto il ", Helper.FormatDateMonthName(DateTime.Now)), x, 500) { FontSize = 6, Y = 480, AutoIncrementYWritable = false, AbsolutePosition = true };
|
|
string data = "";
|
|
if (dati.Tables[1].Rows.Count > 0)
|
|
//data = string.Format("({0} {1} - {2} {3})", "dati catastali aggiornati al",
|
|
// Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[1].Rows[0]["dataRichiesta"])),
|
|
// "dati finanziari aggiornati al",
|
|
// Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[1].Rows[0]["dataPF"]))
|
|
// );
|
|
|
|
if (Convert.ToDouble(dati.Tables[1].Rows[0]["rfa"]) > 0)
|
|
data = string.Format("({0} {1} - {2} {3})", "dati catastali aggiornati al",
|
|
Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[1].Rows[0]["dataRichiesta"])),
|
|
"dati finanziari aggiornati al",
|
|
Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[1].Rows[0]["dataPF"]))
|
|
);
|
|
else
|
|
data = string.Format("({0} {1})", "dati catastali aggiornati al",
|
|
Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[1].Rows[0]["dataRichiesta"])));
|
|
|
|
else
|
|
data = string.Format("({0} {1} - {2} {3})", "dati catastali aggiornati al",
|
|
"--",
|
|
"dati finanziari aggiornati al",
|
|
"--"
|
|
);
|
|
|
|
var dataAggiornamentoCatastale = new FormattedTextAreaPDF(data, x, 500) { FontSize = 6, Y = 490, AutoIncrementYWritable = false, AbsolutePosition = true };
|
|
string labelCliente = EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? "Codice fiscale" : EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale != string.Empty ? "Codice fiscale" : "Partita Iva";
|
|
string datoCliente = EnvironmentFacade.ReportEnvironment.Cliente.Tipo == ClienteType.Fisico ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale != string.Empty ? EnvironmentFacade.ReportEnvironment.Cliente.CodiceFiscale : EnvironmentFacade.ReportEnvironment.Cliente.PartitaIva;
|
|
// info del cliente
|
|
string infoCliente = string.Format("{0} {1}", "<B>Nucleo:</B> ", nomeNucleo);
|
|
var areaCliente = new FormattedTextAreaPDF(infoCliente, x, 740, TextAlign.Right) { FontSize = 10, Y = 350, AutoIncrementYWritable = false };
|
|
|
|
//List<FormattedTextAreaPDF> listaClientiNucleo = new List<FormattedTextAreaPDF>();
|
|
var _yPrivate = 366;
|
|
//if (dati.Tables[0].Rows.Count <= 4)
|
|
//{
|
|
// int _y = 366;
|
|
// foreach (DataRow row in dati.Tables[0].Rows)
|
|
// {
|
|
// listaClientiNucleo.Add(new FormattedTextAreaPDF(string.Format("{0}{1}- {2}", ToCamelCase(row["nome"].ToString()), ToCamelCase(row["cognome"].ToString()), row["codFis"]), x, 740, TextAlign.Right) { FontSize = 10, Y = _y, AutoIncrementYWritable = false });
|
|
// _y += 12;
|
|
// }
|
|
// _yPrivate = _y + 12;
|
|
//}
|
|
//else
|
|
//{
|
|
// int _y = 366;
|
|
// int _k = 0;
|
|
// foreach (DataRow row in dati.Tables[0].Rows)
|
|
// {
|
|
// _k += 1;
|
|
// if (_k <= 4)
|
|
// listaClientiNucleo.Add(new FormattedTextAreaPDF(string.Format("{0}{1}- {2}", ToCamelCase(row["nome"].ToString()), ToCamelCase(row["cognome"].ToString()), row["codFis"]), x, 740, TextAlign.Right) { FontSize = 10, Y = _y, AutoIncrementYWritable = false });
|
|
// else
|
|
// {
|
|
// listaClientiNucleo.Add(new FormattedTextAreaPDF(string.Format("{0}", "Altri"), x, 740, TextAlign.Right) { FontSize = 10, Y = _y, AutoIncrementYWritable = false });
|
|
// break;
|
|
// }
|
|
// _y += 12;
|
|
// }
|
|
// _yPrivate = _y + 12;
|
|
//}
|
|
|
|
//foreach (FormattedTextAreaPDF areaCFClientiNucleo in listaClientiNucleo)
|
|
// AddElement(areaCFClientiNucleo);
|
|
|
|
// info del private banker
|
|
var areaPrivateBankerNominativo = new FormattedTextAreaPDF(string.Format("{0} {1}", "<B>Private Banker:</B>", nomePrivateBanker), x, 740, TextAlign.Right) { FontSize = 10, Y = _yPrivate, AutoIncrementYWritable = false };
|
|
|
|
|
|
// Aggiungo gli oggetti
|
|
AddElement(areaCliente);
|
|
AddElement(areaPrivateBankerNominativo);
|
|
AddElement(dataStampa);
|
|
AddElement(dataAggiornamentoCatastale);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataTable.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
protected string ToCamelCase(string toConvert) {
|
|
|
|
toConvert = toConvert.ToLower();
|
|
var split = toConvert.Split(' ');
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (string _string in split)
|
|
{
|
|
if (_string.Length > 0)
|
|
{
|
|
string firstLetter = _string.Substring(0, 1);
|
|
string rest = _string.Substring(1, (_string.Length - 1));
|
|
sb.Append(firstLetter.ToUpper() + rest);
|
|
sb.Append(" ");
|
|
}
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataSet.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataSet GetDataSet()
|
|
{
|
|
#region Definizione dei parametri
|
|
|
|
var parametri = new List<Parametro>
|
|
{
|
|
new Parametro
|
|
{
|
|
Direction = ParameterDirection.Input,
|
|
DbType = DbType.Int64,
|
|
ParameterName = "ChiaveNucleo",
|
|
Value = EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.ChiaveNucleo
|
|
}
|
|
};
|
|
|
|
#endregion
|
|
|
|
return DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_ImmobiliareMonitoraggio_S1_CopertinaNucleo", parametri);
|
|
|
|
}
|
|
}
|
|
|
|
}
|