using System; using System.Collections.Generic; using System.Text; using System.Data; namespace PDFGenerator.BusinessLayer.DataSection { /// /// Summary description for DSS80Alternativa /// public class DSS80Alternativa : IDataSection { private string obtainAsteriscs(int number) { string sequence = string.Empty; for (int i = 0; i < number; i++) sequence = string.Format("{0}{1}", sequence, "*"); return sequence; } public DSS80Alternativa() { // // TODO: Add constructor logic here // } /// /// Recupera i dati per la stampa della S80ALT. /// /// /// /// /// public DataSectionResult getDataSection(List tabelleSessione, string querySql, DataThread dataThread) { DataSetS80ALT dsS80ALT = new DataSetS80ALT(); FormatNum conv = new FormatNum(); DataSectionResult dsr = new DataSectionResult(); DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread); if (dataThread.Patrimoniobancafideuramctv != 0 && dt.Rows.Count > 0) { // Set Phase 1 date #region Data Avvio Monitoraggio DateTime? dataAvvioMonitoraggio = null; DateTime dataPrecedenteInvioReport = new DateTime(); //DateTime dataSituazioneCorrenteReport = new DateTime(); FormatNum formatNum = new FormatNum(); DataView dvAvvioMonitoraggio = new DataView(dt); dvAvvioMonitoraggio.RowFilter = ("Fase = 1"); if (dvAvvioMonitoraggio.Count > 0) { DataRow row = dvAvvioMonitoraggio[0].Row; dataAvvioMonitoraggio = Convert.ToDateTime(row["DataFase"].ToString()); } #endregion // Set Phase 2 date #region Data Precedente Invio Report DataView dwPrecedenteInvioReport = new DataView(dt); dwPrecedenteInvioReport.RowFilter = ("Fase = 2"); if (dwPrecedenteInvioReport.Count > 0) { DataRow rowPrecedenteInvioReport = dwPrecedenteInvioReport[0].Row; dataPrecedenteInvioReport = Convert.ToDateTime(rowPrecedenteInvioReport["DataFase"].ToString()); } #endregion #region Piramide dati per fasi // The data rows of each phase. DataRow[] drFase1 = dt.Select(" fase = 1"); DataRow[] drFase2 = dt.Select(" fase = 2"); DataRow[] drFase3 = dt.Select(" fase = 3"); // caption dell' header della Tabella if (dataAvvioMonitoraggio.HasValue) { dsS80ALT.GraficoPiramide.Fase1Column.Caption = "Avvio Monitoraggio
(" + dataAvvioMonitoraggio.Value.ToShortDateString() + ")"; } if (dwPrecedenteInvioReport.Count > 0) dsS80ALT.GraficoPiramide.Fase2Column.Caption = "Precedente invio report
(" + dataPrecedenteInvioReport.ToShortDateString() + ")"; else dsS80ALT.GraficoPiramide.Fase2Column.Caption = string.Empty; dsS80ALT.GraficoPiramide.Fase3Column.Caption = "Situazione Corrente
(" + dataThread.DataFineTrimestreCorrente.ToShortDateString() + ")"; DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide0 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow(); DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide1 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow(); DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide2 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow(); DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide3 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow(); DataSetS80ALT.GraficoPiramideRow rowGraficoPiramide4 = dsS80ALT.GraficoPiramide.NewGraficoPiramideRow(); if (drFase1.Length > 0) { rowGraficoPiramide0.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_EXT"].ToString()); rowGraficoPiramide1.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_INV"].ToString()); rowGraficoPiramide2.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_PRE"].ToString()); rowGraficoPiramide3.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_RIS"].ToString()); rowGraficoPiramide4.Fase1 = formatNum.ConvertNum(drFase1[0]["CTV_LIQ"].ToString()); } if (drFase2.Length > 0) { rowGraficoPiramide0.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_EXT"].ToString()); rowGraficoPiramide1.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_INV"].ToString()); rowGraficoPiramide2.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_PRE"].ToString()); rowGraficoPiramide3.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_RIS"].ToString()); rowGraficoPiramide4.Fase2 = formatNum.ConvertNum(drFase2[0]["CTV_LIQ"].ToString()); } if (drFase3.Length > 0) { rowGraficoPiramide0.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_EXT"].ToString()); rowGraficoPiramide1.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_INV"].ToString()); rowGraficoPiramide2.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_PRE"].ToString()); rowGraficoPiramide3.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_RIS"].ToString()); rowGraficoPiramide4.Fase3 = formatNum.ConvertNum(drFase3[0]["CTV_LIQ"].ToString()); } dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide0); dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide1); dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide2); dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide3); dsS80ALT.GraficoPiramide.AddGraficoPiramideRow(rowGraficoPiramide4); #endregion #region Totale Risorse Allocate DataSetS80ALT.RisorseAllocateRow drDatiTotaleRisorseAllocate; drDatiTotaleRisorseAllocate = dsS80ALT.RisorseAllocate.NewRisorseAllocateRow(); drDatiTotaleRisorseAllocate.Descrizione = "TOTALE RISORSE ALLOCATE"; if (drFase1.Length > 0) { drDatiTotaleRisorseAllocate.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseAllocate"].ToString()); } if (drFase2.Length > 0) { drDatiTotaleRisorseAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseAllocate"].ToString()); } if (drFase3.Length > 0) { drDatiTotaleRisorseAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseAllocate"].ToString()); } dsS80ALT.RisorseAllocate.AddRisorseAllocateRow(drDatiTotaleRisorseAllocate); #endregion #region Risorse non allocate DataSetS80ALT.RisorseNonAllocateRow drRisorseNonAllocate; drRisorseNonAllocate = dsS80ALT.RisorseNonAllocate.NewRisorseNonAllocateRow(); drRisorseNonAllocate.Descrizione = "Risorse non allocate"; if (drFase1.Length > 0) { drRisorseNonAllocate.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseNonAllocate"].ToString()); } if (drFase2.Length > 0) { drRisorseNonAllocate.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseNonAllocate"].ToString()); } if (drFase3.Length > 0) { drRisorseNonAllocate.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseNonAllocate"].ToString()); } dsS80ALT.RisorseNonAllocate.AddRisorseNonAllocateRow(drRisorseNonAllocate); #endregion #region TOTALE RISORSE FINANZIARIE DataSetS80ALT.RisorseFinanziarieRow drDatiTotaleRisorseFinanziarie; drDatiTotaleRisorseFinanziarie = dsS80ALT.RisorseFinanziarie.NewRisorseFinanziarieRow(); drDatiTotaleRisorseFinanziarie.Descrizione = "TOTALE RISORSE FINANZIARIE"; if (drFase1.Length > 0) { drDatiTotaleRisorseFinanziarie.Fase1 = formatNum.ConvertNum(drFase1[0]["RisorseFinanziarie"].ToString()); } if (drFase2.Length > 0) { drDatiTotaleRisorseFinanziarie.Fase2 = formatNum.ConvertNum(drFase2[0]["RisorseFinanziarie"].ToString()); } if (drFase3.Length > 0) { drDatiTotaleRisorseFinanziarie.Fase3 = formatNum.ConvertNum(drFase3[0]["RisorseFinanziarie"].ToString()); } dsS80ALT.RisorseFinanziarie.AddRisorseFinanziarieRow(drDatiTotaleRisorseFinanziarie); #endregion #region Scoperto di conto corrente DataSetS80ALT.ContoCorrenteRow drDatiContoCorrenteNegativo; drDatiContoCorrenteNegativo = dsS80ALT.ContoCorrente.NewContoCorrenteRow(); drDatiContoCorrenteNegativo.Descrizione = "Scoperto di conto corrente"; if (drFase1.Length > 0) { if (drFase1[0]["ContoCorrente"].ToString() != "0,000") drDatiContoCorrenteNegativo.Fase1 = formatNum.ConvertNum(drFase1[0]["ContoCorrente"].ToString()); else drDatiContoCorrenteNegativo.Fase1 = "-"; //drDatiContoCorrenteNegativo.Fase1 = drFase1[0]["ContoCorrente"].ToString(); } if (drFase2.Length > 0) { if (drFase2[0]["ContoCorrente"].ToString() != "0,000") drDatiContoCorrenteNegativo.Fase2 = formatNum.ConvertNum(drFase2[0]["ContoCorrente"].ToString()); else drDatiContoCorrenteNegativo.Fase2 = "-"; //drDatiContoCorrenteNegativo.Fase2 = drFase2[0]["ContoCorrente"].ToString(); } if (drFase3.Length > 0) { if (drFase3[0]["ContoCorrente"].ToString() != "0,000") drDatiContoCorrenteNegativo.Fase3 = formatNum.ConvertNum(drFase3[0]["ContoCorrente"].ToString()); else drDatiContoCorrenteNegativo.Fase3 = "-"; //drDatiContoCorrenteNegativo.Fase3 = drFase3[0]["ContoCorrente"].ToString(); } dsS80ALT.ContoCorrente.AddContoCorrenteRow(drDatiContoCorrenteNegativo); #endregion #region Linea Self Negativa DataSetS80ALT.LineaSelfNegRow drDatiLineaSelfNeg; drDatiLineaSelfNeg = dsS80ALT.LineaSelfNeg.NewLineaSelfNegRow(); drDatiLineaSelfNeg.Descrizione = "Liquidità negativa \"Linee GP Eligo\""; if (drFase1.Length > 0) { if (drFase1[0]["CTVSELF"].ToString() != "0,000") drDatiLineaSelfNeg.Fase1 = formatNum.ConvertNum(drFase1[0]["CTVSELF"].ToString()); else drDatiLineaSelfNeg.Fase1 = "-"; } if (drFase2.Length > 0) { if (drFase2[0]["CTVSELF"].ToString() != "0,000") drDatiLineaSelfNeg.Fase2 = formatNum.ConvertNum(drFase2[0]["CTVSELF"].ToString()); else drDatiLineaSelfNeg.Fase2 = "-"; } if (drFase3.Length > 0) { if (drFase3[0]["CTVSELF"].ToString() != "0,000") drDatiLineaSelfNeg.Fase3 = formatNum.ConvertNum(dataThread.TotalSelfNegCurrentAccountValue).ToString(); else drDatiLineaSelfNeg.Fase3 = "-"; } dsS80ALT.LineaSelfNeg.AddLineaSelfNegRow(drDatiLineaSelfNeg); #endregion #region Operazioni in corso DataSetS80ALT.OperazioniInCorsoRow drDatiOperazioniInCorso; drDatiOperazioniInCorso = dsS80ALT.OperazioniInCorso.NewOperazioniInCorsoRow(); drDatiOperazioniInCorso.Descrizione = "Operazioni in corso"; if (drFase1.Length > 0) { drDatiOperazioniInCorso.Fase1 = formatNum.ConvertNum(drFase1[0]["Partita_viaggiante"].ToString()); } if (drFase2.Length > 0) { drDatiOperazioniInCorso.Fase2 = formatNum.ConvertNum(drFase2[0]["Partita_viaggiante"].ToString()); } if (drFase3.Length > 0) { //Will calculated from dataThread instead of SP //drDatiOperazioniInCorso.Fase3 = formatNum.ConvertNum(drFase3[0]["Partita_viaggiante"].ToString()); drDatiOperazioniInCorso.Fase3 = formatNum.ConvertNum(dataThread.PartiteViaggiantiInvestimento + dataThread.PartiteViaggiantiDisinvestimento).ToString(); } dsS80ALT.OperazioniInCorso.AddOperazioniInCorsoRow(drDatiOperazioniInCorso); #endregion #region Totale Patrimonto DataSetS80ALT.DatiTotaleRow drDatiTotale; drDatiTotale = dsS80ALT.DatiTotale.NewDatiTotaleRow(); drDatiTotale.Descrizione = "TOTALE PATRIMONIO"; if (drFase1.Length > 0) { drDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["TotalePatrimonio"].ToString()); } if (drFase2.Length > 0) { drDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["TotalePatrimonio"].ToString()); } if (drFase3.Length > 0) { //drDatiTotale.Fase3 = formatNum.ConvertNum(drFase3[0]["TotalePatrimonio"].ToString()); //Will calculated from dataThread instead of SP decimal totale; totale = decimal.Parse(drFase3[0]["TotalePatrimonio"].ToString()) + dataThread.PartiteViaggiantiInvestimento + dataThread.PartiteViaggiantiDisinvestimento; drDatiTotale.Fase3 = formatNum.ConvertNum(totale.ToString()); } dsS80ALT.DatiTotale.AddDatiTotaleRow(drDatiTotale); #endregion #region Dettaglio Movimenti Dopo Dati Totale DataSetS80ALT.RigheDopoDatiTotaleRow drDettMovDopoDatiTotale; drDettMovDopoDatiTotale = dsS80ALT.RigheDopoDatiTotale.NewRigheDopoDatiTotaleRow(); drDettMovDopoDatiTotale.Descrizione = "Movimenti da osservazione precedente"; drDettMovDopoDatiTotale.Fase1BlankValue = string.Empty; drDettMovDopoDatiTotale.Fase2BlankValue = string.Empty; drDettMovDopoDatiTotale.Fase3BlankValue = string.Empty; if (drFase1.Length > 0) { if (!drFase1[0]["DettMov"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase1 = formatNum.ConvertNum(drFase1[0]["DettMov"].ToString()); if (!drFase1[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota = drFase1[0]["NumeroAsterischiNota"].ToString(); drDettMovDopoDatiTotale.Fase1 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase1, obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase1NumeroAsterischiNota))); } } else { drDettMovDopoDatiTotale.Fase1 = "notvisible"; } } if (drFase2.Length > 0) { if (!drFase2[0]["DettMov"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase2 = formatNum.ConvertNum(drFase2[0]["DettMov"].ToString()); if (!drFase2[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota = drFase2[0]["NumeroAsterischiNota"].ToString(); drDettMovDopoDatiTotale.Fase2 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase2, obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase2NumeroAsterischiNota))); } } else { drDettMovDopoDatiTotale.Fase2 = "notvisible"; } } if (drFase3.Length > 0) { if (!drFase3[0]["DettMov"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase3 = formatNum.ConvertNum(drFase3[0]["DettMov"].ToString()); if (!drFase3[0]["NumeroAsterischiNota"].Equals(System.DBNull.Value)) { drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota = drFase3[0]["NumeroAsterischiNota"].ToString(); drDettMovDopoDatiTotale.Fase3 = string.Format("{0}{1}", drDettMovDopoDatiTotale.Fase3, obtainAsteriscs(Convert.ToInt16(drDettMovDopoDatiTotale.Fase3NumeroAsterischiNota))); } } else { drDettMovDopoDatiTotale.Fase3 = "notvisible"; } } dsS80ALT.RigheDopoDatiTotale.AddRigheDopoDatiTotaleRow(drDettMovDopoDatiTotale); DataTable dtDidascalieNote = SectionManager.GetDataSection(tabelleSessione, "[C6MartPeriodico].[PL_S80Alternativa_DidascalieNote]", dataThread); DataSetS80ALT.DettaglioMovimentiDidascalieNoteRow drDettaglioMovimentiDidascalieNoteRow; foreach (DataRow dr in dtDidascalieNote.Rows) { drDettaglioMovimentiDidascalieNoteRow = dsS80ALT.DettaglioMovimentiDidascalieNote.NewDettaglioMovimentiDidascalieNoteRow(); drDettaglioMovimentiDidascalieNoteRow.NumeroAsterischi = Convert.ToInt16(dr["NumeroAsterischi"]); drDettaglioMovimentiDidascalieNoteRow.Descrizione = dr["Descrizione"].ToString(); dsS80ALT.DettaglioMovimentiDidascalieNote.AddDettaglioMovimentiDidascalieNoteRow(drDettaglioMovimentiDidascalieNoteRow); } #endregion } dsr.DatiSezione = dsS80ALT; dsr.Esito = dsS80ALT.GraficoPiramide.Rows.Count; return dsr; } } }