using System; using System.Collections.Generic; using System.Web; using System.Data; using PDFGenerator.Presentation.Section.Tables; using PDFGenerator.BusinessLayer.DataSection; using PDFGenerator.BusinessLayer; using ceTe.DynamicPDF.PageElements; using ceTe.DynamicPDF.Text; using PDFGenerator.Presentation.Section.Grafici; using ContrattoSei.Utilities; namespace PDFGenerator.Presentation.Section { public class S141 { public void writeSezione_old(DataThread dataThread) { DocumentPDF document = dataThread.DocumentPDF; DataSetS141 set = (DataSetS141)dataThread.Data.DatiSezione; float YGrafico = document.getLastPos() - 13; float XGrafico = document.getMargineLeft() + 70; int HGrafico = 170; int WGrafico = 350; #region Grafico AssiCartesiani assicartesiani = new AssiCartesiani(WGrafico, HGrafico); assicartesiani.DocumentPDF = document; assicartesiani.PositionX = XGrafico; assicartesiani.PositionY = YGrafico; assicartesiani.ShowGrid = false; assicartesiani.AxisXMaximum = 100; assicartesiani.AxisXInterval = 10; assicartesiani.AxisYMaximum = 11; assicartesiani.AxisYInterval = 1; assicartesiani.AxisYMultipleValues = true; assicartesiani.Datasource = set.Tables["Emittenti"]; assicartesiani.DataSourceColumnName_AxisX = "Concentrazione"; assicartesiani.DataSourceColumnName_AxisY = "RischioCreditoCodice"; assicartesiani.BackImageFileName = "plotChartGradient_S141.gif"; assicartesiani.Draw(); document.setLastPos(170 - 23); //23 #region Etichette Asse X e Asse Y ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage(); // Etichette asse x e y. Le aggiungo qui e non nella classe AssiCartesiani per meglio posizionarle. page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", XGrafico - 70, YGrafico, 100, 12, Globals.OpenTypeFontVerdana, 9, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione", XGrafico + WGrafico + 5, YGrafico + HGrafico - 25, 100, 12, Globals.OpenTypeFontVerdana, 9, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); #endregion #region Legenda alla destra del Grafico page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(@UtilityManager.getAppSetting("pathGraf") + "LegendaS120.jpg", XGrafico + WGrafico + 4, YGrafico + HGrafico - 75, 0.50F)); #endregion #endregion #region Tabella Emittenti DatiTabella datitab = new DatiTabella(); datitab.CellClear(); datitab.table = set.Tables["Emittenti"]; //Disegno la tabella Tabella tabellaDati = new Tabella(document.getMargineLeft(), 590); tabellaDati.Header = true; //tabellaDati.Footer = false; tabellaDati.Datasource = datitab.table; tabellaDati.HeaderFont = 8; tabellaDati.Colonne.Add(new Colonna("Emittente", "Emittente", 90, TipoAllineamento.SINISTRA, false, 7, false, TipoColonna.IMMAGINE_E_TESTO)); tabellaDati.Colonne.Add(new Colonna("CtvObbligazionario", "Controvalore
obbligazionario (€)", 100, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Colonne.Add(new Colonna("CtvAzionario", "Controvalore
azionario (€)", 80, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Colonne.Add(new Colonna("Concentrazione", "Concentrazione %", 84, TipoAllineamento.DESTRA, true, 7, false)); tabellaDati.Colonne.Add(new Colonna("Rischio", "Rischio Credito", 108, TipoAllineamento.DESTRA, true, 6, false)); tabellaDati.Colonne.Add(new Colonna("Rating", "Rating", 50, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Draw(datitab, document); #region Simboli delle emittenti int nPallino = 1; float yPallino = tabellaDati.Y + 14; float xPallino = document.getMargineLeft() - 10; foreach (DataRow drSimbolo in tabellaDati.Datasource.Rows) { ceTe.DynamicPDF.PageElements.Image simbolo = new Image(@UtilityManager.getAppSetting("pathGraf") + "pallino" + nPallino.ToString() + ".png", xPallino, yPallino, 0.30F); page.Elements.Add(simbolo); yPallino += 23; nPallino++; } #endregion #endregion bool notaNeeded = false; foreach (DataRow rw in set.Emittenti.Rows) { notaNeeded = notaNeeded || bool.Parse(rw["Nota"].ToString()); } if (notaNeeded) document.getCurrentPage().Elements.Add(new Label(Resource.Nota_TabellaEmittenti, datitab.getX(), document.getLastPos() + tabellaDati.AltezzaTabella, 500F, 30F, Globals.OpenTypeFontVerdana, 8)); document.setLastPos(900); } public void writeSezione(DataThread dataThread) { DocumentPDF document = dataThread.DocumentPDF; DataSetS141 set = (DataSetS141)dataThread.Data.DatiSezione; ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage(); float YTEmittenti = document.getLastPos() - 13; float XTEmittenti = document.getMargineLeft(); bool VediGrafico = false; bool VediNota = false; foreach (DataRow emit in set.Emittenti.Rows) { if (!emit["Rischio"].ToString().Equals("n.a.") && !emit["Rischio"].ToString().Equals("n.c.")) VediGrafico = true; if (bool.Parse(emit["Nota"].ToString())) VediNota = true; }//VediGraficoNota if (VediGrafico) { #region Grafico float YGrafico = document.getLastPos() - 80; //50 float XGrafico = document.getMargineLeft() + 70; int HGrafico = 170; int WGrafico = 350; AssiCartesiani assicartesiani = new AssiCartesiani(WGrafico, HGrafico); assicartesiani.DocumentPDF = document; assicartesiani.PositionX = XGrafico; assicartesiani.PositionY = YGrafico; assicartesiani.ShowGrid = false; assicartesiani.AxisXMaximum = 100; assicartesiani.AxisXInterval = 10; assicartesiani.AxisYMaximum = 11; assicartesiani.AxisYInterval = 1; assicartesiani.AxisYMultipleValues = true; assicartesiani.Datasource = set.Emittenti; assicartesiani.DataSourceColumnName_AxisX = "Concentrazione"; assicartesiani.DataSourceColumnName_AxisY = "RischioCreditoCodice"; assicartesiani.BackImageFileName = "plotChartGradient_S141.gif"; assicartesiani.Draw(); document.setLastPos(170 - 23); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", XGrafico - 70, YGrafico, 100, 12, Globals.OpenTypeFontVerdana, 9, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Concentrazione", XGrafico + WGrafico + 5, YGrafico + HGrafico - 25, 100, 12, Globals.OpenTypeFontVerdana, 9, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(@UtilityManager.getAppSetting("pathGraf") + "LegendaS120.jpg", XGrafico + WGrafico + 4, YGrafico + HGrafico - 75, 0.50F)); YTEmittenti = 590; #endregion } #region Tabella Emittenti DatiTabella datitab = new DatiTabella(); datitab.CellClear(); datitab.table = set.Emittenti; Tabella tabellaDati = new Tabella(XTEmittenti, YTEmittenti); tabellaDati.Header = true; tabellaDati.Datasource = datitab.table; tabellaDati.HeaderFont = 8; tabellaDati.Colonne.Add(new Colonna("Emittente", "Emittente", 90, TipoAllineamento.SINISTRA, false, 7, false, TipoColonna.IMMAGINE_E_TESTO)); tabellaDati.Colonne.Add(new Colonna("CtvObbligazionario", "Controvalore
obbligazionario (€)", 100, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Colonne.Add(new Colonna("CtvAzionario", "Controvalore
azionario (€)", 80, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Colonne.Add(new Colonna("Concentrazione", "Concentrazione %", 84, TipoAllineamento.DESTRA, true, 7, false)); tabellaDati.Colonne.Add(new Colonna("Rischio", "Rischio Credito", 108, TipoAllineamento.DESTRA, true, 6, false)); tabellaDati.Colonne.Add(new Colonna("Rating", "Rating", 50, TipoAllineamento.DESTRA, false, 7, false)); tabellaDati.Draw(datitab, document); if (VediGrafico) { int nPallino = 1; float yPallino = tabellaDati.Y + 14; float xPallino = document.getMargineLeft() - 10; foreach (DataRow drSimbolo in tabellaDati.Datasource.Rows) { ceTe.DynamicPDF.PageElements.Image simbolo = new Image(@UtilityManager.getAppSetting("pathGraf") + "pallino" + nPallino.ToString() + ".png", xPallino, yPallino, 0.30F); page.Elements.Add(simbolo); yPallino += 23; nPallino++; } } if (VediNota) document.getCurrentPage().Elements.Add(new Label(Resource.Nota_TabellaEmittenti, datitab.getX(), document.getLastPos() + tabellaDati.AltezzaTabella, 500F, 30F, Globals.OpenTypeFontVerdana, 8)); #endregion document.setLastPos(900); } } }