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); } } /// /// Scheda1. (Copertina (Titolo, data di produzione del report e codice fiscale del cliente)) /// 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}", "Nucleo: ", nomeNucleo); var areaCliente = new FormattedTextAreaPDF(infoCliente, x, 740, TextAlign.Right) { FontSize = 10, Y = 350, AutoIncrementYWritable = false }; //List listaClientiNucleo = new List(); 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}", "Private Banker:", nomePrivateBanker), x, 740, TextAlign.Right) { FontSize = 10, Y = _yPrivate, AutoIncrementYWritable = false }; // Aggiungo gli oggetti AddElement(areaCliente); AddElement(areaPrivateBankerNominativo); AddElement(dataStampa); AddElement(dataAggiornamentoCatastale); } /// /// Recupera i dati necessari alla Section restituendo un DataTable. /// /// 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(); } /// /// Recupera i dati necessari alla Section restituendo un DataSet. /// /// protected sealed override DataSet GetDataSet() { #region Definizione dei parametri var parametri = new List { 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); } } }