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);
#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() - 13;
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);
}
}
}