using System; using System.Collections.Generic; using System.Data; using PDFGenerator.Presentation.Section; using PDFGenerator.BusinessLayer.DataSection; using ContrattoSei.Utilities; using PDFGenerator.Presentation.TemplateGenerator; namespace PDFGenerator.BusinessLayer { /// /// Enumeratore della Tipologia di Visualizzazione della Sezione /// public enum TipologiaVisualizzazione { /// /// La sezione viene stampata in modalit� torta. /// TORTA, /// /// La sezione viene stampata in modalit� a istogramma. /// BARRE, /// /// Modalit� di default. /// SINGOLA, /// /// La sezione viene stampata in modalit� affiancata. /// Ad esempio MacroAssett stampata sulla sinistra e Assett stampata sulla destra. /// DOPPIA, /// /// Non usata. /// NO_CONFRONTO, /// /// Non usata. /// CONFRONTO, /// /// Indica che � stata richiesta l'inclusione della PERFORMANCE sulla sezione. /// PERFORMANCE, /// /// Indica che � stata richiesta l'inclusione del VERSATONETTO/UTILEPERDITA sulla sezione. /// VERSATONETTO_UTILEPERDITA, /// /// Indica che � stata richiesto l'inclusione del RENDIMENTO dall'inizio dell'anno. /// RENDIMENTO_DA_INIZIOANNO, /// /// Indica che � stata richiesto l'inclusione del RENDIMENTO a partire dalla data di sottoscrizione. /// RENDIMENTO_DA_SOTTOSCRIZIONE, /// /// Indica che nel dettaglio dei prodotti � stato richiesto un raggruppamento per area di bisogno. /// RAGGRUPPAMENTO_PER_AREA, /// /// Indica che nel dettaglio dei prodotti � stato richiesto un raggruppamento per tipologia di prodotti. /// RAGGRUPPAMENTO_PER_TIPOLOGIA, /// /// Indica se la sezione deve essere stampata o meno. /// SISTAMPA, /// /// Indica se escludere o meno il nome del cliente sulla copertina. /// NO_NOMECLIENTE_PER_COPERTINA, /// /// Indica se includere o meno la nota a fondo pagina riguardante /// il dettaglio di Patrimonio non rappresentabile per asset class /// NOTA_DETTAGLIO_PATRIM_NONRAPP_ASSET, /// /// Indica se includere o meno la nota a fondo pagina riguardante /// il dettaglio di Patrimonio non rappresentabile per politica di investimento /// NOTA_DETTAGLIO_PATRIM_NONRAPP_POLITICAINV, /// /// Indica se includere o meno la nota a fondo pagina riguardante /// il dettaglio di Patrimonio non rappresentabile per Calcolo del rendimento /// NB. non usato per DIAGNOSI. /// NOTA_DETTAGLIO_PATRIM_NONRAPP_CALCOLOREND, /// /// Indica che � stata richiesta l'inclusione del RISCHIO sulla sezione. /// RISCHIO, /// /// Indica che l'area � monitorata ma il controvalore monitorato � pari a 0. /// Vincolo impostato non lato database ma lato codice. /// AREA_MONITORATA_CON_CONTROVOLORE_0 } /// /// Summary description for SezioneReport /// public class SezioneReport : ParagrafoReport { private Int32 _id; private string _codice; private string _titolo; private string _testoIntroduttivo; private string _testoIntroduttivoAlternativo; private string _nota; private string _notaAlternativa; private string _querySql; private string LastArea; private string _filtrosezione; private Int32 _ordine; private float _height; private List _vincolo = new List(); private ParagrafoReport _parent; private bool _indicizzato; private string _areaprogettocodice; private string _areaprogettodescrizione; private string _nomeprogetto; private bool _areaprogettosottomonitoraggio = false; private int _numeroprogettiinvestimento; private bool _nuovaPaginaDopo = false; private static int _biancoPagina = 0; private string _intermediario = string.Empty; public string IntermediarioSez { get { return _intermediario; } set { _intermediario = value; } } public bool NuovaPaginaDopo { get { return _nuovaPaginaDopo; } set { _nuovaPaginaDopo = value; } } private List _tabelleSessione; private DataThread _dataThread; private Int32? _ordinamentoProgettoPerAreeMonitorate; private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); #region Costruttori /// /// Costruttore /// public SezioneReport(DataThread dataThread, List tabelleSessione) { _indicizzato = true; _dataThread = dataThread; _tabelleSessione = tabelleSessione; DocumentPDF = dataThread.DocumentPDF; } /// /// Costruttore /// /// public SezioneReport(DataThread dataThread, List tabelleSessione, string Codice) : this(dataThread, tabelleSessione) { _codice = Codice; } /// /// Costruttore. /// /// codice della Sezione /// Datarow che contiene i campi: /// queryOracleSezione, /// titoloSezione, /// testoSezione, /// indicizzatoSezione /// che valorizzano le rispettive propriet� dell'oggetto Sezione. /// public SezioneReport(DataThread dataThread, List tabelleSessione, string Codice, DataRow SourceDatarow) : this(dataThread, tabelleSessione, Codice) { _titolo = SourceDatarow["titoloSezione"].ToString(); _testoIntroduttivo = SourceDatarow["testoSezione"].ToString(); _testoIntroduttivoAlternativo = SourceDatarow["testoSezioneAlternativo"] == DBNull.Value ? string.Empty : SourceDatarow["testoSezioneAlternativo"].ToString(); _nota = SourceDatarow["notaSezione"] == DBNull.Value ? string.Empty : SourceDatarow["notaSezione"].ToString(); _notaAlternativa = SourceDatarow["notaSezioneAlternativo"] == DBNull.Value ? string.Empty : SourceDatarow["notaSezioneAlternativo"].ToString(); _querySql = SourceDatarow["querySqlSezione"].ToString(); _indicizzato = SourceDatarow["indicizzatoSezione"] == DBNull.Value ? false : Convert.ToBoolean(SourceDatarow["indicizzatoSezione"]); _nuovaPaginaDopo = SourceDatarow["nuovaPaginaDopo"] == DBNull.Value ? false : Convert.ToBoolean(SourceDatarow["nuovaPaginaDopo"]); } #endregion #region Proprieta /// /// Id della Sezione. /// public new int Id { get { return _id; } set { _id = value; } } /// /// Codice della Sezione (S1,S2..S88) /// public string Codice { get { return _codice; } set { _codice = value; } } /// /// Testo introduttivo della Sezione /// public new string TestoIntroduttivo { get { return _testoIntroduttivo; } set { _testoIntroduttivo = value; } } /// /// Imposta o recupera il nome del file .sql contenente la select oracle /// da lanciare nel caso in cui la sezione sia sottoposta a query. /// public new string QuerySql { get { return _querySql; } set { _querySql = value; } } /// /// Imposta o recupera l'ordine di stampa della sezione. /// public new int Ordine { get { return _ordine; } set { _ordine = value; } } /// /// Imposta o recupera il titolo della Sezione. /// public new string Titolo { get { return _titolo; } set { _titolo = value; } } /// /// Imposta o recupera il testo introduttivo della Sezione /// public new string TestoIntroduttivoAlternativo { get { return _testoIntroduttivoAlternativo; } set { _testoIntroduttivoAlternativo = value; } } /// /// Imposta o recupera la nota della Sezione. /// public string Nota { get { return _nota; } set { _nota = value; } } /// /// Imposta o recupera la nota alternativa della Sezione. /// public string NotaAlternativa { get { return _notaAlternativa; } set { _notaAlternativa = value; } } /// /// Imposta o recupera l'altezza minima della sezione. /// E' lo spazio che occupa la sezione sul documento pdf. /// public float Height { get { return _height; } set { _height = value; } } /// /// Restituisce l'oggetto Paragrafo padre dell'oggetto Sezione corrente. /// public ParagrafoReport SezioneParent { get { return _parent; } set { _parent = value; } } /// /// Indica se la sezione dovra essere indicizzata o no. /// True se non specificato. /// public new bool Indicizzato { get { return _indicizzato; } set { _indicizzato = value; } } /// /// Imposta o ottiene la lista di Vincoli della Sezione. /// public List Vincolo { get { return _vincolo; } set { _vincolo = value; } } /// /// Imposta o ottiene il filtro che viene fatto a livello di Sezione. /// Ad esempio per alcune sezione � previsto un filtro a livello di Intermediario. /// Se il filtro � impostato la sezione verr� ripetuta per ogni intermediario. /// public string FiltroSezione { get { return _filtrosezione; } set { _filtrosezione = value; } } /// /// Imposta o recupera il codice dell'Area/Progetto. es "Inv","Ext". /// public new string AreaProgettoCodice { get { return _areaprogettocodice; } set { _areaprogettocodice = value; } } /// /// Imposta o recupera la descrizione dell'Area/Progetto. es "Investimento","Extra Rendimento". /// public new string AreaProgettoDescrizione { get { return _areaprogettodescrizione; } set { _areaprogettodescrizione = value; } } /// /// Imposta o recupera la descrizione del nome progetto per l'area di investimento. /// public new string NomeProgetto { get { return _nomeprogetto; } set { _nomeprogetto = value; } } /// /// Indica se l'area/progetto � sottoposta a monitoraggio. /// public new bool AreaProgettoSottoMonitoraggio { get { return _areaprogettosottomonitoraggio; } set { _areaprogettosottomonitoraggio = value; } } /// /// Imposta o recupera il numero totale dei progetti d'investimento. /// public new int NumeroProgettiInvestimento { get { return _numeroprogettiinvestimento; } set { _numeroprogettiinvestimento = value; } } /// /// Valorizzata con l'ordinamento (del progetto cui la sezione appartiene) nel caso ci siano pi� progetti /// con diverso ordinamento nella specifica Area di Monitortaggio. /// public new Int32? OrdinamentoProgettoPerAreeMonitorate { get { return _ordinamentoProgettoPerAreeMonitorate; } set { _ordinamentoProgettoPerAreeMonitorate = value; } } #endregion /// /// Disegna la Sezione. /// Carica i dati della sezione attraverso la LoadDataSection. /// Se e solo se i dati per la sezione esistono verranno stampate il capitolo e il paragrafo relativo alla sezione e la sezione stessa. /// public new void Disegna() { //float DimensioneTortaChart = 140; //float minimumHeight = 0; if (_filtrosezione.ToLower() == "intermediario") _dataThread.Intermediario = _parent.ParagrafoParent.Intermediario; else if (_filtrosezione.ToLower() == string.Empty) _dataThread.Intermediario = string.Empty; DataSectionResult data = LoadDataSection(); // Carica i dati necessari alla Sezione. _dataThread.Data = data; if (UtilityManager.getAppSetting("bug") != String.Empty) { foreach (string notsez in @UtilityManager.getAppSetting("bug").ToString().Split(';')) if (notsez.Equals(_codice)) data.Esito = 0; } if (data.Esito > 0) { _height = LoadHeight(data.Esito); // recupera l'altezza minima necessaria alla sezione per essere stampata sulla pagina. if (BloccaStampaPERUlterioriVincoli() == false) { StampaCapitolo(); StampaParagrafo(); StampaSezione(); } } // se sto stampando l'ultima sezione, devo richiamare la stampa delle note del document : // questo perch� la logica della stampa delle note � stata spostata nel document.addPage, ma per l'ultima pagina questo metodo non � richiamato. // cerco qual'� l'ultima sezione da stampare. DataRow drLast = _dataThread.Schema.Rows[_dataThread.Schema.Rows.Count - 1]; if (_codice == drLast["codiceSezione"].ToString()) { _dataThread.DocumentPDF.StampaNote();// stampo le note rimaste da stampare. //If the last page is white remove it if (_biancoPagina == 1) _dataThread.DocumentPDF.RemoveLastPage(_dataThread.DocumentPDF.CurrentPage - 1); } } /// /// Recupera l'altezza minima necessaria alla sezione per essere stampata sulla pagina. /// /// /// private float LoadHeight(int numeroRigheSezione) { float altezza = 0; float DimensionRow = 23; float DimensioneTortaChart = 140; switch (_codice) { case "S26": altezza = (numeroRigheSezione + 1) * DimensionRow + 30; break; case "S31": if (_vincolo.Contains(TipologiaVisualizzazione.TORTA)) altezza = DimensioneTortaChart; else altezza = DimensionRow * numeroRigheSezione; break; case "S32": altezza = DimensioneTortaChart; break; case "S43": altezza = 0; break; case "S48": altezza = 3 * DimensionRow + 40; break; case "S76": case "S76BIS": altezza = DimensionRow * 4 + 40; break; case "S80": altezza = (DimensionRow * 6 + 50) * 2; // la S80 e la S80BIS vanno stampate sulla stessa pagina break; #region S82 case "S82": //SEZIONE A DIMENSIONE FISSA altezza = DimensionRow * 7 + 40; break; #endregion #region S82BIS case "S82BIS": //SEZIONE A DIMENSIONE FISSA altezza = DimensionRow * 7; break; #endregion #region S83 case "S83": //SEZIONE A DIMENSIONE FISSA altezza = DimensionRow * 7; break; #endregion #region S84 case "S84": //aggiungo spazio per la nota altezza = 300 + 30; break; #endregion #region S85 case "S85": if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) //Almeno devo poter disegnare il grafico pi� considero uno spazio 20 tra tabella e grafico e 3 righe di tabella (1 riga pi� header e totale, o 1 riga pi� header e cambio pagina) altezza = DimensioneTortaChart + 20 + DimensionRow * 2; else //Almeno devo poter disegnare il grafico altezza = DimensioneTortaChart; break; #endregion #region S86 case "S86": if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) //Almeno devo poter disegnare il grafico pi� considero uno spazio 20 tra tabella e grafico e 3 righe di tabella (1 riga pi� header e totale, o 1 riga pi� header e cambio pagina) altezza = DimensioneTortaChart + 20 + DimensionRow * 2; else //Almeno devo poter disegnare il grafico altezza = DimensioneTortaChart; break; #endregion #region S88 case "S88": altezza = DimensionRow * 2 + 40; break; #endregion default: altezza = DimensionRow * numeroRigheSezione; break; } return altezza; } /// /// Stampa i titoli, sottotitoli e testi introduttivo dei capitoli. /// La funzione viene richiamata per ogni sezione che deve essere disegnata, /// sar� la propriet� CheckStampaElemento che indicher� se i testi degli oggetti verranno o meno stampati. /// Attraverso il field _parent si ha accesso a tutte le propriet� settate a livello di capitolo. /// private void StampaCapitolo() { CapitoloReport Capitolo = _parent.ParagrafoParent; // Stampa il Capitolo. if (Capitolo.CheckStampaElemento) { //missing page break before chapter 8 in DIAGNOSI_CSRMRZ73E31A944M //if (Capitolo.Titolo == "Patrimonio finanziario altri Istituti")// && DocumentPDF.checkMargin(300)) // DocumentPDF.addPage(); // if (Capitolo.Titolo == "Patrimonio immobiliare e altro patrimonio" && DocumentPDF.checkMargin(115)) // DocumentPDF.addPage(); // if (Capitolo.Titolo == "Patrimonio finanziario" && DocumentPDF.checkMargin(115)) // DocumentPDF.addPage(); //if (Capitolo.Titolo == "Patrimonio immobiliare e altro patrimonio" && DocumentPDF.checkMargin(115)) // DocumentPDF.addPage(); // if (Capitolo.Titolo == "Patrimonio finanziario" && DocumentPDF.checkMargin(115)) // DocumentPDF.addPage(); if (Capitolo.StampaInNuovaPagina) if ((_codice == "S57") || (_codice == "S146")) DocumentPDF.setPageTitolo(UtilityBusinessLayer.ReplaceVariables(Capitolo.Titolo, _dataThread), true); else { DocumentPDF.setPageTitolo(UtilityBusinessLayer.ReplaceVariables(Capitolo.Titolo, _dataThread)); } else if (_codice == "S57") DocumentPDF.setChapterTitolo(UtilityBusinessLayer.ReplaceVariables(Capitolo.Titolo, _dataThread), _height, true); else DocumentPDF.setChapterTitolo(UtilityBusinessLayer.ReplaceVariables(Capitolo.Titolo, _dataThread), _height); if (Capitolo.TestoIntroduttivo != string.Empty) // Se è stato selezionato dall'albero il dettaglio dei prodotti raggruppati per area di bisogno, // il testo introduttivo del capitolo da stampare cambia. if (_codice == "S43" || _codice == "S47" & _vincolo.Contains(TipologiaVisualizzazione.RAGGRUPPAMENTO_PER_AREA) & _dataThread.ReportType().TipoReport == TipoReport.MONITORAGGIO) { DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivoAlternativo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8); } if (_codice == "S43BIS") { DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzati tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8); } else if (_codice == "S57") DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), true); else { if (_codice == "S160") DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzate tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8); else if (_codice == "S163") DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("intermediari diversi da Sanpaolo Invest", "altri Istituti"), 0, 520, 8); else if (_codice == "S153") DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzate tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8); else { if ((_codice != "S185")) DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Capitolo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8); } if ((_codice == "S43" || _codice == "S43BIS") && _dataThread.TipoReport.ToUpper().Equals("MONITORAGGIO")) { DocumentPDF.setLastPos(0); } } Capitolo.CheckStampaElemento = false; } } /// /// Stampa i titoli, sottotitoli e testi introduttivo dei paragrafi. /// La funzione viene richiamata per ogni sezione che deve essere disegnata, /// sar� la propriet� CheckStampaElemento che indicher� se i testi degli oggetti verranno o meno stampati. /// Attraverso il field _parent si ha accesso a tutte le propriet� settate a livello di paragrafo. /// private void StampaParagrafo() { ParagrafoReport Paragrafo = _parent; // Stampa il Paragrafo if (Paragrafo.CheckStampaElemento) { // se � stato impostato lo SpazioNecessarioSezioneSuccessiva e questo spazio � maggiore // dello spazio disponibile sul documento, viene aggiunta una nuova pagina e il testo verr� scritto a capo. if (Paragrafo.SpazioNecessarioSezioneSuccessiva > 0) if (DocumentPDF.checkMargin(Paragrafo.SpazioNecessarioSezioneSuccessiva)) DocumentPDF.addPage(); if (_codice == "S134" || _codice == "S134BIS") { if (DocumentPDF.getLastPos() > 200) DocumentPDF.addPage(); } /******************************** Modifica per paragrafo 1.7 Ultime Operazioni su nuova pagina - Pino **********************************/ if (_codice == "S44") { if (!Paragrafo.ParagrafoParent.StampaInNuovaPagina) DocumentPDF.addPage(); } /***************************************************************************************************************************************/ /******************************** Modifica per paragrafo 5.2 Dettaglio investimento iCapital su nuova pagina 20022023 - Pino **********************************/ if (_codice == "S183") { DocumentPDF.addPage(); } /***************************************************************************************************************************************/ if (_codice == "S185") { DocumentPDF.addPage(); } if (Paragrafo.Indicizzato) { if ((_dataThread.TipoReport.ToUpper().Equals("DIAGNOSI")) && (_codice == "S162")) { DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. } else if (_dataThread.TipoReport.ToUpper().Equals("DIAGNOSI")) { if (_codice == "S170") { if (DocumentPDF.LastSectionCheckIn.Equals("S178")) DocumentPDF.addPage(); else { if (VerificaPresenzaS180()) DocumentPDF.addPage(); } DocumentPDF.setSezTitoloDiagnosi(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. } else { if (_codice != "S185") DocumentPDF.setSezTitoloDiagnosi(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. } } else { /*********************** Modifica per Trimestrale capitolo 1.7 su nuova pagina - Pino ******************************/ if (_codice != "S43BIS" && _codice != "S43") { if (_codice == "S44") DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); else { /***** Fix Modifica intestazione paragrafo per FD 12/05/2023 - Pino ******/ if (_codice == "FD134BIS") { DocumentPDF.addPage(); DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables("Evoluzione del Portafoglio Direct Evo | Andamento del controvalore", _dataThread)); } else { if (_codice == "FD200") { DocumentPDF.addPage(); DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables("Distribuzione asset class del Portafoglio Direct Evo", _dataThread)); } else { if (_codice == "FD148") DocumentPDF.addPage(); else { if (_codice != "FD43BIS") DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. } } } /*************************************************************************/ } } else DocumentPDF.setSezTitoloWithoutNumber(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); /**********************************************************************/ //if (_codice != "S43BIS" && _codice != "S43") // DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. //else // DocumentPDF.setSezTitoloWithoutNumber(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); } } //else { // if (_codice == "S43BIS" || _codice == "S43") // DocumentPDF.setSezTitoloWithoutNumber(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. //} //switch (_dataThread.TipoReport.ToUpper()) //{ // case "DIAGNOSI": // if (Paragrafo.Indicizzato) // { // DocumentPDF.setSezTitoloDiagnosi(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); //titolo del paragrafo. // } // break; // default: // if (((_codice == "S43BIS") || (_codice == "S43")) && (!Paragrafo.Indicizzato)) // DocumentPDF.setSezTitoloWithoutNumber(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); // else if (((_codice != "S43BIS") && (_codice != "S43")) && (Paragrafo.Indicizzato)) // { // DocumentPDF.setSezTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.Titolo, _dataThread)); // } // break; //} if (!string.IsNullOrEmpty(Paragrafo.SottoTitolo) && Paragrafo.SottoTitolo.Trim().Length > 0) DocumentPDF.setTitolo(UtilityBusinessLayer.ReplaceVariables(Paragrafo.SottoTitolo, _dataThread));//sotto titolo del paragrafo.usato per i progetti di investimento //testo introduttivo if (_codice == "S160" || _titolo == "Dettaglio prodotti per area di bisogno") DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Paragrafo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzate tramite la rete di private banker Sanpaolo Invest")); else { if (!_codice.Equals("S185")) DocumentPDF.setChapterHeader(UtilityBusinessLayer.ReplaceVariables(Paragrafo.TestoIntroduttivo, _dataThread).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest")); } Paragrafo.CheckStampaElemento = false; } } /// /// Carica i dati. /// /// private DataSectionResult LoadDataSection() { DataSectionResult dsResult = new DataSectionResult(); bool getDataSection = true; IDataSection sezione = null; //Report objReport = _parent.ParagrafoParent.CapitoloParent; DocumentPDF objPDF = DocumentPDF; logger.Info("LoadDataSection: DS" + _codice); switch ("DS" + _codice) { #region COPERTINA INDICE GLOSSARIO case "DSCOPERTINA": getDataSection = false; if (_vincolo.Contains(TipologiaVisualizzazione.NO_NOMECLIENTE_PER_COPERTINA)) objPDF.creaCopertina(_dataThread.ReportType().Descrizione, false); else objPDF.creaCopertina(_dataThread.ReportType().Descrizione, true); break; case "DSINDICE": getDataSection = false; objPDF.creaIndice(); break; case "DSGLOSSARIO": getDataSection = false; objPDF.Glossario = true; break; #endregion #region DSS1 case "DSS1": sezione = new DSS1PatrimonioComplessivo(); break; #endregion #region DSS2 case "DSS2": if (_dataThread.Patrimoniobancafideuramctv > 0 & _dataThread.Patrimonioterzictv > 0) sezione = new DSS2PatrimonioFinanziario(); else getDataSection = false; break; #endregion #region DSS6 case "DSS6": if (_dataThread.Patrimoniobancafideuramctv > 0 & _dataThread.Patrimonioterzictv > 0) sezione = new DSS6PatrimonioFinanziario(); else getDataSection = false; break; #endregion #region DSS10 case "DSS10": sezione = new DSS10PatrimonioFinanziario(); break; #endregion #region DSS18 case "DSS18": sezione = new DSS18PatrimonioFinanziarioRischio(); if (_dataThread.Patrimoniocomplessivototalectv == _dataThread.Patrimoniobancafideuramctv) ((DSS18PatrimonioFinanziarioRischio)sezione).onlyBF = true; break; #endregion #region DSS23 case "DSS23": sezione = new DSS23GradoCopertura(); break; #endregion #region DSS25 case "DSS25": sezione = new DS25Anagrafica(); break; #endregion #region DSS26 case "DSS26": sezione = new DSS26PatrimonioImmobiliare(); break; #endregion #region DSS27 case "DSS27": sezione = new DSS27AltroPatrimonio(); break; #endregion #region DSS31 case "DSS31": if (_dataThread.NumeroIntermediari > 1) sezione = new DSS31PatrimonioFinanziario(); else getDataSection = false; break; #endregion #region DSS32 case "DSS32": sezione = new DSS32PatrimonioFinanziario(); break; #endregion #region DSS36 case "DSS36": //sezione = new DSS36ProfiloRischio(); // Marian getDataSection = false; //sezione = new DSS95ProfiloDiRischio(); break; #endregion #region DSS37 case "DSS37": sezione = new DSS37PiramideModello(); break; #endregion #region DSS42 case "DSS42": sezione = new DSS42RischioDiversificazione(); break; #endregion #region DSS43 case "DSS43": //sezione = new DSS43ProdottiAreeBisogno(); //if (_dataThread.DatiSezione.Tipo == "singleArea") // _dataThread.SingleArea = true; //else // _dataThread.SingleArea = false; break; #endregion #region DSS43BIS case "DSS43BIS": //sezione = new DSS43BISProdottiAreeBisogno(); //((DSS43BISProdottiAreeBisogno)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; //_dataThread.Area = _areaprogettocodice; //_dataThread.Progetto = _nomeprogetto; // Per le aree/progetto che non sono oggetto di monitoraggio stamper� la S43 anzich� la S43BIS if (_areaprogettosottomonitoraggio) { sezione = new DSS43BISProdottiAreeBisogno(); ((DSS43BISProdottiAreeBisogno)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; } else { sezione = new DSS43ProdottiAreeBisogno(); _querySql = "[C6MartPeriodico].PL_S43DettaglioProdottiBF"; _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; if (_areaprogettocodice.ToUpper() == "CC") _vincolo.Add(TipologiaVisualizzazione.SISTAMPA); } break; #endregion #region DSS44 case "DSS44": sezione = new DSS44OperazioniUltimoTrimestre(); break; #endregion #region DSS47 case "DSS47": if (_dataThread.ReportType().TipoReport == TipoReport.DIAGNOSI) getDataSection = false; sezione = new DSS47ContoCorrenteBF(); break; #endregion #region DSS48 case "DSS48": sezione = new DSS48DettaglioProdotti(); break; #endregion #region DSS49 case "DSS49": sezione = new DSS49PolizzeAltriIstituti(); break; #endregion #region DSS50 case "DSS50": sezione = new DSS50FondiAltriIstituti(); break; #endregion #region DSS51 case "DSS51": sezione = new DSS51ContoCorrenteAI(); break; #endregion #region DSS56 case "DSS56": sezione = new DSS56PatrimonioBFAreeBisogno(); break; #endregion #region DSS57 case "DSS57": sezione = new DSS57ConfrontoPiramidi(); dsResult = sezione.getDataSection(_tabelleSessione, _querySql, _dataThread); if (dsResult.Esito == 0) { //NEL CASO IN CUI NON CI SONO I DATI PER LA S57 sezione = new DSS56PatrimonioBFAreeBisogno(); _querySql = "[C6Mart].PL_S56PatrimonioBFAreeBisogno"; } else { getDataSection = false; } break; #endregion #region DSS57BIS case "DSS57BIS": sezione = new DSS57BISConfrontoPiramideAttualeModello(); break; #endregion #region DSS75 case "DSS75": sezione = new DSS75GradoCopertura(); break; #endregion #region DSS76 case "DSS76": sezione = new DSS76PatrimonioNonRappresentabileAssettClass(); break; #endregion #region DSS76BIS case "DSS76BIS": DSS76PatrimonioNonRappresentabileAssettClass s76BIS = new DSS76PatrimonioNonRappresentabileAssettClass(); s76BIS.modalitaRappresentazione = DSS76PatrimonioNonRappresentabileAssettClass.EmodalitaRappresentazione.alternativa; if (_dataThread.TipoReport.ToUpper() == "MONITORAGGIO") { // per il report di monitoraggio fase 2 le sueguenti le 2 propriet� vanno ipostate a true s76BIS.FlagS86 = true; s76BIS.FlagS86BIS = true; } sezione = new DSS76PatrimonioNonRappresentabileAssettClass(); sezione = s76BIS; break; #endregion #region DSS80 case "DSS80": sezione = new DSS80EvoluzionePiramideBisogni(); break; #endregion #region DSS80ALT case "DSS80ALT": sezione = new DSS80Alternativa(); break; #endregion #region DSS80BIS case "DSS80BIS": sezione = new DSS80BISEvoluzioneRischio(); break; #endregion #region DSS82 case "DSS82": if (_areaprogettocodice.ToLower() != "inv") { sezione = new DSS82DatiSintetici(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = string.Empty; ((DSS82DatiSintetici)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; } else getDataSection = false; break; #endregion #region DSS82BIS case "DSS82BIS": if (_areaprogettocodice.ToLower() == "inv") { sezione = new DSS82DatiSinteticiBIS(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; ((DSS82DatiSinteticiBIS)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; } else getDataSection = false; break; #endregion #region DSS83 case "DSS83": //sezione = new DSS83PerformanceArea(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; DataSectionResult dsResultS83 = new DataSectionResult(); DSS83PerformanceArea sezioneS83 = new DSS83PerformanceArea(); ((DSS83PerformanceArea)sezioneS83).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; dsResultS83 = sezioneS83.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_S83DatiRendimento]", _dataThread); if (dsResultS83.Esito > 0) { if (dsResultS83.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); else if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else { if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } return dsResultS83; // break; #endregion #region DSS84 case "DSS84": if (VerificaPresenzaS83()) // stampo la S84 solo se la S83 viene stampata { sezione = new DSS84ControvaloreRisorseApportate(); ((DSS84ControvaloreRisorseApportate)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; } else getDataSection = false; break; #endregion #region DSS85 case "DSS85": //if (VerificaPresenzaS83() || VerificaPresenzaS134BIS()) // stampo la S85 solo se la S83 viene stampata //dsResult.Esito //DataSetS134BIS set = (DataSetS134BIS)dsResult.DatiSezione; if (VerificaPresenzaS134()) { sezione = new DSS85RendimentoPortafoglio(); ((DSS85RendimentoPortafoglio)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; } else getDataSection = false; break; #endregion #region DSS86 case "DSS86": sezione = new DSS86MacroAssetClass(); ((DSS86MacroAssetClass)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; break; #endregion #region DSS88 case "DSS88": sezione = new DSS88PatrimonioNonRappresentabileCalcoloRendimento(); break; #endregion #region DSS93 case "DSS93": // sezione = new DSS93ControvaloreMonitoraggioPatrimonio(); getDataSection = false; break; #endregion #region DSS94 case "DSS94": //sezione = new DSS94RischioMonitoraggioPatrimonio(); getDataSection = false; sezione = new DSS95ProfiloDiRischio(); break; #endregion #region DSS95 case "DSS95": //V remove when it DSS will be implemented sezione = new DSS95ProfiloDiRischio(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS96 case "DSS96": sezione = new DSS96RischioMercatoRischioCredito(); break; #endregion #region DSS96BIS case "DSS96BIS": sezione = new DSS96RischioMercatoRischioCredito(); break; #endregion #region DSS102 case "DSS102": //V remove when it DSS will be implemented sezione = new DSS102DistribuzioneRischioCredito(); _dataThread.Intermediario = IntermediarioSez; //getDataSection = false; break; #endregion #region DSS103 case "DSS103": sezione = new DSS103TabellaEmittenti(); _dataThread.Intermediario = IntermediarioSez; break; #endregion #region DSS128 case "DSS128": //V remove when it DSS will be implemented sezione = new DSS128ProfiliRischioAdeguatezza(); // DSS128ProfiliRischioAdeguatezza s128 = new DSS128ProfiliRischioAdeguatezza(); // dsResult = s128.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS129 case "DSS129": //V remove when it DSS will be implemented sezione = new DSS129Patrimonio(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS130 case "DSS130": //V remove when it DSS will be implemented sezione = new DSS130PrincipaliPosizioni(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS131 case "DSS131": //V remove when it DSS will be implemented sezione = new DSS131ContributoAlRischio(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS132 case "DSS132": //V remove when it DSS will be implemented sezione = new DSS132ProfiloRischioAdeguatezza(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS133 case "DSS133": //V remove when it DSS will be implemented sezione = new DSS133AreeBisognoPrincProd(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS133BIS case "DSS133BIS": //V remove when it DSS will be implemented sezione = new DSS133BISPrincipaliProdotti(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSS134 case "DSS134": //V remove when it DSS will be implemented //sezione = new DSS134MonitoraggioLiquidita();//DSS134MonitoraggioLiquidita(); if ((_areaprogettocodice.ToLower() != "inv") && (_areaprogettocodice.ToLower() != "ris")) { // if (_areaprogettocodice.ToLower() == "inv") //{ //_dataThread.Area = _areaprogettocodice; //_dataThread.Progetto = _nomeprogetto; //} _dataThread.Area = _areaprogettocodice; DSS134MonitoraggioLiquidita sezioneS134 = new DSS134MonitoraggioLiquidita(); ((DSS134MonitoraggioLiquidita)sezioneS134).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; //else // getDataSection = false; DataSectionResult dsResultS134 = new DataSectionResult(); dsResultS134 = sezioneS134.getDataSection(_tabelleSessione, _querySql, _dataThread); if (dsResultS134.Esito > 0) { if (dsResultS134.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") { _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // dsResultS134.Esito = 0; } else if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else { if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } return dsResultS134; } else getDataSection = false; break; #endregion #region DSS135 case "DSS135": //V remove when it DSS will be implemented sezione = new DSS135MonitoraggioInvestimento(); if ((_areaprogettocodice.ToLower() != "inv") && (_areaprogettocodice.ToLower() != "ris")) { if (VerificaPresenzaS134()) // stampo la S84 solo se la S83 viene stampata { sezione = new DSS135MonitoraggioInvestimento(); ((DSS135MonitoraggioInvestimento)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; } else getDataSection = false; } else getDataSection = false; break; #endregion #region DSS134BIS case "DSS134BIS": if (_areaprogettocodice.ToLower() == "inv") { _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; } _dataThread.Area = _areaprogettocodice; sezione = new DSS134BISMonitoraggioLiqInv(); DSS134BISMonitoraggioLiqInv sezioneGraficLeft = new DSS134BISMonitoraggioLiqInv(); if ((_areaprogettocodice.ToLower() == "inv") || (_areaprogettocodice.ToLower() == "ris")) { ((DSS134BISMonitoraggioLiqInv)sezioneGraficLeft).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; //dsResult = sezioneGraficLeft.getDataSectionGraficLeft(_tabelleSessione, "[C6MartPeriodico].PL_MP_S134MonitoraggioLiquidita", _dataThread); dsResult = sezioneGraficLeft.getDataSection(_tabelleSessione, _querySql, _dataThread); if (dsResult.Esito < 5) { sezione = new DSS134MonitoraggioLiquidita(); _codice = "S134"; _querySql = "[C6MartPeriodico].PL_MP_S134MonitoraggioLiquidita"; ((DSS134MonitoraggioLiquidita)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; dsResult = sezione.getDataSection(_tabelleSessione, _querySql, _dataThread); if (dsResult.Esito > 0) { if (dsResult.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") { _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else { if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } } // FC 11/07/2014 aggiunto controllo per vincolo area monitorata senza prodotti che partecipano al calcolo dei rendimenti //Start else { if (dsResult.Esito > 0) { if (dsResult.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") { _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } else { if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); } } // End return dsResult; } else getDataSection = false; break; #endregion #region DSS137 case "DSS137": //V remove when it DSS will be implemented sezione = new DSS137Bonus(); break; #endregion #region DSS138 case "DSS138": //V remove when it DSS will be implemented sezione = new DSS138Proventi(); break; #endregion #region DSS139 case "DSS139": //V remove when it DSS will be implemented sezione = new DSS139Scadenze(); break; #endregion #region DSS140 case "DSS140": //V remove when it DSS will be implemented sezione = new DSS140AnalisiRisparmioCharts(); break; #endregion #region DSS141 case "DSS141": //V remove when it DSS will be implemented sezione = new DSS141AnalisiRisparmioTable(); break; #endregion #region DSS142 case "DSS142": //V remove when it DSS will be implemented sezione = new DSS142DistibuzionePerRating(); break; #endregion #region DSS143 case "DSS143": //V remove when it DSS will be implemented sezione = new DSS143DistibuzionePerEmittente(); break; #endregion #region DSS144 case "DSS144": //V remove when it DSS will be implemented sezione = new DSS144DistibuzionePerScadenze(); break; #endregion #region DSS145 case "DSS145": //V remove when it DSS will be implemented sezione = new DSS145DistibuzionePerTassoRendimento(); break; #endregion #region DSS146 case "DSS146": //V remove when it DSS will be implemented sezione = new DSS146RischioDiversificazione(); break; #endregion #region DSS147 case "DSS147": //V remove when it DSS will be implemented sezione = new DSS147SintesiValute(); break; #endregion #region DSS148 case "DSS148": //V remove when it DSS will be implemented sezione = new DSS148DistribuzioneAssetClass(); break; #endregion #region DSS149 case "DSS149": //V remove when it DSS will be implemented sezione = new DSS149DettaglioProdottiAffluent(); break; #endregion #region DSS150 case "DSS150": //V remove when it DSS will be implemented sezione = new DSS150Anagrafica(); break; #endregion #region DSS151 case "DSS151": //V remove when it DSS will be implemented sezione = new DSS151ProfiloDiRischio(); break; #endregion #region DSS152 case "DSS152": //V remove when it DSS will be implemented sezione = new DSS152PatrimonioComplessivo(); break; #endregion #region DSS153 case "DSS153": if (_dataThread.Patrimoniobancafideuramctv > 0 & _dataThread.Patrimonioterzictv > 0) sezione = new DSS153PatrimonioFinanziario(); else getDataSection = false; break; #endregion #region DSS154 case "DSS154": if (_dataThread.Patrimoniobancafideuramctv > 0 & _dataThread.Patrimonioterzictv > 0) sezione = new DSS154PatrimonioFinanziario(); else getDataSection = false; break; #endregion #region DSS155 case "DSS155": sezione = new DSS155PatrimonioImmobiliare(); break; #endregion #region DSS156 case "DSS156": sezione = new DSS156AltroPatrimonio(); break; #endregion #region DSS157 case "DSS157": sezione = new DSS157ConfrontoPiramideAttualeModello(); break; #endregion #region DSS158 case "DSS158": //V remove when it DSS will be implemented sezione = new DSS158PiramideModello(); break; #endregion #region DSS159 case "DSS159": //V remove when it DSS will be implemented sezione = new DSS159PatrimonioFinanziario(); break; #endregion #region DSS160 case "DSS160": sezione = new DSS160ProdottiAreeBisogno(); //if (_dataThread.DatiSezione.Tipo == "singleArea") // _dataThread.SingleArea = true; //else // _dataThread.SingleArea = false; break; #endregion #region DSS162 case "DSS162": sezione = new DSS162DettaglioProdotti(); break; #endregion #region DSS163 case "DSS163": sezione = new DSS163PatrimonioFinanziario(); break; #endregion #region DSS164 case "DSS164": sezione = new DSS164PolizzeAltriIstituti(); break; #endregion #region DSS165 case "DSS165": sezione = new DSS165FondiAltriIstituti(); break; #endregion #region DSS166 case "DSS166": sezione = new DSS166ContoCorrenteAI(); break; #endregion #region DSS167 case "DSS167": //V remove when it DSS will be implemented sezione = new DSS167DistribuzioneRischioCredito(); _dataThread.Intermediario = IntermediarioSez; //getDataSection = false; break; #endregion #region DSS168 case "DSS168": sezione = new DSS168TabellaEmittenti(); _dataThread.Intermediario = IntermediarioSez; break; #endregion #region DSS169 case "DSS169": sezione = new DSS169RischioMercatoRischioCredito(); break; #endregion #region DSS170 case "DSS170": sezione = new DSS170RischioDiversificazione(); break; #endregion #region DSS171 case "DSS171": sezione = new DSS171PatrimonioNonRappresentabileAssettClass(); break; #endregion #region DSS172 //Adriano 20171109 DataSet per la sezione S172 (Piramide tutela) case "DSS172": sezione = new DSS172ProtezioneCapitaleAreeBisogno(); break; //--Adriano #endregion #region DSS173 //Adriano 20171109 DataSet per la sezione S173 (Dettaglio prodotti a capitale protetto) case "DSS173": sezione = new DSS173DettaglioProdottiProtetti(); break; //--Adriano #endregion #region DSS174 //Adriano 20171109 DataSet per la sezione S174 (Dettaglio Bonus) case "DSS174": sezione = new DSS174DettaglioBonus(); break; //--Adriano #endregion #region DSS175 //Adriano 20171120 DataSet per la sezione S173 (Dettaglio prodotti a capitale protetto) case "DSS175": if (!string.IsNullOrEmpty(_filtrosezione)) sezione = new DSS175DettaglioProdottiProtettiBlueWhite(_filtrosezione); else sezione = new DSS175DettaglioProdottiProtettiBlueWhite(); break; //--Adriano #endregion #region DSS176 //Adriano 20171123 DataSet per la sezione S176 (Evoluzione Linea Protetta Multiramo) case "DSS176": sezione = new DSS176EvoluzioneLineaProtettaMultiramo(); break; //--Adriano #endregion #region DSS177 //MIFID2 20180328 Dataset per la sezione S177 (Profilo di rischio e adeguatezza) case "DSS177": sezione = new DSS177ProfiloDiRischioAdeguatezza(); break; //--MIFID2 #endregion #region DSS178 //MIFID2 20180329 Dataset per la sezione S178 (Indicatore di valutazione adeguatezza) case "DSS178": sezione = new DSS178IndicatoriEsitoAdeguatezza(); break; //--MIFID2 #endregion #region DSS179 //MIFID2 20180403 Dataset per la sezione S179 (Emittenti concentrazione elevata) case "DSS179": sezione = new DSS179EmittentiConcentrazioneAlta(); break; //--MIFID2 #endregion #region DSS180 //MIFID2 20180403 Dataset per la sezione S18 (Prodotti ad alta complessit�) case "DSS180": sezione = new DSS180ProdottiAltaComplessita(); break; //--MIFID2 #endregion #region DSS181 // Analisi di Portafoglio ESG case "DSS181": sezione = new DSS181AnalisiDiPortafoglioESG(); break; #endregion #region DSS182 case "DSS182": sezione = new DSS182DettaglioProdottiESG(); break; #endregion #region DSS183 case "DSS183": sezione = new DSS183DettaglioInvestimentoICapital(); break; #endregion #region DSS184 case "DSS184": sezione = new DSS184TabellaCoerenzaESG(); break; #endregion #region DSS185 case "DSS185": sezione = new DSS185UlterioriCaratteristicheESG(); break; #endregion #region DSS331 case "DSS331": //V remove when it DSS will be implemented sezione = new DSS331AreeBisogno(); //getDataSection = false; break; #endregion #region DSS332 case "DSS332": sezione = new DSS332FviCS80(); break; //V remove when it DSS will be implemented //sezione = new DSS332FviCS80(); ////getDataSection = false; //sezione = new DSS332FviCS80_PARTE2(); //break; #endregion #region DSS333 case "DSS333": //V remove when it DSS will be implemented //sezione = new DSS333Fonditalia80(); DSS333Interfund80(); sezione = new DSS333Fonditalia80(); //getDataSection = false; break; #endregion #region DSS334 case "DSS334": //V remove when it DSS will be implemented //sezione = new DSS334Interfund80(); sezione = new DSS334CrescitaProt80(); //getDataSection = false; break; #endregion #region Remote Advisory #region DSFD10 case "DSFD10": sezione = new DSFD10PatrimonioFinanziario(); break; #endregion #region DSFD25 case "DSFD25": sezione = new DSFD25Anagrafica(); break; #endregion #region DSFD43 case "DSFD43": //sezione = new DSFD43ProdottiAreeBisogno(); //if (_dataThread.DatiSezione.Tipo == "singleArea") // _dataThread.SingleArea = true; //else // _dataThread.SingleArea = false; break; #endregion #region DSFD43BIS case "DSFD43BIS": sezione = new DSFD43BISProdottiAreeBisogno(); // Da Riabilitare //((DSFD43BISProdottiAreeBisogno)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; //_dataThread.Area = _areaprogettocodice; //_dataThread.Progetto = _nomeprogetto; // Per le aree/progetto che non sono oggetto di monitoraggio stamper� la S43 anzich� la S43BIS //if (_areaprogettosottomonitoraggio) //{ // sezione = new DSFD43BISProdottiAreeBisogno(); // ((DSFD43BISProdottiAreeBisogno)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; // _dataThread.Area = _areaprogettocodice; // _dataThread.Progetto = _nomeprogetto; //} //else //{ // sezione = new DSFD43ProdottiAreeBisogno(); // _querySql = "[C6MartPeriodico].PL_S43DettaglioProdottiBF"; // _dataThread.Area = _areaprogettocodice; // _dataThread.Progetto = _nomeprogetto; // if (_areaprogettocodice.ToUpper() == "CC") // _vincolo.Add(TipologiaVisualizzazione.SISTAMPA); //} break; #endregion //#region DSFD76 //case "DSFD76": // sezione = new DSFD76PatrimonioNonRappresentabileAssettClass(); // break; //#endregion //#region DSS76BIS //case "DSS76BIS": // DSS76PatrimonioNonRappresentabileAssettClass s76BIS = new DSS76PatrimonioNonRappresentabileAssettClass(); // s76BIS.modalitaRappresentazione = DSS76PatrimonioNonRappresentabileAssettClass.EmodalitaRappresentazione.alternativa; // if (_dataThread.TipoReport.ToUpper() == "MONITORAGGIO") // { // // per il report di monitoraggio fase 2 le sueguenti le 2 propriet� vanno ipostate a true // s76BIS.FlagS86 = true; // s76BIS.FlagS86BIS = true; // } // sezione = new DSS76PatrimonioNonRappresentabileAssettClass(); // sezione = s76BIS; // break; //#endregion #region DSFD133 case "DSFD133": //V remove when it DSS will be implemented sezione = new DSFD133AreeBisognoPrincProd(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSFD133BIS case "DSFD133BIS": //V remove when it DSS will be implemented sezione = new DSFD133BISPrincipaliProdotti(); // DSS95ProfiloRischio s95 = new DSS95ProfiloRischio(); // dsResult = s95.getDataSection(_parametriReport.DataSectionParameter); break; #endregion #region DSFD134 //case "DSFD134": // //V remove when it DSS will be implemented // //sezione = new DSS134MonitoraggioLiquidita();//DSS134MonitoraggioLiquidita(); // if ((_areaprogettocodice.ToLower() != "inv") && (_areaprogettocodice.ToLower() != "ris")) // { // // if (_areaprogettocodice.ToLower() == "inv") // //{ // //_dataThread.Area = _areaprogettocodice; // //_dataThread.Progetto = _nomeprogetto; // //} // _dataThread.Area = _areaprogettocodice; // DSFD134MonitoraggioLiquidita sezioneFD134 = new DSFD134MonitoraggioLiquidita(); // ((DSFD134MonitoraggioLiquidita)sezioneFD134).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; // //else // // getDataSection = false; // DataSectionResult dsResultS134 = new DataSectionResult(); // dsResultS134 = sezioneFD134.getDataSection(_tabelleSessione, _querySql, _dataThread); // if (dsResultS134.Esito > 0) // { // if (dsResultS134.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") // { // _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // // dsResultS134.Esito = 0; // } // else // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // else // { // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // return dsResultS134; // } // else // getDataSection = false; // break; #endregion #region DSFD134BIS case "DSFD134BIS": if (_areaprogettocodice.ToLower() == "inv") { _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; } _dataThread.Area = _areaprogettocodice; sezione = new DSFD134BISMonitoraggioLiqInv(); DSFD134BISMonitoraggioLiqInv sezioneFDGraficLeft = new DSFD134BISMonitoraggioLiqInv(); //if ((_areaprogettocodice.ToLower() == "inv") || (_areaprogettocodice.ToLower() == "ris")) //{ // ((DSFD134BISMonitoraggioLiqInv)sezioneFDGraficLeft).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; // //dsResult = sezioneGraficLeft.getDataSectionGraficLeft(_tabelleSessione, "[C6MartPeriodico].PL_MP_S134MonitoraggioLiquidita", _dataThread); // dsResult = sezioneFDGraficLeft.getDataSection(_tabelleSessione, _querySql, _dataThread); // if (dsResult.Esito < 5) // { // sezione = new DSFD134MonitoraggioLiquidita(); // _codice = "S134"; // _querySql = "[C6MartPeriodico].PL_MP_S134MonitoraggioLiquidita"; // ((DSS134MonitoraggioLiquidita)sezione).OrdinamentoProgettoPerAreeMonitorate = _ordinamentoProgettoPerAreeMonitorate; // dsResult = sezione.getDataSection(_tabelleSessione, _querySql, _dataThread); // if (dsResult.Esito > 0) // { // if (dsResult.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") // { // _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // else // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // else // { // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // } // // FC 11/07/2014 aggiunto controllo per vincolo area monitorata senza prodotti che partecipano al calcolo dei rendimenti // //Start // else // { // if (dsResult.Esito > 0) // { // if (dsResult.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() == "0,00 €") // { // _vincolo.Add(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // else // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // else // { // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // _vincolo.Remove(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0); // } // } // // End // return dsResult; //} //else // getDataSection = false; break; #endregion #region DSFD147 case "DSFD147": //V remove when it DSS will be implemented sezione = new DSFD147SintesiValute(); break; #endregion #region DSFD148 case "DSFD148": //V remove when it DSS will be implemented sezione = new DSFD148DistribuzioneAssetClass(); break; #endregion #region DSFD150 case "DSFD150": //V remove when it DSS will be implemented sezione = new DSFD150Anagrafica(); break; #endregion #region DSFD151 case "DSFD151": //V remove when it DSS will be implemented sezione = new DSFD151ProfiloDiRischio(); break; #endregion #region DSFD159 case "DSFD159": //V remove when it DSS will be implemented sezione = new DSFD159PatrimonioFinanziario(); break; #endregion #region DSFD160 case "DSFD160": sezione = new DSFD160ProdottiAreeBisogno(); break; #endregion #region DSFD169 case "DSFD169": sezione = new DSFD169RischioMercatoRischioCredito(); break; #endregion #region DSFD170 case "DSFD170": sezione = new DSFD170RischioDiversificazione(); break; #endregion #region DSFD177 //MIFID2 20180328 Dataset per la sezione S177 (Profilo di rischio e adeguatezza) case "DSFD177": sezione = new DSFD177ProfiloDiRischioAdeguatezza(); break; //--MIFID2 #endregion #region DSFD178 //MIFID2 20180329 Dataset per la sezione S178 (Indicatore di valutazione adeguatezza) case "DSFD178": sezione = new DSFD178IndicatoriEsitoAdeguatezza(); break; //--MIFID2 #endregion #region DSFD181 // Analisi di Portafoglio ESG case "DSFD181": sezione = new DSFD181AnalisiDiPortafoglioESG(); break; #endregion #region DSFD190 // PatrimonioFinanziario_PTFRibilanciato - Macro Asset Class case "DSFD190": sezione = new DSFD190PatrimonioFinanziario_PTFRibilanciato(); break; #endregion #region DSFD200 // PatrimonioFinanziario_PTFRibilanciato - Asset Class case "DSFD200": sezione = new DSFD200DistribuzioneAssetClassPortafoglioDirectEvo(); break; #endregion #endregion default: //return false; break; } try { foreach (string notsez in @UtilityManager.getAppSetting("bug").ToString().Split(';')) if (notsez.Equals(_codice)) getDataSection = false; } catch { } if (getDataSection) dsResult = sezione.getDataSection(_tabelleSessione, _querySql, _dataThread); return dsResult; } /// /// Verifica se la S83 contiene dati e se il controvalore monitorato � diverso da 0 /// La presenza della S84 e S85 sono vincolate al fatto che la S83 deve essere stata stampata. /// private bool VerificaPresenzaS83() { DataSectionResult dsResultS83 = new DataSectionResult(); DSS83PerformanceArea sezioneS83 = new DSS83PerformanceArea(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; dsResultS83 = sezioneS83.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_S83DatiRendimento]", _dataThread); if (dsResultS83.Esito > 0) if (dsResultS83.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() != "0,00 €") return true; else return false; else return false; } private bool VerificaPresenzaS134() { DataSectionResult dsResultS134 = new DataSectionResult(); DSS134MonitoraggioLiquidita sezioneS134 = new DSS134MonitoraggioLiquidita(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; dsResultS134 = sezioneS134.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita]", _dataThread); if (dsResultS134.Esito > 0) if (dsResultS134.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() != "0,00 €") return true; else return false; else return false; } private bool VerificaPresenzaS134BIS() { DataSectionResult dsResultS134BIS = new DataSectionResult(); DSS134MonitoraggioLiquidita sezioneS134 = new DSS134MonitoraggioLiquidita(); _dataThread.Area = _areaprogettocodice; _dataThread.Progetto = _nomeprogetto; dsResultS134BIS = sezioneS134.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv]", _dataThread); if (dsResultS134BIS.Esito > 0) //if (dsResultS134.DatiSezione.Tables["Monitoraggio"].Rows[0]["Valore"].ToString().Trim() != "0,00 �") return true; //else // return false; else return false; } private bool VerificaPresenzaS180() { DataSectionResult dsResultS180 = new DataSectionResult(); DSS180ProdottiAltaComplessita sezioneS180 = new DSS180ProdottiAltaComplessita(); if (_dataThread.Periodico) dsResultS180 = sezioneS180.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta]", _dataThread); else dsResultS180 = sezioneS180.getDataSection(_tabelleSessione, "[C6Mart].[PL_D_S180ProdottiComplessitaAlta]", _dataThread); if (dsResultS180.Esito > 0) return true; return false; } private bool VerificaPresenzaS179() { DataSectionResult dsResultS179 = new DataSectionResult(); DSS179EmittentiConcentrazioneAlta sezioneS179 = new DSS179EmittentiConcentrazioneAlta(); if (_dataThread.Periodico) dsResultS179 = sezioneS179.getDataSection(_tabelleSessione, "[C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta]", _dataThread); else dsResultS179 = sezioneS179.getDataSection(_tabelleSessione, "[C6Mart].[PL_D_S179EmittentiConcentrazioneAlta]", _dataThread); if (dsResultS179.Esito > 0) return true; return false; } /// /// Disegna la Sezione. /// Rimpiazza il loadSection. /// /// private void StampaSezione() { _dataThread.SezioneReport = this; logger.Info("StampaSezione S: " + _codice); switch (_codice) { #region S1 case "S1": //_dataThread.Data.DatiSezione.setCodiceRete(_dataThread.Rete); S1 sezione1 = new S1(); //sezione1.setTitolo(_dataThread.DatiSezione.Titolo); //this.t sezione1.writeSezione(_dataThread); break; #endregion #region S2 case "S2": S2 sezione2 = new S2(); //sezione2.setTitolo(_dataThread.DatiSezione.Titolo); //if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezione2.writeSezioneCombo(_dataThread); else sezione2.writeSezione(_dataThread); break; #endregion #region S6 case "S6": S6 sezione6 = new S6(); if (_vincolo.Contains(TipologiaVisualizzazione.TORTA)) sezione6.writeSezione(_dataThread); //else // sezione6.writeSezioneIsto(_dataThread); break; #endregion #region S10 case "S10": S10 sezione10 = new S10(); //sezione10.setTitolo(_dataThread.DatiSezione.Titolo); if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezione10.writeSezioneCombo(_dataThread); else sezione10.writeSezione(_dataThread); break; #endregion #region S18 case "S18": S18 sezione18 = new S18(); sezione18.setLegend(); sezione18.setIndice(); //sezione18.setTitolo(_dataThread.DatiSezione.Titolo); sezione18.writeSezione(_dataThread); break; #endregion #region S23 case "S23": S23 sezione23 = new S23(); //sezione23.setTitolo(_dataThread.DatiSezione.Titolo); if (_dataThread.profiloIsAct) sezione23.writeSezione(_dataThread); else sezione23.writeSezioneSenzaProfilo(_dataThread); break; #endregion #region S25 case "S25": //if (!_dataThread.modalit�Anonima) //{ S25 sezione25 = new S25(); //sezione25.setTitolo(_dataThread.DatiSezione.Titolo); sezione25.writeSezione(_dataThread); //} break; #endregion #region S26 case "S26": S26 sezione26 = new S26(); //sezione26.setTitolo(_dataThread.DatiSezione.Titolo); sezione26.writeSezione(_dataThread); break; #endregion #region S27 case "S27": S27 sezione27 = new S27(); //sezione27.setTitolo(_dataThread.DatiSezione.Titolo); sezione27.writeSezione(_dataThread); break; #endregion #region S31 case "S31": S31 sezione31 = new S31(); //sezione31.setTitolo(_dataThread.DatiSezione.Titolo); if (_vincolo.Contains(TipologiaVisualizzazione.TORTA)) sezione31.writeSezioneTorta(_dataThread); else sezione31.writeSezione(_dataThread); break; #endregion #region S32 case "S32": S32 sezione32 = new S32(); //sezione32.setTitolo(_dataThread.DatiSezione.Titolo); if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezione32.writeSezioneCombo(_dataThread); else sezione32.writeSezione(_dataThread); break; #endregion #region S36 case "S36": //S36 sezione36 = new S36(); //sezione36.writeSezione(_dataThread); // Marian S95 sezione95 = new S95(); if (_dataThread.profiloIsAct) sezione95.writeSezione(_dataThread); break; #endregion #region S37 case "S37": S37 sezione37 = new S37(); //sezione37.setTitolo(_dataThread.DatiSezione.Titolo); sezione37.writeSezione(_dataThread); break; #endregion #region S42 case "S42": S42 sezione42 = new S42(); ////sezione37.setTitolo(_dataThread.DatiSezione.Titolo); sezione42.TestoIntroduttivo = TestoIntroduttivo; sezione42.TestoTitolo = Titolo; //sezione42.setTitolo("Set titolo"); sezione42.writeSezione(_dataThread); break; #endregion #region S43 case "S43": S43 sezione43 = new S43(); sezione43.writeSezione(_dataThread); break; #endregion #region S43BIS case "S43BIS": /* * Liq -> S43 * Ris -> S43Bis * Pre -> S43 * Inv -> S43Bis */ // Per le aree/progetto che non sono oggetto di monitoraggio stamper� la S43 anzich� la S43BIS if (_areaprogettosottomonitoraggio) { S43BIS sezioneS43BIS = new S43BIS(); sezioneS43BIS.VersatoNetto_UtilePerdita = false; sezioneS43BIS.setTitolo(_titolo); sezioneS43BIS.Area = _areaprogettocodice; sezioneS43BIS.Progetto = _nomeprogetto; sezioneS43BIS.writeSezione(_dataThread); } else { S43 sezione43AreaProgettoNonMonitorata = new S43(); //sezione43AreaProgettoNonMonitorata.TitoloSezione = _titolo; sezione43AreaProgettoNonMonitorata.Area = _areaprogettocodice; sezione43AreaProgettoNonMonitorata.Progetto = _nomeprogetto; //_dataThread.Area = _areaprogettocodice; //_dataThread.Progetto = _nomeprogetto; //sezione43AreaProgettoNonMonitorata.Area = _areaprogettocodice; //sezione43AreaProgettoNonMonitorata.Progetto = _nomeprogetto; sezione43AreaProgettoNonMonitorata.OrdinamentoProgetto = _ordinamentoProgettoPerAreeMonitorate.ToString(); if (_areaprogettocodice.ToLower() == "cc") { if (_areaprogettocodice.ToLower() != LastArea) { sezione43AreaProgettoNonMonitorata.MostraTitoloSezione = false; LastArea = _areaprogettocodice.ToLower(); sezione43AreaProgettoNonMonitorata.writeSezione(_dataThread); NuovaPaginaDopo = false; } } else { if (_areaprogettocodice.ToLower() == "na") sezione43AreaProgettoNonMonitorata.MostraTitoloSezione = false; sezione43AreaProgettoNonMonitorata.writeSezione(_dataThread); } } break; #endregion #region S44 case "S44": S44 sezione44 = new S44(); sezione44.setTitolo(_titolo); sezione44.TestoIntroduttivo = _testoIntroduttivo; sezione44.writeSezione(_dataThread); break; #endregion #region S47 case "S47": S47 sezione47 = new S47(); //sezione47.setTitolo(_dataThread.DatiSezione.Titolo); if (_dataThread.ReportType().TipoReport != TipoReport.DIAGNOSI) sezione47.writeSezione(_dataThread); break; #endregion #region S48 case "S48": S48 sezione48 = new S48(); //sezione48.setTitolo(_dataThread.DatiSezione.Titolo); sezione48.writeSezione(_dataThread); break; #endregion #region S49 case "S49": S49 sezione49 = new S49(); //sezione49.setTitolo(_dataThread.DatiSezione.Titolo); sezione49.writeSezione(_dataThread); break; #endregion #region S50 case "S50": S50 sezione50 = new S50(); //sezione50.setTitolo(_dataThread.DatiSezione.Titolo); sezione50.writeSezione(_dataThread); break; #endregion #region S51 case "S51": S51 sezione51 = new S51(); //sezione51.setTitolo(_dataThread.DatiSezione.Titolo); sezione51.writeSezione(_dataThread); break; #endregion #region S56 case "S56": S56 sezione56 = new S56(); //sezione56.setTitolo(_dataThread.DatiSezione.Titolo); sezione56.writeSezione(_dataThread); break; #endregion #region S57 case "S57": DataSetS57 ds57 = new DataSetS57(); if (_dataThread.Data.DatiSezione.GetType() == ds57.GetType()) { S57 sezione57 = new S57(); //sezione57.setTitolo(_dataThread.DatiSezione.Titolo); sezione57.writeSezione(_dataThread); } else { //NEL CASO IN CUI NON CI SONO I DATI PER LA S57 sezione56 = new S56(); //sezione56.setTitolo("Piramide attuale con rischio relativo"); sezione56.writeSezione(_dataThread); } break; #endregion #region S57BIS case "S57BIS": S57BIS sezione57BIS = new S57BIS(); sezione57BIS.TestoTitolo = _titolo; sezione57BIS.TestoIntroduttivo = _testoIntroduttivo; sezione57BIS.writeSezione(_dataThread); break; #endregion #region S75 case "S75": S75 sezione75 = new S75(); //sezione75.setTitolo(_dataThread.DatiSezione.Titolo); //if (_dataThread.DatiSezione.Tipo == "combo" || _reportType.Descrizione != "DIAGNOSI") sezione75.writeSezione(_dataThread); break; #endregion #region S76 case "S76": S76 sezione76 = new S76(); sezione76.modalitaRappresentazione = S76.EmodalitaRappresentazione.alternativa; sezione76.setTitolo(_titolo); sezione76.TestoIntroduttivo = _testoIntroduttivo; sezione76.writeSezione(_dataThread); break; #endregion #region S76BIS case "S76BIS": S76 sezione76BIS = new S76(S76.EmodalitaRappresentazione.alternativa); sezione76BIS.setTitolo(_titolo); sezione76BIS.TestoIntroduttivo = _testoIntroduttivo; sezione76BIS.writeSezione(_dataThread); break; #endregion #region S80ALT case "S80ALT": S80ALT sezione80ALT = new S80ALT(); sezione80ALT.setTitolo(_titolo); sezione80ALT.TestoIntroduttivo = _testoIntroduttivo; sezione80ALT.writeSezione(_dataThread); break; #endregion #region S80 case "S80": S80 sezione80 = new S80(); sezione80.setTitolo(_titolo); sezione80.TestoIntroduttivo = _testoIntroduttivo; sezione80.writeSezione(_dataThread); break; #endregion #region S80BIS case "S80BIS": S80BIS sezione80BIS = new S80BIS(); sezione80BIS.setTitolo(_titolo); sezione80BIS.TestoIntroduttivo = _testoIntroduttivo; sezione80BIS.writeSezione(_dataThread); break; #endregion #region S82 case "S82": S82 sezione82 = new S82(); sezione82.setTitolo(_titolo); sezione82.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); sezione82.writeSezione(_dataThread); break; #endregion #region S82BIS case "S82BIS": S82BIS sezione82BIS = new S82BIS(); sezione82BIS.setTitolo(_titolo); if (_areaprogettocodice.ToLower() == "inv") { if (_nomeprogetto.ToLower() == "progetto investimento" && _numeroprogettiinvestimento == 1) sezione82BIS.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); else sezione82BIS.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivoAlternativo, this, true); } else sezione82BIS.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); sezione82BIS.writeSezione(_dataThread); break; #endregion #region S83 case "S83": S83 sezione83 = new S83(); sezione83.HasSelectedPatrimNonRap = true; sezione83.setTitolo(_titolo); if (_areaprogettocodice.ToLower() == "inv") { if (_nomeprogetto.ToLower() == "progetto investimento" && _numeroprogettiinvestimento == 1) sezione83.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); else sezione83.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivoAlternativo, this, true); } else sezione83.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) { sezione83.TestoIntroduttivo = "I prodotti presenti in quest'area/progetto non contribuiscono al calcolo del rendimento. Il dettaglio viene fornito nel capitolo ''Patrimonio non rappresentabile.''"; sezione83.writeSezioneFormatoSoloTesto(_dataThread); } else sezione83.writeSezione(_dataThread); break; #endregion #region S84 case "S84": S84 sezione84 = new S84(); sezione84.setTitolo(_titolo); sezione84.TestoIntroduttivo = _testoIntroduttivo; sezione84.writeSezione(_dataThread); break; #endregion #region S85 case "S85": S85 sezione85 = new S85(); sezione85.setTitolo(_titolo); sezione85.TestoIntroduttivo = _testoIntroduttivo; sezione85.writeSezione(_dataThread); break; #endregion #region S86 case "S86": S86 sezione86 = new S86(); //if (_vincolo.Contains(TipologiaVisualizzazione.NOTA_DETTAGLIO_PATRIM_NONRAPP_ASSET)) sezione86.HasSelectedPatrimNonRap = true; sezione86.setTitolo(_titolo); sezione86.Header = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, this); sezione86.writeSezione(_dataThread); break; #endregion #region S88 case "S88": S88 sezione88 = new S88(); sezione88.setTitolo(_titolo); sezione88.StampaAreaProgetto = true; sezione88.TestoIntroduttivo = _testoIntroduttivo; sezione88.writeSezione(_dataThread); break; #endregion #region S93 //case "S93": // S93 sezione93 = new S93(); // sezione93.setTitolo(_titolo); // sezione93.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, _dataThread); // sezione93.writeSezione(_dataThread); // break; #endregion #region S94 case "S94": //S94 sezione94 = new S94(); //sezione94.setTitolo(_titolo); //sezione94.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, _dataThread); //sezione94.writeSezione(_dataThread); // Marian //sezione95Monitoring.setTitolo(_titolo); //sezione95Monitoring.TestoIntroduttivo = UtilityBusinessLayer.ReplaceVariables(_testoIntroduttivo, _dataThread); //S95 sezione95Monitoring = new S95(); //if (_dataThread.profiloIsAct) // sezione95Monitoring.writeSezione(_dataThread); break; #endregion #region S95 case "S95": S95 sezione95Monitoring = new S95(); if (_dataThread.profiloIsAct) sezione95Monitoring.writeSezione(_dataThread); break; #endregion #region S96Bis case "S96BIS": S96 sezione96b = new S96(); //_parametriReport.DatiSezione.setParam(_parametriReport.DataSectionParameter); sezione96b.Titolo = _titolo; sezione96b.TestoIntroduttivo = _testoIntroduttivo;//ReplaceVariables(_testoIntroduttivo); sezione96b.writeSezione(_dataThread); break; #endregion #region S96 case "S96": S96 sezione96 = new S96(); //_parametriReport.DatiSezione.setParam(_parametriReport.DataSectionParameter); //sezione96.Titolo = _titolo; sezione96.TestoIntroduttivo = _testoIntroduttivo;//ReplaceVariables(_testoIntroduttivo); sezione96.writeSezione(_dataThread); break; #endregion #region S102 case "S102": S102 sezioneS102 = new S102(); sezioneS102.Titolo = _titolo; sezioneS102.TestoIntroduttivo = _testoIntroduttivo; sezioneS102.writeSezione(_dataThread); break; #endregion #region S103 case "S103": S103 sezione103 = new S103(); //sezioneS103.Titolo = _titolo; sezione103.TestoIntroduttivo = _testoIntroduttivo; sezione103.writeSezione(_dataThread); break; #endregion #region S128 case "S128": S128 sezione128Monitoring = new S128(); if (_dataThread.profiloIsAct) sezione128Monitoring.writeSezione(_dataThread); break; #endregion #region S129 case "S129": S129 sezione129Monitoring = new S129(); if (_dataThread.profiloIsAct) sezione129Monitoring.writeSezione(_dataThread); break; #endregion #region S130 case "S130": S130 sezione130Monitoring = new S130(); if (_dataThread.profiloIsAct) sezione130Monitoring.writeSezione(_dataThread); break; #endregion #region S131 case "S131": S131 sezione131Monitoring = new S131(); if (_dataThread.profiloIsAct) sezione131Monitoring.writeSezione(_dataThread); break; #endregion #region S132 case "S132": S132 sezione132Monitoring = new S132(); if (_dataThread.profiloIsAct) sezione132Monitoring.writeSezione(_dataThread); break; #endregion #region S133 case "S133": S133 sezione133 = new S133(); if (_dataThread.profiloIsAct) sezione133.writeSezione(_dataThread); break; #endregion #region S133BIS case "S133BIS": S133BIS sezione133BIS = new S133BIS(); if (_dataThread.profiloIsAct) sezione133BIS.writeSezione(_dataThread); break; #endregion #region S134 case "S134": S134 sezione134Monitoring = new S134(); sezione134Monitoring.HasSelectedPatrimNonRap = true; //if (_dataThread.profiloIsAct) // sezione134Monitoring.writeSezione(_dataThread); if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) { sezione134Monitoring.TestoIntroduttivo = "I prodotti presenti in quest'area/progetto non contribuiscono al calcolo del rendimento. Il dettaglio viene fornito nel capitolo ''Patrimonio non rappresentabile.''"; sezione134Monitoring.writeSezioneFormatoSoloTesto(_dataThread); } else sezione134Monitoring.writeSezione(_dataThread); break; #endregion #region S135 case "S135": S135 sezione135Monitoring = new S135(); if (_dataThread.profiloIsAct) sezione135Monitoring.writeSezione(_dataThread); break; #endregion #region S134BIS case "S134BIS": //if ((_areaprogettocodice.ToLower() == "inv") || (_areaprogettocodice.ToLower() == "ris")) //{ // FC 11/07/2014 Commento di Bkup //S134BIS sezione134BISMonitoringLiqInv = new S134BIS(); //sezione134BISMonitoringLiqInv.HasSelectedPatrimNonRap = true; //if (_dataThread.profiloIsAct) // //sezione134BISMonitoringLiqInv.writeSezioneGraficLeft(_dataThread); // sezione134BISMonitoringLiqInv.writeSezione(_dataThread); // FC 11/07/2014 //Start S134BIS sezione134BISMonitoringLiqInv = new S134BIS(); sezione134BISMonitoringLiqInv.HasSelectedPatrimNonRap = true; if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) { sezione134BISMonitoringLiqInv.TestoIntroduttivo = "I prodotti presenti in quest'area/progetto non contribuiscono al calcolo del rendimento. Il dettaglio viene fornito nel capitolo ''Patrimonio non rappresentabile.''"; sezione134BISMonitoringLiqInv.writeSezioneFormatoSoloTesto(_dataThread); } else { if (_dataThread.profiloIsAct) sezione134BISMonitoringLiqInv.writeSezione(_dataThread); } // END //} break; #endregion #region S137 case "S137": //Adriano 20171104 Commentato perch� la sezione bonus verr� messa come nuovo capitolo //S137 sezione137Bonus = new S137(); //if (_dataThread.profiloIsAct) // sezione137Bonus.writeSezione(_dataThread); //--Adriano break; #endregion #region S138 case "S138": S138 sezione138Proventi = new S138(); if (_dataThread.profiloIsAct) sezione138Proventi.writeSezione(_dataThread); break; #endregion #region S139 case "S139": S139 sezione139Scadenze = new S139(); if (_dataThread.profiloIsAct) sezione139Scadenze.writeSezione(_dataThread); break; #endregion #region S140 case "S140": S140 sezione140 = new S140(); if (_dataThread.profiloIsAct) sezione140.writeSezione(_dataThread); break; #endregion #region S141 case "S141": S141 sezione141 = new S141(); if (_dataThread.profiloIsAct) sezione141.writeSezione(_dataThread); break; #endregion #region S142 case "S142": S142 sezione142 = new S142(); if (_dataThread.profiloIsAct) sezione142.writeSezione(_dataThread); break; #endregion #region S143 case "S143": S143 sezione143 = new S143(); if (_dataThread.profiloIsAct) sezione143.writeSezione(_dataThread); break; #endregion #region S144 case "S144": S144 sezione144 = new S144(); if (_dataThread.profiloIsAct) sezione144.writeSezione(_dataThread); break; #endregion #region S145 case "S145": S145 sezione145 = new S145(); if (_dataThread.profiloIsAct) sezione145.writeSezione(_dataThread); break; #endregion #region S146 case "S146": S146 sezione146 = new S146(); if (_dataThread.profiloIsAct) sezione146.writeSezione(_dataThread); break; #endregion #region S147 case "S147": S147 sezione147 = new S147(); if (_dataThread.profiloIsAct) sezione147.writeSezione(_dataThread); break; #endregion #region S148 case "S148": S148 sezione148 = new S148(); if (_dataThread.profiloIsAct) sezione148.writeSezione(_dataThread); break; #endregion #region S149 case "S149": S149 sezione149 = new S149(); if (_dataThread.profiloIsAct) sezione149.writeSezione(_dataThread); break; #endregion #region S150 case "S150": S150 sezione150 = new S150(); if (_dataThread.profiloIsAct) sezione150.writeSezione(_dataThread); break; #endregion #region S151 case "S151": S151 sezione151 = new S151(); if (_dataThread.profiloIsAct) sezione151.writeSezione(_dataThread); break; #endregion #region S152 case "S152": S152 sezione152 = new S152(); if (_dataThread.profiloIsAct) sezione152.writeSezione(_dataThread); break; #endregion #region S153 case "S153": S153 sezione153 = new S153(); //if (_vincolo.Contains(TipologiaVisualizzazione.TORTA)) sezione153.writeSezione(_dataThread); break; #endregion #region S154 case "S154": S154 sezione154 = new S154(); //sezione2.setTitolo(_dataThread.DatiSezione.Titolo); //if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) // sezione154.writeSezioneCombo(_dataThread); //else sezione154.writeSezione(_dataThread); break; #endregion #region S155 case "S155": S155 sezione155 = new S155(); //sezione26.setTitolo(_dataThread.DatiSezione.Titolo); sezione155.writeSezione(_dataThread); break; #endregion #region S156 case "S156": S156 sezione156 = new S156(); //sezione27.setTitolo(_dataThread.DatiSezione.Titolo); sezione156.writeSezione(_dataThread); break; #endregion #region S157 case "S157": S157 sezione157 = new S157(); sezione157.TestoTitolo = _titolo; sezione157.TestoIntroduttivo = _testoIntroduttivo; sezione157.writeSezione(_dataThread); break; #endregion #region S158 case "S158": S158 sezione158 = new S158(); if (_dataThread.profiloIsAct) sezione158.writeSezione(_dataThread); break; #endregion #region S159 case "S159": S159 sezione159 = new S159(); if (_dataThread.profiloIsAct) sezione159.writeSezione(_dataThread); break; #endregion #region S160 case "S160": S160 sezione160 = new S160(); sezione160.writeSezione(_dataThread); break; #endregion #region S162 case "S162": S162 sezione162 = new S162(); //sezione48.setTitolo(_dataThread.DatiSezione.Titolo); sezione162.writeSezione(_dataThread); break; #endregion #region S163 case "S163": S163 sezione163 = new S163(); //sezione32.setTitolo(_dataThread.DatiSezione.Titolo); if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezione163.writeSezioneCombo(_dataThread); else sezione163.writeSezione(_dataThread); break; #endregion #region S164 case "S164": S164 sezione164 = new S164(); //sezione49.setTitolo(_dataThread.DatiSezione.Titolo); sezione164.writeSezione(_dataThread); break; #endregion #region S165 case "S165": S165 sezione165 = new S165(); //sezione50.setTitolo(_dataThread.DatiSezione.Titolo); sezione165.writeSezione(_dataThread); break; #endregion #region S166 case "S166": S166 sezione166 = new S166(); //sezione51.setTitolo(_dataThread.DatiSezione.Titolo); sezione166.writeSezione(_dataThread); break; #endregion #region S167 case "S167": S167 sezioneS167 = new S167(); sezioneS167.Titolo = _titolo; sezioneS167.TestoIntroduttivo = _testoIntroduttivo; sezioneS167.writeSezione(_dataThread); break; #endregion #region S168 case "S168": S168 sezione168 = new S168(); //sezioneS103.Titolo = _titolo; sezione168.TestoIntroduttivo = _testoIntroduttivo; sezione168.writeSezione(_dataThread); break; #endregion #region S169 case "S169": S169 sezione169 = new S169(); //_parametriReport.DatiSezione.setParam(_parametriReport.DataSectionParameter); //sezione96.Titolo = _titolo; sezione169.TestoIntroduttivo = _testoIntroduttivo;//ReplaceVariables(_testoIntroduttivo); sezione169.writeSezione(_dataThread); break; #endregion #region S170 case "S170": S170 sezione170 = new S170(); ////sezione37.setTitolo(_dataThread.DatiSezione.Titolo); sezione170.TestoIntroduttivo = TestoIntroduttivo; //sezione170.TestoTitolo = Titolo; //sezione42.setTitolo("Set titolo"); sezione170.writeSezione(_dataThread); break; #endregion #region S171 case "S171": S171 sezione171 = new S171(); sezione171.modalitaRappresentazione = S171.EmodalitaRappresentazione.alternativa; sezione171.setTitolo(_titolo); sezione171.TestoIntroduttivo = _testoIntroduttivo; sezione171.writeSezione(_dataThread); break; #endregion #region S172 //Adriano 20171110 richiama scheda S172 per la piramide tutela Capitale protetto case "S172": if (_dataThread.profiloIsAct) { S172 sezione172 = new S172(); sezione172.writeSezione(_dataThread); } break; //--Adriano #endregion #region S173 //Adriano 20171110 richiama scheda S173 per il dettaglio prodotti a Capitale protetto case "S173": if (_dataThread.profiloIsAct) { S173 sezioneS173 = new S173(); sezioneS173.writeSezione(_dataThread); } break; //--Adriano #endregion #region S174 case "S174": //Adriano 20171110 richiama scheda S174 per il dettaglio Bonus if (_dataThread.profiloIsAct) { S174 sezioneS174 = new S174(); sezioneS174.writeSezione(_dataThread); } break; //--Adriano #endregion #region S175 //Adriano 20171110 richiama scheda S173 per il dettaglio prodotti a Capitale protetto case "S175": if (_dataThread.profiloIsAct) { S175 sezioneS175 = new S175(); sezioneS175.writeSezione(_dataThread); } break; //--Adriano #endregion #region S176 //Adriano 20171123 richiama scheda S176 per l'evoluzione linea protetta multiramo case "S176": if (_dataThread.profiloIsAct) { S176 sezioneS176 = new S176(); sezioneS176.writeSezione(_dataThread); } break; //--Adriano #endregion #region S177 // MIFID2 20180328 richiama scheda S177 per il profilo di rischio e adeguatezza case "S177": S177 sezione177 = new S177(); if (_dataThread.profiloIsAct) sezione177.writeSezione(_dataThread); break; // --MIFID2 #endregion #region S178 // MIFID2 20180329 richiama scheda S178 per indicatori di valutazione case "S178": S178 sezione178 = new S178(); if (_dataThread.profiloIsAct) sezione178.writeSezione(_dataThread); break; // --MIFID2 #endregion #region S179 // MIFID2 20180403 richiama scheda S179 per emittenti concentrazione elevata case "S179": S179 sezione179 = new S179(); if (_dataThread.profiloIsAct) sezione179.writeSezione(_dataThread); break; // --MIFID2 #endregion #region S180 // MIFID2 20180403 richiama scheda S180 per prodotti ad alta complessit� case "S180": S180 sezioneS180 = new S180(); if (_dataThread.profiloIsAct) //sezioneS180.writeSezione(_dataThread); sezioneS180.writeSezioneNew(_dataThread); break; // --MIFID2 #endregion #region S181 /* ESG - Analisi di Portafoglio - Pino*/ case "S181": S181 sezione181 = new S181(); sezione181.setTitolo(_titolo); sezione181.TestoIntroduttivo = _testoIntroduttivo; sezione181.TestoAlternativo = _testoIntroduttivoAlternativo; sezione181.writeSezione(_dataThread); break; #endregion #region S182 case "S182": S182 sezione182 = new S182(); sezione182.setTitolo(_titolo); sezione182.TestoIntroduttivo = _testoIntroduttivo; sezione182.writeSezione(_dataThread); break; #endregion #region S183 case "S183": S183 sezione183 = new S183(); //sezione183.TestoTitolo = _titolo; sezione183.TestoIntroduttivo = _testoIntroduttivo; sezione183.writeSezione(_dataThread); break; #endregion #region S184 case "S184": S184 sezione184 = new S184(); //sezione183.TestoTitolo = _titolo; //sezione184.TestoIntroduttivo = _testoIntroduttivo; sezione184.writeSezione(_dataThread); break; #endregion #region S185 case "S185": S185 sezione185 = new S185(); sezione185.TestoTitolo = _titolo; sezione185.TestoIntroduttivo = _testoIntroduttivo; sezione185.writeSezione(_dataThread); break; #endregion #region S331 case "S331": S331 sezione331Monitoring = new S331(); if (_dataThread.profiloIsAct) sezione331Monitoring.writeSezione(_dataThread); break; #endregion #region S332 case "S332": S332 sezione3 = new S332(); //sezione2.setTitolo(_dataThread.DatiSezione.Titolo); //if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezione3.writeSezioneCombo(_dataThread); else sezione3.writeSezione(_dataThread); break; #endregion #region S333 case "S333": S333 sezione333Monitoring = new S333(); if (_dataThread.profiloIsAct) sezione333Monitoring.writeSezione(_dataThread); break; #endregion #region S334 case "S334": S334 sezione334Monitoring = new S334(); if (_dataThread.profiloIsAct) sezione334Monitoring.writeSezione(_dataThread); break; #endregion #region Remote Advisory #region FD10 case "FD10": FD10 sezioneFD10 = new FD10(); //sezione10.setTitolo(_dataThread.DatiSezione.Titolo); if (_vincolo.Contains(TipologiaVisualizzazione.DOPPIA)) sezioneFD10.writeSezioneCombo(_dataThread); else sezioneFD10.writeSezione(_dataThread); break; #endregion #region FD25 case "FD25": //if (!_dataThread.modalit�Anonima) //{ FD25 sezioneFD25 = new FD25(); //sezione25.setTitolo(_dataThread.DatiSezione.Titolo); sezioneFD25.writeSezione(_dataThread); //} break; #endregion #region FD43 //case "FD43": // FD43 sezioneFD43 = new FD43(); // sezioneFD43.writeSezione(_dataThread); // break; #endregion #region FD43BIS case "FD43BIS": FD43BIS sezioneFD43BIS = new FD43BIS(); //sezioneFD43BIS.VersatoNetto_UtilePerdita = false; //sezioneFD43BIS.setTitolo(_titolo); sezioneFD43BIS.Area = _areaprogettocodice; //sezioneFD43BIS.Progetto = _nomeprogetto; //sezioneFD43BIS.writeSezione(_dataThread); sezioneFD43BIS.writeSezioneFD(_dataThread); /* * Liq -> S43 * Ris -> S43Bis * Pre -> S43 * Inv -> S43Bis */ //Per le aree / progetto che non sono oggetto di monitoraggio stamper� la S43 anzich� la S43BIS //if (_areaprogettosottomonitoraggio) //{ // FD43BIS sezioneFD43BIS = new FD43BIS(); // sezioneFD43BIS.VersatoNetto_UtilePerdita = false; // sezioneFD43BIS.setTitolo(_titolo); // sezioneFD43BIS.Area = _areaprogettocodice; // sezioneFD43BIS.Progetto = _nomeprogetto; // sezioneFD43BIS.writeSezione(_dataThread); //} //else //{ // FD43 sezioneFD43AreaProgettoNonMonitorata = new FD43(); // //sezione43AreaProgettoNonMonitorata.TitoloSezione = _titolo; // sezioneFD43AreaProgettoNonMonitorata.Area = _areaprogettocodice; // sezioneFD43AreaProgettoNonMonitorata.Progetto = _nomeprogetto; // //_dataThread.Area = _areaprogettocodice; // //_dataThread.Progetto = _nomeprogetto; // //sezione43AreaProgettoNonMonitorata.Area = _areaprogettocodice; // //sezione43AreaProgettoNonMonitorata.Progetto = _nomeprogetto; // sezioneFD43AreaProgettoNonMonitorata.OrdinamentoProgetto = _ordinamentoProgettoPerAreeMonitorate.ToString(); // if (_areaprogettocodice.ToLower() == "cc") // { // if (_areaprogettocodice.ToLower() != LastArea) // { // sezioneFD43AreaProgettoNonMonitorata.MostraTitoloSezione = false; // LastArea = _areaprogettocodice.ToLower(); // sezioneFD43AreaProgettoNonMonitorata.writeSezione(_dataThread); // NuovaPaginaDopo = false; // } // } // else // { // if (_areaprogettocodice.ToLower() == "na") // sezioneFD43AreaProgettoNonMonitorata.MostraTitoloSezione = false; // sezioneFD43AreaProgettoNonMonitorata.writeSezione(_dataThread); // } //} break; #endregion //#region FD76 //case "FD76": // FD76 sezioneFD76 = new FD76(); // sezioneFD76.modalitaRappresentazione = FD76.EmodalitaRappresentazione.alternativa; // sezioneFD76.setTitolo(_titolo); // sezioneFD76.TestoIntroduttivo = _testoIntroduttivo; // sezioneFD76.writeSezione(_dataThread); // break; //#endregion //#region S76BIS //case "S76BIS": // S76 sezione76BIS = new S76(S76.EmodalitaRappresentazione.alternativa); // sezione76BIS.setTitolo(_titolo); // sezione76BIS.TestoIntroduttivo = _testoIntroduttivo; // sezione76BIS.writeSezione(_dataThread); // break; //#endregion #region FD133 case "FD133": FD133 sezioneFD133 = new FD133(); if (_dataThread.profiloIsAct) sezioneFD133.writeSezione(_dataThread); break; #endregion #region FD133BIS case "FD133BIS": FD133BIS sezioneFD133BIS = new FD133BIS(); if (_dataThread.profiloIsAct) { sezioneFD133BIS.setTitolo(_titolo); sezioneFD133BIS.TestoIntroduttivo = _testoIntroduttivo; sezioneFD133BIS.writeSezione(_dataThread); } break; #endregion #region FD134 //case "FD134": // FD134 sezioneFD134Monitoring = new FD134(); // sezioneFD134Monitoring.HasSelectedPatrimNonRap = true; // //if (_dataThread.profiloIsAct) // // sezione134Monitoring.writeSezione(_dataThread); // if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) // { // sezioneFD134Monitoring.TestoIntroduttivo = "I prodotti presenti in quest'area/progetto non contribuiscono al calcolo del rendimento. Il dettaglio viene fornito nel capitolo ''Patrimonio non rappresentabile.''"; // sezioneFD134Monitoring.writeSezioneFormatoSoloTesto(_dataThread); // } // else // sezioneFD134Monitoring.writeSezione(_dataThread); // break; #endregion #region FD134BIS case "FD134BIS": //if ((_areaprogettocodice.ToLower() == "inv") || (_areaprogettocodice.ToLower() == "ris")) //{ // FC 11/07/2014 Commento di Bkup //S134BIS sezione134BISMonitoringLiqInv = new S134BIS(); //sezione134BISMonitoringLiqInv.HasSelectedPatrimNonRap = true; //if (_dataThread.profiloIsAct) // //sezione134BISMonitoringLiqInv.writeSezioneGraficLeft(_dataThread); // sezione134BISMonitoringLiqInv.writeSezione(_dataThread); // FC 11/07/2014 //Start FD134BIS sezioneFD134BISMonitoringLiqInv = new FD134BIS(); sezioneFD134BISMonitoringLiqInv.HasSelectedPatrimNonRap = true; if (_vincolo.Contains(TipologiaVisualizzazione.AREA_MONITORATA_CON_CONTROVOLORE_0)) { sezioneFD134BISMonitoringLiqInv.TestoIntroduttivo = "I prodotti presenti in quest'area/progetto non contribuiscono al calcolo del rendimento. Il dettaglio viene fornito nel capitolo ''Patrimonio non rappresentabile.''"; sezioneFD134BISMonitoringLiqInv.writeSezioneFormatoSoloTesto(_dataThread); } else { if (_dataThread.profiloIsAct) sezioneFD134BISMonitoringLiqInv.writeSezione(_dataThread); } // END //} break; #endregion #region FD147 case "FD147": FD147 sezioneFD147 = new FD147(); if (_dataThread.profiloIsAct) sezioneFD147.writeSezione(_dataThread); break; #endregion #region FD148 case "FD148": FD148 sezioneFD148 = new FD148(); if (_dataThread.profiloIsAct) sezioneFD148.writeSezione(_dataThread); break; #endregion #region FD150 case "FD150": FD150 sezioneFD150 = new FD150(); if (_dataThread.profiloIsAct) sezioneFD150.writeSezione(_dataThread); break; #endregion #region FD151 case "FD151": FD151 sezioneFD151 = new FD151(); if (_dataThread.profiloIsAct) sezioneFD151.writeSezione(_dataThread); break; #endregion #region FD159 case "FD159": FD159 sezioneFD159 = new FD159(); if (_dataThread.profiloIsAct) sezioneFD159.writeSezione(_dataThread); break; #endregion #region FD160 case "FD160": FD160 sezioneFD160 = new FD160(); sezioneFD160.writeSezione(_dataThread); break; #endregion #region FD169 case "FD169": FD169 sezioneFD169 = new FD169(); //_parametriReport.DatiSezione.setParam(_parametriReport.DataSectionParameter); //sezione96.Titolo = _titolo; sezioneFD169.TestoIntroduttivo = _testoIntroduttivo;//ReplaceVariables(_testoIntroduttivo); sezioneFD169.writeSezione(_dataThread); break; #endregion #region FD170 case "FD170": FD170 sezioneFD170 = new FD170(); ////sezione37.setTitolo(_dataThread.DatiSezione.Titolo); sezioneFD170.TestoIntroduttivo = TestoIntroduttivo; sezioneFD170.TestoTitolo = Titolo; //sezione42.setTitolo("Set titolo"); sezioneFD170.writeSezione(_dataThread); break; #endregion #region FD177 // MIFID2 20180328 richiama scheda FD177 per il profilo di rischio e adeguatezza case "FD177": FD177 sezioneFD177 = new FD177(); if (_dataThread.profiloIsAct) sezioneFD177.writeSezione(_dataThread); break; // --MIFID2 #endregion #region FD178 // MIFID2 20180329 richiama scheda S178 per indicatori di valutazione case "FD178": FD178 sezioneFD178 = new FD178(); if (_dataThread.profiloIsAct) sezioneFD178.writeSezione(_dataThread); break; // --MIFID2 #endregion #region FD181 /* ESG - Analisi di Portafoglio - Pino*/ case "FD181": FD181 sezioneFD181 = new FD181(); sezioneFD181.setTitolo(_titolo); sezioneFD181.TestoIntroduttivo = _testoIntroduttivo; sezioneFD181.TestoAlternativo = _testoIntroduttivoAlternativo; sezioneFD181.writeSezione(_dataThread); break; #endregion #region FD190 /* */ case "FD190": FD190 sezioneFD190 = new FD190(); sezioneFD190.setTitolo(_titolo); sezioneFD190.TestoIntroduttivo = _testoIntroduttivo; //sezioneFD190.writeSezione(_dataThread); //sezioneFD190.writeSezioneFD190(_dataThread); sezioneFD190.writeSezione190New(_dataThread); break; #endregion #region FD200 /* */ case "FD200": FD200 sezioneFD200 = new FD200(); //sezioneFD200.setTitolo(_titolo); sezioneFD200.TestoIntroduttivo = _testoIntroduttivo; sezioneFD200.writeSezioneFD200(_dataThread); break; #endregion #endregion default: //return false; break; } //patryk //this caused empty page to appear on random documents, commented //Start new page for defined sections & paragraphs (in DB) //if (Capitolo.Titolo == "Patrimonio finanziario altri Istituti" && DocumentPDF.checkMargin(300)) // DocumentPDF.addPage(); //CapitoloReport Capitolo = _parent.ParagrafoParent; //if (Capitolo.Titolo.Contains("Patrimonio finanziario altri Istituti") && this.NuovaPaginaDopo == true) //{ // DocumentPDF.addPage(); // _biancoPagina = 1; //} //else //{ // _biancoPagina = 0; //} } /// /// Nonostante i relativi id vengano recuperati dalla R6_S_Generator, /// per alcune sezioni esistono dei vincoli per i quali tali sezioni non verranno comunque stampate. /// private bool BloccaStampaPERUlterioriVincoli() { switch (_codice) { case "S76": if (!_vincolo.Contains(TipologiaVisualizzazione.SISTAMPA)) return true; else return false; case "S77": if (!_vincolo.Contains(TipologiaVisualizzazione.SISTAMPA)) return true; else return false; //case "S43BIS": // if ((_vincolo.Contains(TipologiaVisualizzazione.SISTAMPA)) && (_areaprogettocodice.ToUpper() == "CC")) // return true; // else // return false; default: return false; } } /// /// Imposta tutti i vincoli alla Sezione a partire da un datatable contenente i vincoli. /// /// public void ImpostaVincoli(DataTable datatableVincoli) { foreach (DataRow rVincolo in datatableVincoli.Rows) { switch (rVincolo["CodiceVincoloApplicativo"].ToString().Trim()) { case "TORTA": _vincolo.Add(TipologiaVisualizzazione.TORTA); break; case "BARRE": _vincolo.Add(TipologiaVisualizzazione.BARRE); break; case "SINGOLA": _vincolo.Add(TipologiaVisualizzazione.SINGOLA); break; case "DOPPIA": _vincolo.Add(TipologiaVisualizzazione.DOPPIA); break; case "NO_CONFRONTO": _vincolo.Add(TipologiaVisualizzazione.NO_CONFRONTO); break; case "CONFRONTO": _vincolo.Add(TipologiaVisualizzazione.CONFRONTO); break; case "PERFORMANCE": _vincolo.Add(TipologiaVisualizzazione.PERFORMANCE); break; case "VERSATONETTO_UTILEPERDITA": _vincolo.Add(TipologiaVisualizzazione.VERSATONETTO_UTILEPERDITA); break; case "RENDIMENTO_DA_INIZIOANNO": _vincolo.Add(TipologiaVisualizzazione.RENDIMENTO_DA_INIZIOANNO); break; case "RENDIMENTO_DA_SOTTOSCRIZIONE": _vincolo.Add(TipologiaVisualizzazione.RENDIMENTO_DA_SOTTOSCRIZIONE); break; case "RAGGRUPPAMENTO_PER_AREA": _vincolo.Add(TipologiaVisualizzazione.RAGGRUPPAMENTO_PER_AREA); break; case "RAGGRUPPAMENTO_PER_TIPOLOGIA": _vincolo.Add(TipologiaVisualizzazione.RAGGRUPPAMENTO_PER_TIPOLOGIA); break; case "SISTAMPA": _vincolo.Add(TipologiaVisualizzazione.SISTAMPA); break; case "NO_NOMECLIENTE_PER_COPERTINA": _vincolo.Add(TipologiaVisualizzazione.NO_NOMECLIENTE_PER_COPERTINA); break; case "NOTA_DETTAGLIO_PATRIM_NONRAPP_ASSET": _vincolo.Add(TipologiaVisualizzazione.NOTA_DETTAGLIO_PATRIM_NONRAPP_ASSET); break; case "NOTA_DETTAGLIO_PATRIM_NONRAPP_POLITICAINV": _vincolo.Add(TipologiaVisualizzazione.NOTA_DETTAGLIO_PATRIM_NONRAPP_POLITICAINV); break; case "RISCHIO": _vincolo.Add(TipologiaVisualizzazione.RISCHIO); break; default: break; } } } } }