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);
}
}
}