217 lines
13 KiB
C#
217 lines
13 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using System.Collections;
|
||
using ceTe.DynamicPDF;
|
||
using ceTe.DynamicPDF.Text;
|
||
using PDFGenerator.Presentation.Section.Tables;
|
||
using PDFGenerator.BusinessLayer.DataSection;
|
||
using PDFGenerator.BusinessLayer;
|
||
using ContrattoSei.Utilities;
|
||
using ceTe.DynamicPDF.PageElements;
|
||
using System.Linq;
|
||
|
||
namespace PDFGenerator.Presentation.Section
|
||
{
|
||
class S184 : ISezione
|
||
{
|
||
|
||
|
||
private string _header = "";
|
||
|
||
public string Header
|
||
{
|
||
get { return _header; }
|
||
set { _header = value; }
|
||
}
|
||
|
||
|
||
private TipoReport _tipologiaReport;
|
||
public TipoReport TipologiaReport
|
||
{
|
||
get { return _tipologiaReport; }
|
||
set { _tipologiaReport = value; }
|
||
}
|
||
|
||
private string _testoIntroduttivo = string.Empty;
|
||
public string TestoIntroduttivo
|
||
{
|
||
get { return _testoIntroduttivo; }
|
||
set { _testoIntroduttivo = value; }
|
||
}
|
||
|
||
private string _testoChiusura = string.Empty;
|
||
public string TestoChiusura
|
||
{
|
||
get { return _testoChiusura; }
|
||
set { _testoChiusura = value; }
|
||
}
|
||
|
||
|
||
public S184()
|
||
{
|
||
//
|
||
// TODO: Add constructor logic here
|
||
//
|
||
}
|
||
|
||
#region ISezione Members
|
||
|
||
public void writeSezione(DataThread dataThread)
|
||
{
|
||
DatiTabella datitab = new DatiTabella();
|
||
|
||
DocumentPDF document = dataThread.DocumentPDF;
|
||
DataSetS184 set = (DataSetS184)dataThread.Data.DatiSezione;
|
||
|
||
if (!set.TabellaCoerenzaESG.Rows[0]["percESG"].ToString().Equals("n.d.", StringComparison.OrdinalIgnoreCase))
|
||
{
|
||
|
||
document.LastSectionCheckIn = "S184";
|
||
float fontSize = 5;
|
||
|
||
|
||
document.changePage();
|
||
|
||
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
|
||
|
||
|
||
document.setSezTitoloDiagnosi(dataThread.SezioneReport.Titolo);
|
||
|
||
//string nota = dataThread.SezioneReport.Nota;
|
||
|
||
// string tempTesto = dataThread.SezioneReport.TestoIntroduttivo;
|
||
//if (dataThread.Rete.ToUpper() == "S")
|
||
// tempTesto = tempTesto.Replace("Fideuram", "Sanpaolo Invest");
|
||
|
||
//document.setChapterHeader(tempTesto.Replace("$/Banca/$", dataThread.NomeRete).Replace("nel patrimonio Sanpaolo Invest", "nel portafoglio"), 0, 520, 8);
|
||
|
||
//document.setHeaderSpace(5);
|
||
|
||
//Header: non ho usato quello standard perché dovevo farlo su due righe
|
||
//Sfondo
|
||
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft() - 5, document.getLastPos() - 18, 520 + 10, 23, 0, new RgbColor(232, 236, 237)));
|
||
|
||
//Leone: eliminata come da requisiti 20230509_Report Diagnosi Sei_FID_MUA+ESG.pptx
|
||
//Prima riga: Obbligazioni - Azioni
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Obbligazioni", document.getMargineLeft() + 5 + 132 + 90 -10, document.getLastPos() - 16, 520, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Azioni", document.getMargineLeft() + 5 + 132 + 90 + 95 + 90 +10, document.getLastPos() - 16, 520, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
|
||
//Seconda riga: intestazioni colonne tabella
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Emittente", document.getMargineLeft(), document.getLastPos() - 12, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Controvalore (€)", document.getMargineLeft() + 5 + 132 + 30+2, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione (%)", document.getMargineLeft() + 5 + 132 + 30 + 90-3+2, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Controvalore (€)", document.getMargineLeft() + 5 + 132 + 30 + 90 + 97+10, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione (%)", document.getMargineLeft() + 5 + 132 + 30 + 90 + 97 + 90 +8, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
|
||
//Leone: Modificate come da requisiti 20230509_Report Diagnosi Sei_FID_MUA+ESG.pptx
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Emittente", document.getMargineLeft(), document.getLastPos() - 12, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Controvalore (€)", document.getMargineLeft() + 5 + 132 + 30 + 2 - 20, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione (%)", document.getMargineLeft() + 5 + 132 + 30 + 90 - 3 + 2 - 20, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Controvalore (€)", document.getMargineLeft() + 5 + 132 + 30 + 90 + 97 + 10 - 20, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione (%)", document.getMargineLeft() + 5 + 132 + 30 + 90 + 97 + 90 + 8 - 20, document.getLastPos() - 6, 132, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
|
||
var currentX = document.getMargineLeft();
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Prodotti che soddisfano almeno un obiettivo ESG (%)", currentX, document.getLastPos() - 16, 150, 25, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Prodotti in linea con le preferenze di sostenibilità (%)", currentX, document.getLastPos() - 16, 150, 25, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
currentX += 200;
|
||
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Soglia di sostenibilità", currentX, document.getLastPos() - 12, 150, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Percentuale di sostenibilità", currentX, document.getLastPos() - 12, 150, 10, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
currentX += 200;
|
||
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Esito di coerenza ESG", currentX, document.getLastPos() - 12, 150, 20, Globals.OpenTypeFontVerdanaB, 8, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Red));
|
||
|
||
|
||
|
||
document.setLastPos(20);
|
||
|
||
Tabella tab = new Tabella(document.getMargineLeft(), document.getLastPos());
|
||
if (dataThread.TipoReport.ToUpper() == "DIAGNOSI") tab.HeaderFont = 8;
|
||
tab.Header = false;
|
||
tab.LineaFineTabella = true;
|
||
tab.Datasource = datitab.table;
|
||
|
||
datitab.table = set.Tables["TabellaCoerenzaESG"];
|
||
|
||
tab.Colonne.Add(new Colonna("pesoSostESG", "", 150, TipoAllineamento.CENTRATO, false, 7, false));
|
||
tab.Colonne.Add(new Colonna("percESG", "", 200, TipoAllineamento.CENTRATO, false, 7, false));
|
||
tab.Colonne.Add(new Colonna("Coerenza", "", 170, TipoAllineamento.CENTRATO, false, 7, false));
|
||
|
||
tab.AltezzaCella = 23;
|
||
|
||
datitab.setCellSpace(0);
|
||
|
||
//setta posizione tabella
|
||
tab.Draw(datitab, document);
|
||
|
||
document.setLastPos(tab.AltezzaTabella - 43);
|
||
|
||
//Discolsure Adeguatezza Dinamico
|
||
string NotaDisclosure, notapieTabella = string.Empty;
|
||
|
||
bool isCoerente = set.Tables["TabellaCoerenzaESG"].Rows[0]["Coerenza"].ToString().Equals("COERENTE", StringComparison.OrdinalIgnoreCase);
|
||
|
||
if (isCoerente)
|
||
{
|
||
NotaDisclosure = $"La percentuale di prodotti finanziari ESG presenti nel portafoglio è COERENTE rispetto alla percentuale minima di Portafoglio che Lei ha scelto di destinare a investimenti volti a soddisfare le Preferenze di Sostenibilità - ambientale, sociale, di buona governance – dichiarata nel questionario di Profilatura. Il suo private banker è a disposizione per ogni ulteriore chiarimento o approfondimento. Per maggiori dettagli in merito alle modalità e ai criteri di valutazione dell’adeguatezza del suo portafoglio si rimanda alla sezione «Avvertenze e Glossario».";
|
||
}
|
||
else
|
||
{
|
||
NotaDisclosure = $"La percentuale di prodotti finanziari ESG presenti nel portafoglio NON E’ COERENTE rispetto alla percentuale minima di Portafoglio che Lei ha scelto di destinare a investimenti volti a soddisfare le Preferenze di Sostenibilità - ambientale, sociale, di buona governance – dichiarata nel questionario di Profilatura. La invitiamo a contattare il prima possibile il suo private banker per valutare le azioni necessarie a rendere coerente il suo portafoglio. Il suo private banker è a disposizione per ogni ulteriore chiarimento o approfondimento.";
|
||
}
|
||
|
||
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(NotaDisclosure, datitab.getX(), document.getLastPos() - 25, 500F, 40F, Globals.OpenTypeFontVerdana, fontSize + 1f));
|
||
|
||
|
||
//if (S178.isAdeguato.HasValue)
|
||
//{
|
||
// if (S178.isAdeguato.Value == true)
|
||
// {
|
||
// notapieTabella = $"Il suo private banker è a disposizione per ogni ulteriore chiarimento o approfondimento. Per maggiori dettagli in merito alle modalità e ai criteri di valutazione dell’adeguatezza del suo portafoglio si rimanda alla sezione «Avvertenze e Glossario».";
|
||
// }
|
||
// else
|
||
// {
|
||
// notapieTabella = $"La invitiamo a contattare il prima possibile il suo private banker per valutare le azioni necessarie a rendere coerente il suo portafoglio. Il suo private banker è a disposizione per ogni ulteriore chiarimento o approfondimento.";
|
||
// }
|
||
|
||
// //Nota a piè di tabella
|
||
|
||
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(notapieTabella, datitab.getX(), document.getLastPos() - 5, 500F, 30F, Globals.OpenTypeFontVerdana, fontSize + 1f));
|
||
|
||
//}
|
||
|
||
|
||
//COntrollo se la sezione successiva
|
||
//int currentId = Array.IndexOf(dataThread.SequenzaSezioniDaStampare, "S184");
|
||
//string nexIsS179 = dataThread.SequenzaSezioniDaStampare.ElementAtOrDefault(currentId + 1);
|
||
|
||
//if (!string.IsNullOrEmpty(nexIsS179) && nexIsS179.Equals("S170"))
|
||
// document.setLastPos(document.getLastPos() * -1);
|
||
//else
|
||
// document.setLastPos(tab.AltezzaTabella + 20);
|
||
|
||
//dataThread.AltezzaS184 = tab.AltezzaTabella + 20;
|
||
|
||
document.setLastPos((document.getLastPos() * -1));
|
||
document.setLastPos(document.getLastPos() + tab.AltezzaTabella + 150);
|
||
//document.setLastPos(document.getLastPos() - 230);
|
||
//document.setLastPos(document.getLastPos() *-1);
|
||
|
||
|
||
|
||
|
||
//if(dataThread.TipoReport.ToUpper().Equals("DIAGNOSI"))
|
||
document.nextPage(document.getMargineLeft());
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|