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