using System; using ceTe.DynamicPDF; using Consulenza.ReportWriter.Business; using Consulenza.ReportCommon; using Consulenza.ReportWriter.Business.OBJ_PDF; using System.Data; namespace Consulenza.ReportWriter.Manager.Section.Unica.Proposta { /// /// Scheda 1. Copertina. IdSezione 44 /// public class S1 : Unica.S1 { public S1(EnvironmentFacade environmentFacade, int idSection) : base(environmentFacade, idSection) { var testi = GetText(); //ExtendedProperties.Add("titoloReport", testoCopertina); try { Draw(); } catch (Exception ex) { SectionLogger.Write("S1", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment); } } protected override void Draw() { #region TEST Opzioni //try //{ // string log = ""; // log += "Opzione1:" + GetOption().anonimo; // log += "Opzione2:" + GetOption().proposta; // log += "Opzione3:" + GetOption().visualizzazione; // log += "Opzione4:" + GetOption().visualizzazione; // log += "Opzione4_1:" + GetOption().visualizzazione; // log += "Opzione4_2:" + GetOption().visualizzazione; // log += "Opzione4_3:" + GetOption().visualizzazione; // log += "Opzione4_4:" + GetOption().visualizzazione; // log += "Opzione4_5:" + GetOption().visualizzazione; // log += "Opzione4A:" + GetOption().visualizzazione; // SectionLogger.Write("S1Opzioni", log, SectionLoggerMessageLevel.I, EnvironmentFacade.ReportEnvironment); //} //catch { } #endregion var reportAnonimo = GetOption().ReportAnonimo; var nomeCliente = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.Cliente.Nome); var cognomeCliente = Helper.CapitalizeWords(EnvironmentFacade.ReportEnvironment.Cliente.Cognome); var report = new FormattedTextAreaPDF(datiSeiUnico.flagAdeguatezzaPro() ? GetText().Rows[0]["testo1"].ToString()/*"PROPOSTA"*/ : "OPERAZIONI RICHIESTE DAL CLIENTE", datiSeiUnico.flagAdeguatezzaPro() ? 157 : -20, datiSeiUnico.flagAdeguatezzaPro() ? 220 : 390) { FontSize = datiSeiUnico.flagAdeguatezzaPro() ? 18 : 16, Y = datiSeiUnico.flagAdeguatezzaPro() ? 231 : 233, AutoIncrementYWritable = false, AbsolutePosition = true, TextHorizontalAlign = TextAlign.Right, FontColor = ColorPDF.Bianco, FontBold = true }; // data ultimo aggiornamento //var dDataUtlimoAggiornamento = datiSeiUnico.propostaUnit().stDettaglioProposta.dtProposta; var dDataUtlimoAggiornamento = datiSeiUnico.propostaUnit().stDettaglioProposta.dtUltimoAgg; var sDataUltimoAggiornamento = "Dati Aggiornati al : {0}"; var DataUltimoAggiornamento = new FormattedTextAreaPDF(string.Format(sDataUltimoAggiornamento, Helper.FormatDateMonthName(dDataUtlimoAggiornamento)), 210, 300) { FontSize = 9, Y = 25, AutoIncrementYWritable = false, AbsolutePosition = true, TextHorizontalAlign = TextAlign.Right }; // data di stampa var sDataStampa = reportAnonimo ? "Report prodotto il {0}" : "Report prodotto il {0} per"; var dataStampa = new FormattedTextAreaPDF(string.Format(sDataStampa, Helper.FormatDateMonthName(DateTime.Now)), 88, 300) { FontSize = 9, Y = 265, AutoIncrementYWritable = false, AbsolutePosition = true, TextHorizontalAlign = TextAlign.Right }; // cliente var cliente = new FormattedTextAreaPDF(string.Format("{0} {1}", cognomeCliente, nomeCliente), 88, 300) { FontSize = 9, Y = 280, AutoIncrementYWritable = false, AbsolutePosition = true, TextHorizontalAlign = TextAlign.Right, FontBold = true }; // Aggiungo gli oggetti AddElement(DataUltimoAggiornamento); AddElement(report); AddElement(dataStampa); if (!reportAnonimo) AddElement(cliente); AddElement(new FormattedTextAreaPDF(getNote(), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, Y = EnvironmentFacade.RendererFacade.YLowerLimit+50 }); } public string getNote() { string nota = ""; if (!datiSeiUnico.flagAdeguatezzaPro()) { nota += "Nel presente report è riportata una descrizione dettagliata delle operazioni da lei richieste al suo private banker, "; nota += "allo scopo di fornirle una rappresentazione dei rilativi impatti sul suo portafoglio, nonché delle motivazioni che ne sconsigliano l'esecuzione. "; nota += "Tuttavia, laddove lei desideri ugualmente eseguire tali operazioni, potrà farlo avvalendosi del servizio di collocamento "; nota += "ovvero dei servizi di esecuzione di ordini per conto della clientela, di negoziazione per contro proprio o di ricezione "; nota += "e trasmissione ordini."; } return nota; } } }