225 lines
10 KiB
C#
225 lines
10 KiB
C#
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<BR>obbligazionario (€)", 100, TipoAllineamento.DESTRA, false, 7, false));
|
|
tabellaDati.Colonne.Add(new Colonna("CtvAzionario", "Controvalore<BR>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<BR>obbligazionario (€)", 100, TipoAllineamento.DESTRA, false, 7, false));
|
|
tabellaDati.Colonne.Add(new Colonna("CtvAzionario", "Controvalore<BR>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);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|