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.Linq; using System.Text; namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.Diagnosi.Nucleo { 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 (Nome del nucleo, CF dei clientiPB del nucleo solo se sono un max di 4, altrimenti non compaiono in copertina /// data di produzione del report e nome e cognome del Private Banker)) /// protected override sealed void Draw() //linda { var dati = GetDataSet(); float _yPrivate = 366; // y di Private banker aumenta o diminuisce a seconda della presenza o meno di cf clienti nucleo var x = EnvironmentFacade.RendererFacade.XLeftLimit + 5; var nomeNucleo = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.NomeNucleo); var nomePrivateBanker = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.PrivateBanker.Nominativo); //List listaClientiNucleo = new List(); //int _y = 366; ////if (EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.ListaClientiNucleo.Count <= 4) ////{ // //string tipopersona = ""; // int _k = 0; // foreach (Cliente c in EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.ListaClientiNucleo) // { // _k = _k + 1; // //tipopersona = c.Tipo == ClienteType.Fisico ? "Codice fiscale" : c.CodiceFiscale!=string.Empty ? "Codice fiscale" : "Partita IVA"; // listaClientiNucleo.Add(new FormattedTextAreaPDF(string.Format("{0} {1} - {2}", c.Nome, c.Cognome,c.Tipo== ClienteType.Fisico ? c.CodiceFiscale : c.CodiceFiscale != string.Empty ? c.CodiceFiscale : c.PartitaIva), x, 740, TextAlign.Right) { FontSize = 10, Y = _y, AutoIncrementYWritable = false }); // if (_k < 6) // _y += 12; // } // _yPrivate = _y + 12; ////} // data di stampa var dataStampa = new FormattedTextAreaPDF(string.Format("{0} {1}", "Report prodotto il", Helper.FormatDateMonthName(DateTime.Now)), x, 500) { FontSize = 7, Y = 525, AutoIncrementYWritable = false, AbsolutePosition = true }; var dataAggiornamentoCatastale = new FormattedTextAreaPDF(string.Format("({0} {1})", "dati catastali aggiornati al", Helper.FormatDateMonthName(Convert.ToDateTime(dati.Tables[0].Rows[0]["datarichiesta"]))), x, 500) { FontSize = 6, Y = 534, AutoIncrementYWritable = false, AbsolutePosition = true }; // info del cliente var areaNucleoNominativo = new FormattedTextAreaPDF(string.Format("{0} {1}", "Nucleo:", nomeNucleo), x, 740, TextAlign.Right) { FontSize = 10, Y = 350, AutoIncrementYWritable = false }; // 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(areaNucleoNominativo); //if (listaClientiNucleo.Count <= 4) //{ // foreach (FormattedTextAreaPDF areaCFClientiNucleo in listaClientiNucleo) // AddElement(areaCFClientiNucleo); //} //else //{ // _k = 0; // foreach (FormattedTextAreaPDF areaCFClientiNucleo in listaClientiNucleo) // { // _k = _k + 1; // if (_k <= 4) // AddElement(areaCFClientiNucleo); // else // { // var areaAltri = new FormattedTextAreaPDF("Altri", x, 740, TextAlign.Right); // areaAltri.FontSize = 10; // areaAltri.Y = _y; // areaAltri.AutoIncrementYWritable = false; // AddElement(areaAltri); // break; // } // } //} AddElement(areaPrivateBankerNominativo); AddElement(dataStampa); AddElement(dataAggiornamentoCatastale); //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"])) // ); //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 = 350; //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); } 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 DataTable. /// /// protected sealed override DataTable GetDataTable() { return null; } /// /// 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 EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.ImmobiliareCEUnica ? DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_Nucleo_Immobiliare_S1_Copertina", parametri) : DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaEvoluta, "REP_Nucleo_Immobiliare_S1_Copertina", parametri); } } }