using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections; using ceTe.DynamicPDF; using ceTe.DynamicPDF.Text; using ceTe.DynamicPDF.PageElements.Charting; using PDFGenerator.BusinessLayer; using PDFGenerator.BusinessLayer.DataSection; using PDFGenerator.Presentation.Section.Tables; using PDFGenerator.Presentation.Section.Charts; using PDFGenerator.BusinessLayer.Utils; namespace PDFGenerator.Presentation.Section { class S132 : ISezione { private string _titolo = string.Empty; private string _testointroduttivo = string.Empty; /// /// Titolo della sezione /// public string Titolo { get { return _titolo; } set { _titolo = value; } } /// /// Testo introduttivo della Sezione. /// public string TestoIntroduttivo { get { return _testointroduttivo; } set { _testointroduttivo = value; } } public S132() { // // TODO: Add constructor logic here // } public void writeSezione(DataThread dataThread) { DocumentPDF document = dataThread.DocumentPDF; document.setSezTitolo(dataThread.SezioneReport.Titolo); string tempTesto = dataThread.SezioneReport.TestoIntroduttivo; string tempTestoAlt = dataThread.SezioneReport.TestoIntroduttivoAlternativo; if (dataThread.IsProffesionalClient) { tempTesto = "In questo capitolo si fornisce un’analisi sulla rischiosità del portafoglio attualmente da lei detenuto presso /$Banca$/, confrontandone il livello di rischio - in termini di Rischio Mercato (VaR) e di Rischio Credito - con i limiti massimi associati al suo profilo, individuato da Fideuram sulla base delle informazioni da lei rese nel questionario di profilatura."; tempTestoAlt = "Nel grafico l’area di adeguatezza (in bianco) individua i casi in cui i livelli di Rischio Mercato e di Rischio Credito sono inferiori ai livelli massimi associati al suo profilo finanziario. L’area di non adeguatezza è indicata in grigio. La classe di Rischio Credito viene attribuita soltanto ad alcune tipologie di strumenti finanziari: per gli altri strumenti viene rappresentata come “non applicabile”. Nel complesso, gli strumenti presenti nel suo portafoglio ai quali non è stata attribuita una classe di Rischio Credito mitigano la stima di Rischio Credito del portafoglio complessivo."; } //tempTesto = tempTesto.Replace("/$Banca$/", dataThread.NomeRete); //tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", dataThread.NomeRete); tempTesto = tempTesto.Replace("/$Banca$/", dataThread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"); tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", dataThread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"); ; //string tempTestoAlt = SimpleTextGenerator.ProduceText(this, "PL_MP_S132ProfiloRischioAdeguatezza", dataThread, null); string variableReplacement = SimpleTextGenerator.GetVariableValue("s132_tempTestoAlt", dataThread); tempTestoAlt = tempTestoAlt.Replace("/$s132_tempTestoAlt$/", variableReplacement); //tempTestoAlt = (dataThread.Rete == "F") ? tempTestoAlt.Replace("/$Banca$/", "Fideuram") : tempTestoAlt.Replace("/$Banca$/", "Sanpaolo Invest"); //********************************************Cecco modifiche dicitura IWBANK************************************************ switch (dataThread.Rete) { case "F": { tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Fideuram"); break; } case "S": { //Rosaspina Andrea/ tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"); // tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Sanpaolo Invest"); break; } case "W": { tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "IW Private Investments"); break; } } //************************************************************************************************************************** //if (dataThread.Rete.ToUpper() == "S") // { // tempTesto = tempTesto.Replace("Banca Fideuram", "Sanpaolo Invest"); // tempTestoAlt = tempTesto.Replace("Banca Fideuram", "Sanpaolo Invest"); // } //setChapterHeader(string label, int x, int width, float font) document.setChapterHeader(tempTesto, 0, 520, 8); DataSetS132 set = (DataSetS132)dataThread.Data.DatiSezione; string labelText2nd = SimpleTextGenerator.ProduceText(this, "S132BottomLabel", dataThread, null);//new object[1] { set.Indicatori[0].Complessita } # region profiloRischio DatiTabella profilofinanziarioDatiTab = new DatiTabella(); profilofinanziarioDatiTab.table = set.Tables["ProfiloRischio"]; profilofinanziarioDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false, 8); profilofinanziarioDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, 8); profilofinanziarioDatiTab.setX(document.getMargineLeft()); Tabella profilofinanziarioTab = new Tabella(); //profilofinanziarioTab.LineaFineTabella = true; //profilofinanziarioTab. # endregion # region profiloDate DatiTabella profiloDateDatiTab = new DatiTabella(); profiloDateDatiTab.table = set.Tables["ProfiloDate"]; //profilofinanziarioDatiTab.setIsLinee(1); profiloDateDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false, 8); profiloDateDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, 8); profiloDateDatiTab.setX(document.getMargineLeft()); Tabella profiloDateTab = new Tabella(); //profilofinanziarioTab.LineaFineTabella = true; //profilofinanziarioTab. # endregion profilofinanziarioDatiTab.setY(document.getLastPos() - 5); document.InsertTable(profilofinanziarioTab.getTabella(profilofinanziarioDatiTab)); float ycolonneRed = document.getLastPos() + profilofinanziarioDatiTab.getNumRow(); float ydatitab = ycolonneRed + 14; profiloDateDatiTab.setY(ydatitab); document.InsertTable(profiloDateTab.getTabella(profiloDateDatiTab)); document.setHeaderSpace(35); document.writeText(document.getMargineLeft() - 5, document.getLastPos(), tempTestoAlt, 8, 520, ceTe.DynamicPDF.TextAlign.Justify); //document.setHeaderSpace(60); document.setLastPos(40); ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage(); #region Grafico DataTable _datasource = set.Tables["DatiGrafico"]; #region recupero dati frecce int classeRischio = 0; if (_datasource.Rows[0]["ClasseRischioCreditoStr"] != DBNull.Value) { if (_datasource.Rows[0]["ClasseRischioCreditoStr"].ToString().ToUpper() == "N.A.") classeRischio = -1; } else classeRischio = Convert.ToInt32(_datasource.Rows[0]["ClasseRischioCredito"]); // Rischio Mercato/VarP double varP = 0; if (_datasource.Rows[0]["RischioMercatoStr"] != DBNull.Value) { if (_datasource.Rows[0]["RischioMercatoStr"].ToString().ToUpper() == "N.A.") varP = -1; } else varP = Convert.ToInt32(_datasource.Rows[0]["RischioMercato"]); // Rischio Mercato Massimo decimal varMassimo = 0; if (_datasource.Rows[0]["RischioMercatoMaxStr"] != DBNull.Value) { if (_datasource.Rows[0]["RischioMercatoMaxStr"].ToString().ToUpper() == "N.A.") varMassimo = -1; } else varMassimo = Convert.ToDecimal(_datasource.Rows[0]["RischioMercatoMax"]); // Rischio Credito Massimo int classeRiskCredMax = 0; if (_datasource.Rows[0]["RischioCreditoMaxStr"] != DBNull.Value) { if (_datasource.Rows[0]["RischioCreditoMaxStr"].ToString().ToUpper() == "N.A.") classeRiskCredMax = -1; } else classeRiskCredMax = Convert.ToInt32(_datasource.Rows[0]["RischioCreditoMax"]); #endregion //document.setLastPos(420); GraficoS132 grafico = new GraficoS132(); grafico.Datasource = _datasource; document.InsertGraficoS132(grafico.ToPage(dataThread), document.getMargineLeft() + 60, document.getLastPos()); #endregion // // I marcatori sull'asse X e sull'asse Y non vengono visualizzati se il cliente // non e' mai stato profilato o se il profilo e' scaduto // Non vengono visualizzati se il rischio credito max o il rischio mercato max sono uguali ad "N.C." // se rischio credito max = n.a. ugualmente non facciamo vedere le frecce. // #region FRECCE if ((_datasource.Rows[0]["Profilo"].ToString() == "A") && (varMassimo > 0) && (classeRiskCredMax > 0)) { #region Marcatore AsseY //Freccia float posZero = 157;//157;//259 float fattIncr = 5; float offsetFreccia = 6; if (dataThread.IsProffesionalClient && dataThread.RiskArea == 5) { fattIncr = (float) 3.20; offsetFreccia = -9; varMassimo = 50; } //float posVar1 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar1))); //float posVar2 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar2))); //float posVar3 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar3))); //float posVar4 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar4))); //float posVar5 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar5))); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar1, document.getMargineLeft() + 101, document.getLastPos() + posVar1, 50F, 50F)); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar2, document.getMargineLeft() + 101, document.getLastPos() + posVar2, 50F, 50F)); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar3, document.getMargineLeft() + 101, document.getLastPos() + posVar3, 50F, 50F)); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar4, document.getMargineLeft() + 101, document.getLastPos() + posVar4, 50F, 50F)); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar5, document.getMargineLeft() + 101, document.getLastPos() + posVar5, 50F, 50F)); float yMarcatoreAsseYRettangolo = document.getLastPos() + posZero - (fattIncr * (float)varMassimo) - offsetFreccia; ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseY = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft() + 55, yMarcatoreAsseYRettangolo, 20, 20, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234)); FrecciaMarcatoreAsseY.Angle = 45; page.Elements.Add(FrecciaMarcatoreAsseY); // Rettangolo ceTe.DynamicPDF.PageElements.Rectangle RettangolomarcatoreAsseY = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft(), yMarcatoreAsseYRettangolo, 55, FrecciaMarcatoreAsseY.Width * 1.414F, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234)); page.Elements.Add(RettangolomarcatoreAsseY); FormatNum conv = new FormatNum(); //Label page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Mercato", document.getMargineLeft() + 2, yMarcatoreAsseYRettangolo + 2, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(VaR) massimo", document.getMargineLeft() + 2, yMarcatoreAsseYRettangolo + 10, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(" + conv.ConvertNum(varMassimo) + "%)", document.getMargineLeft() + 14, yMarcatoreAsseYRettangolo + 18, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6)); #endregion #region Marcatore AsseX // Recupero la X float xMarcatoreAsseXRettangolo = 0; //classeRiskCredMax #region pecetta grafico //Legent //Title //int LastPosition = 380; float lastpos = document.getLastPos(); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(437, lastpos + 100, 20, 8, ceTe.DynamicPDF.CmykColor.Black, new RgbColor(234, 234, 234), 0.3F));//RgbColor(255, 255, 255))); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Area di non adeguatezza", 460, lastpos + 100, 160, 10, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(437, lastpos + 100 + 13, 20, 8, ceTe.DynamicPDF.CmykColor.Black, ceTe.DynamicPDF.CmykColor.White, 0.3F));//RgbColor(255, 255, 255))); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Area di adeguatezza", 460, lastpos + 100 + 13, 160, 10, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); int lastpos_mod = 7 + ((dataThread.IsProffesionalClient && dataThread.RiskArea == 5) ? 80 : 0); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Mercato (VaR%)", document.getMargineLeft(), lastpos + lastpos_mod, 120, 12, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); //LastPosition = 427; page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", 420, lastpos + 159, 100, 8, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); #endregion //classeRiskCredMax = 3; per fare test if (classeRiskCredMax == 1) xMarcatoreAsseXRettangolo = document.getMargineLeft() + 152; // selezione su Classe 1 else if (classeRiskCredMax == 2) xMarcatoreAsseXRettangolo = document.getMargineLeft() + 222;// selezione su Classe 2 else if (classeRiskCredMax == 3) xMarcatoreAsseXRettangolo = document.getMargineLeft() + 296; // selezione su Classe 3 // Recupero la Y float yMarcatoreAsseXRettangolo = document.getLastPos() + grafico.Height; // Rettangolo Base (principale) ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_Base = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo, yMarcatoreAsseXRettangolo, 55, 25, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234)); page.Elements.Add(FrecciaMarcatoreAsseX_Base); // Rettangolo a destra (punta destra) ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_dx = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo + (FrecciaMarcatoreAsseX_Base.Width / 2), yMarcatoreAsseXRettangolo - 10, 29, 10, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234)); FrecciaMarcatoreAsseX_dx.Angle = 19.3F; page.Elements.Add(FrecciaMarcatoreAsseX_dx); //Rettangolo a sinistra (punta sinistra) ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_sx = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo, yMarcatoreAsseXRettangolo, 28.6F, 10, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234)); FrecciaMarcatoreAsseX_sx.Angle = 339.4F; page.Elements.Add(FrecciaMarcatoreAsseX_sx); //Label page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", xMarcatoreAsseXRettangolo + 4, yMarcatoreAsseXRettangolo, 80, 12, Globals.OpenTypeFontVerdana, 6)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("massimo", xMarcatoreAsseXRettangolo + 14, yMarcatoreAsseXRettangolo + 7, 80, 12, Globals.OpenTypeFontVerdana, 6)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(" + UtilityBusinessLayer.GetRiskCreditClassName(classeRiskCredMax.ToString()) + ")", xMarcatoreAsseXRettangolo + 12, yMarcatoreAsseXRettangolo + 14, 80, 12, Globals.OpenTypeFontVerdana, 6)); #endregion } #endregion #region Tabella DatiTabella datitab = new DatiTabella(); datitab.SetRowDim(15); float dimTabella = 0; float graficoHeightOffset = grafico.Height; float additionalOffset = 40; float additionalOffset2 = 35; if (!string.IsNullOrEmpty(labelText2nd) && document.checkMargin(graficoHeightOffset + additionalOffset + 70)) { document.addPage(); page = document.getCurrentPage(); document.setPotenzialeLastPos(0, true); graficoHeightOffset = 0; additionalOffset = 0; additionalOffset2 = 0; } #region Tabella Monitoraggio datitab.table = set.Tables["DatiTabellaMonitoraggio"]; Tabella tabellaPatrimonio = new Tabella(document.getMargineLeft(), document.getLastPos() + graficoHeightOffset + additionalOffset); tabellaPatrimonio.Header = true; tabellaPatrimonio.Id = "TabellaPatrimonio"; //tabellaPatrimonio.Datasource = _datasource; //V vedere come gestiore la leggenda nella tabella tabellaPatrimonio.Colonne.Add(new Colonna("DescrizionePatrimonio", "Patrimonio", 150, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.IMMAGINE_E_TESTO)); tabellaPatrimonio.Colonne.Add(new Colonna("TotalePatrimonio", "Totale Patrimonio
(€)", 110, TipoAllineamento.DESTRA, false, 9, false)); tabellaPatrimonio.Colonne.Add(new Colonna("RischioCredito", "Rischio
Credito", 70, TipoAllineamento.DESTRA, false, 9, false)); tabellaPatrimonio.Colonne.Add(new Colonna("RischioMercato", "Rischio Mercato
(VaR%)", 106, TipoAllineamento.DESTRA, false, 9, false)); tabellaPatrimonio.Colonne.Add(new Colonna("Copertura", "Copertura
(%)", 76, TipoAllineamento.DESTRA, false, 9, false)); tabellaPatrimonio.Draw(datitab, document); #region Simboli del patrimonio //Monitoraggio avrà solo il dettaglio per patrimonio bf o spi (un rombo come simbolo) ceTe.DynamicPDF.PageElements.Rectangle rect = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft(), tabellaPatrimonio.Y + 18, 10 / 1.414F, 10 / 1.414F, 0, new RgbColor(0, 0, 0)); rect.Angle = 45; page.Elements.Add(rect); #endregion #region Indicatore rischio mercato //Monitoraggio avrà solo il dettaglio per patrimonio bf o spi (un rombo come simbolo) string flagOK = WebConfigParameter.getParameter("FlagOK_RIDOTTA"); string flagNO = WebConfigParameter.getParameter("FlagNO_RIDOTTA"); System.Reflection.Assembly thisExe; thisExe = System.Reflection.Assembly.GetExecutingAssembly(); System.IO.Stream fileOk = thisExe.GetManifestResourceStream(flagOK); System.IO.Stream fileNo = thisExe.GetManifestResourceStream(flagNO); // Indicatore Rischio Mercato if (!set.Indicatori[0].RischioCredito) { // INDICATORE "RischioMercato" NO page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft() + 331, tabellaPatrimonio.Y + 18, 0.15F)); } else { // INDICATORE "RischioMercato" OK page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft() + 331, tabellaPatrimonio.Y + 18, 0.15F)); } if (!set.Indicatori[0].RischioMercato) { // INDICATORE "RischioCredito" NO page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft() + 437, tabellaPatrimonio.Y + 18, 0.15F)); } else { // INDICATORE "RischioMercato" OK page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft() + 437, tabellaPatrimonio.Y + 18, 0.15F)); } #endregion if (dataThread.profiloIsAct == false) page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Resource.Nota_S96_Scaduto, datitab.getX(), datitab.getY() + datitab.GetRowDim() * (datitab.table.Rows.Count + 1), 500F, 30F, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.CmykColor.Red)); dimTabella = tabellaPatrimonio.AltezzaTabella; #endregion #endregion #region indicatori Monitoraggio //// //// Inseriamo gli Indicatori: non vengono visualizzati se il cliente //// non e' mai stato profilato o se il profilo e' scaduto //// Non vengono visualizzati se il rischio credito max o il rischio mercato max sono uguali ad "N.C." //// se rischio credito max = n.a. ugualmente non facciamo vedere le frecce. //// float xIndicatore = document.getMargineLeft(); float yIndicatore = document.getLastPos() + graficoHeightOffset + dimTabella + additionalOffset2; //if (dataThread.TipoReport.ToUpper() == "MONITORAGGIO" && dataThread.profiloIsAct && (varMassimo > 0) && (classeRiskCredMax > 0)) //{ // string flagOK = WebConfigParameter.getParameter("FlagOK_RIDOTTA"); // string flagNO = WebConfigParameter.getParameter("FlagNO_RIDOTTA"); // System.Reflection.Assembly thisExe; // thisExe = System.Reflection.Assembly.GetExecutingAssembly(); // System.IO.Stream fileOk = thisExe.GetManifestResourceStream(flagOK); // System.IO.Stream fileNo = thisExe.GetManifestResourceStream(flagNO); // // Indicatore Rischio Mercato // if (!set.Indicatori[0].RischioMercato) // { // INDICATORE "RischioMercato" NO // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft(), yIndicatore, 0.15F)); //0.2F // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Mercato dei Suoi Investimenti è, oggi, NON coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7)); // } // else // { // INDICATORE "RischioMercato" OK // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft(), yIndicatore, 0.15F)); // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Mercato dei Suoi Investimenti è, oggi, coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7)); // } // yIndicatore += 20; // // Indicatore Rischio Credito // if (!set.Indicatori[0].RischioCredito) // { // INDICATORE "RischioCredito" NO // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, xIndicatore, yIndicatore, 0.15F)); // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Credito dei Suoi Investimenti è, oggi, NON coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7)); // } // else // { // INDICATORE "RischioCredito" OK // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, xIndicatore, yIndicatore, 0.15F)); // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Credito dei Suoi Investimenti è, oggi, coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7)); // // page.Elements.Add(new ceTe.DynamicPDF.PageElements. // } //document.setLastPos(600); //V Spostare nel resource file // // Indicatore Complessita' // //yIndicatore += 20; #region AdeguadezzaCompl string labelText = SimpleTextGenerator.ProduceText(this, "BottomLabel", dataThread, null);//new object[1] { set.Indicatori[0].Complessita } if (labelText == String.Empty) { throw new GeneratorException("missing label data for S132"); } else { if (!dataThread.IsProffesionalClient) { page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(labelText, xIndicatore, yIndicatore, 512, 36, Globals.OpenTypeFontVerdana, 7)); yIndicatore += 36; } } if (!string.IsNullOrEmpty(labelText2nd)) { page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(labelText2nd, xIndicatore, yIndicatore, 512, 70, Globals.OpenTypeFontVerdana, 7)); } //commented by pk //if (set.Indicatori[0].Complessita) // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Tutti gli strumenti finanziari nel Suo portafoglio risultano avere una complessità coerente con il Suo livello di esperienza e conoscenza risultante dal questionario di profilatura.", xIndicatore, yIndicatore, 512, 24, Globals.OpenTypeFontVerdana, 7)); //else // page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Alcuni strumenti finanziari nel suo portafoglio risultano avere una complessità elevata rispetto al Suo livello di esperienza e conoscenza risultante dal questionario di profilatura.", xIndicatore, yIndicatore, 512, 24, Globals.OpenTypeFontVerdana, 7)); #endregion // } #endregion //aggiorno il puntatore alla posizione da cui si può scrivere //document.setLastPos(600); document.addPage(); } } }