using System; using System.Collections.Generic; using System.Text; using ceTe.DynamicPDF.Text; using System.Collections; using ceTe.DynamicPDF; using PDFGenerator.Presentation.Section.Tables; using PDFGenerator.Presentation.Section.Charts; using PDFGenerator.BusinessLayer.DataSection; using System.Data; using PDFGenerator.BusinessLayer; using ceTe.DynamicPDF.PageElements; namespace PDFGenerator.Presentation.Section { public class S140 : STorta //: ISezione { #region ISezione Members public new void writeSezione(DataThread dataThread) { DocumentPDF document = dataThread.DocumentPDF; DataSetS140 set = (DataSetS140)dataThread.Data.DatiSezione; //if (dataThread.TipoContratto != TipoContratto.Private) // document.addPage(); document.setSezTitolo(dataThread.SezioneReport.Titolo.Replace("/$Banca$/", dataThread.NomeRete)); document.setChapterHeader(dataThread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", dataThread.NomeRete), 0, 520, 8); float Xtable = document.getMargineLeft(); float Ytable = document.getLastPos(); int dFont = 8; int hRow = 18; int wCol1 = 135; int wCol2 = 95; int wCol3 = 65; int hGrafico = 150; float lastPosGrafico = Ytable + hGrafico; #region GRAFICO DatiGrafico dati = new DatiGrafico(); dati.dataTab = set.ChartData; dati.setHeight(hGrafico); dati.setWidth(hGrafico); Torta isto = new Torta(); document.InsertGrafico(isto.getGrafico(dati), 360, Ytable-10); #endregion datitab.setIsRet(); datitab.setIsLinee(1); datitab.setHeader(); datitab.setHeaderFont(dFont); datitab.setHeaderDim(hRow); datitab.SetRowDim(hRow); datitab.setCell(wCol1, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, dFont); datitab.setCell(wCol2, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false, dFont); datitab.setCell(wCol3, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false, dFont); datitab.setY(Ytable); datitab.setX(Xtable); datitab.setCellSpace(0); datitab.table = set.RischioCredito; Tabella tab = new Tabella(); document.InsertTable(tab.getTabella(datitab)); Ytable += datitab.GetRowDim() * (datitab.getNumRow() + 1); datitab = new DatiTabella(); datitab.table = set.PatrimonioCoperto; datitab.setY(Ytable); datitab.setX(Xtable); datitab.setHeaderDim(hRow); datitab.SetRowDim(hRow); datitab.setCell(wCol1, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCell(wCol2, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCell(wCol3, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCellSpace(0); Tabella Ctab = new Tabella(); document.InsertTable(Ctab.getTabella(datitab)); Ytable += datitab.GetRowDim() * datitab.getNumRow() ; datitab = new DatiTabella(); datitab.table = set.PatrimonioNonCoperto; datitab.setIsRet(); datitab.setIsLinee(1); datitab.setY(Ytable); datitab.setX(Xtable); datitab.setHeaderDim(hRow); datitab.SetRowDim(hRow); datitab.setCell(wCol1, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, dFont); datitab.setCell(wCol2, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false, dFont); datitab.setCell(wCol3, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false, dFont); datitab.setCellSpace(0); Tabella Ctab2 = new Tabella(); document.InsertTable(Ctab2.getTabella(datitab)); Ytable += datitab.GetRowDim() * datitab.getNumRow(); datitab = new DatiTabella(); datitab.table = set.RischioCreditoTotal; datitab.setY(Ytable); datitab.setX(Xtable); datitab.setHeaderDim(hRow); datitab.SetRowDim(hRow); datitab.setCell(wCol1, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCell(wCol2, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCell(wCol3, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, dFont); datitab.setCellSpace(0); Tabella tabTot = new Tabella(); document.InsertTable(tabTot.getTabella(datitab)); // Ytable += datitab.GetRowDim() * (datitab.getNumRow() < 5 ? 5 : datitab.getNumRow()) + 5; Ytable = lastPosGrafico - 15; //decimal totalePartiteViaggianti = dataThread.PartiteViaggiantiDisinvestimento + dataThread.PartiteViaggiantiInvestimento; //if (dataThread.TotalNegativeCurrentAccountValue < 0 && totalePartiteViaggianti == 0) // document.getCurrentPage().Elements.Add(new Label(string.Format("(*) Il controvalore esclude il saldo negativo del\r\nconto corrente ({0} €)", dataThread.TotalNegativeCurrentAccountValue.ToString("N")), Xtable, Ytable, 512, 30F, Globals.OpenTypeFontVerdana, 8)); //else if (dataThread.TotalNegativeCurrentAccountValue == 0 && totalePartiteViaggianti != 0) // document.getCurrentPage().Elements.Add(new Label(string.Format("(*) Il controvalore esclude gli investimenti in corso", dataThread.TotalNegativeCurrentAccountValue.ToString("N")), Xtable, Ytable, 512, 30F, Globals.OpenTypeFontVerdana, 8)); //else if (dataThread.TotalNegativeCurrentAccountValue < 0 && totalePartiteViaggianti != 0) // document.getCurrentPage().Elements.Add(new Label(string.Format("(*) Il controvalore esclude il saldo negativo di\r\nconto corrente ({0} €) e gli investimenti in corso", dataThread.TotalNegativeCurrentAccountValue.ToString("N")), Xtable, Ytable, 512, 30F, Globals.OpenTypeFontVerdana, 8)); decimal totalNegativeCurrentAccountValue = dataThread.TotalNegativeCurrentAccountValue; decimal totalSelfNegCurrentAccountValue = dataThread.TotalSelfNegCurrentAccountValue; decimal totalePartiteViaggianti = dataThread.PartiteViaggiantiDisinvestimento + dataThread.PartiteViaggiantiInvestimento; string note = ""; if (totalNegativeCurrentAccountValue==0 && totalSelfNegCurrentAccountValue==0 && totalePartiteViaggianti!=0) { note += "(*) Il controvalore esclude gli investimenti in corso"; } if (totalNegativeCurrentAccountValue<0 && totalSelfNegCurrentAccountValue==0 && totalePartiteViaggianti==0) { note += "(*) Il controvalore esclude il saldo negativo del conto corrente ({0} €)"; note = string.Format(note, totalNegativeCurrentAccountValue.ToString("N")); } if (totalNegativeCurrentAccountValue==0 && totalSelfNegCurrentAccountValue<0 && totalePartiteViaggianti==0) { note += "(*) Il controvalore esclude il saldo negativo della liquidità sottostante le linee “GP Eligo” ({0} €)"; note = string.Format(note, totalSelfNegCurrentAccountValue.ToString("N")); } if (totalNegativeCurrentAccountValue<0 && totalSelfNegCurrentAccountValue==0 && totalePartiteViaggianti!=0) { note += "(*) Il controvalore esclude il saldo negativo del conto corrente ({0} €) e gli investimenti in corso"; note = string.Format(note, totalNegativeCurrentAccountValue.ToString("N")); } if (totalNegativeCurrentAccountValue<0 && totalSelfNegCurrentAccountValue<0 && totalePartiteViaggianti==0) { note += "(*) Il controvalore esclude il saldo negativo del conto corrente ({0} €) e il saldo negativo della liquidità sottostante le linee “GP Eligo” ({1} €)"; note = string.Format(note, totalNegativeCurrentAccountValue.ToString("N"), totalSelfNegCurrentAccountValue.ToString("N")); } if (totalNegativeCurrentAccountValue==0 && totalSelfNegCurrentAccountValue<0 && totalePartiteViaggianti!=0) { note += "(*) Il controvalore esclude il saldo negativo della liquidità sottostante le linee “GP Eligo” ({0} €) e gli investimenti in corso"; note = string.Format(note,totalSelfNegCurrentAccountValue.ToString("N")); } if (totalNegativeCurrentAccountValue<0 && totalSelfNegCurrentAccountValue<0 && totalePartiteViaggianti!=0) { note += "(*) Il controvalore esclude il saldo negativo del conto corrente ({0} €), il saldo negativo della liquidità sottostante le linee “GP Eligo” ({1} €) e gli investimenti in corso"; note = string.Format(note, totalNegativeCurrentAccountValue.ToString("N"), totalSelfNegCurrentAccountValue.ToString("N")); } if(!note.Equals("")) document.getCurrentPage().Elements.Add(new Label(note, Xtable, Ytable, 512, 30F, Globals.OpenTypeFontVerdana, 8)); document.setLastPos(hGrafico); } #endregion } }