219 lines
12 KiB
C#
219 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using Consulenza.ReportCommon;
|
|
using Consulenza.ReportWriter.Business;
|
|
|
|
|
|
namespace Consulenza.ReportWriter.Manager.Section.Base.Proposta
|
|
{
|
|
public class P13_A : Entity.Section
|
|
{
|
|
/// <summary>
|
|
/// Implementazione dell'oggetto P13_A. Questo oggetto è verrà stampato per il TipoOperazione = NS (Nuova Sottoscrizione).
|
|
/// </summary>
|
|
/// <param name="environmentFacade"></param>
|
|
/// <param name="idSection"></param>
|
|
public P13_A(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("P13_A", ex.Message, SectionLoggerMessageLevel.E, base.EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Disegna l'oggetto P13_A
|
|
/// </summary>
|
|
protected override sealed void Draw()
|
|
{
|
|
var dsP13 = GetDataSet();
|
|
|
|
#region P13 per prodotti KE
|
|
|
|
DataTable dtTabellaRiepilogo_KE = dsP13.Tables[0];
|
|
DataRow[] rowsTabellaRiepilogo_KE = dtTabellaRiepilogo_KE.Select("TipoOperazione='NS' and CodInterno='KE'");
|
|
|
|
DataView viewTabellaDati_KE = dsP13.Tables[1].DefaultView;
|
|
viewTabellaDati_KE.RowFilter = "codTipoOperazione='NS' and CodInterno='KE'";
|
|
DataTable dtTabellaDati_KE = viewTabellaDati_KE.ToTable();
|
|
|
|
if (rowsTabellaRiepilogo_KE.Length > 0)
|
|
{
|
|
if (dtTabellaDati_KE.Rows.Count > 0)
|
|
{
|
|
#region Tabella Riepilogo KE
|
|
|
|
TablePDF tabellaSubtitle_KE = new TablePDF(base.EnvironmentFacade.RendererFacade.XLeftLimit, 3, 2);
|
|
tabellaSubtitle_KE.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KE.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KE.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KE.Header = false;
|
|
tabellaSubtitle_KE.Footer = false;
|
|
tabellaSubtitle_KE.AlternateRow = false;
|
|
tabellaSubtitle_KE.ID = "tabellaSubtitle_P13_A_KE";
|
|
|
|
tabellaSubtitle_KE.Cells[0, 0].Value = "Frequenza switch: " + rowsTabellaRiepilogo_KE[0]["FrequenzaSwitch"].ToString();
|
|
tabellaSubtitle_KE.Cells[1, 0].Value = "Durata programma: " + rowsTabellaRiepilogo_KE[0]["DurataProgramma"].ToString();
|
|
tabellaSubtitle_KE.Cells[2, 0].Value = "Importo programma: " + Helper.FormatCurrency(rowsTabellaRiepilogo_KE[0]["ImportoProgramma"].ToString());
|
|
|
|
tabellaSubtitle_KE.Cells[0, 1].Value = "Investimento iniziale: " + rowsTabellaRiepilogo_KE[0]["InvestimentoIniziale"].ToString();
|
|
tabellaSubtitle_KE.Cells[0, 1].ColSpan = 3;
|
|
|
|
#endregion
|
|
|
|
#region Tabella Dati KE
|
|
|
|
decimal totaleControvaloreAttuale = Convert.ToDecimal(dtTabellaDati_KE.Compute("Sum(ControvaloreAttuale)", string.Empty));
|
|
decimal totaleControvaloreProspettico = Convert.ToDecimal(dtTabellaDati_KE.Compute("Sum(ControvaloreProspettico)", string.Empty));
|
|
|
|
TablePDF tabella_KE = new TablePDF(base.EnvironmentFacade.RendererFacade.XLeftLimit, dtTabellaDati_KE);
|
|
tabella_KE.ID = "Tabella_P13_A_KE";
|
|
tabella_KE.SubTitleTable = tabellaSubtitle_KE;
|
|
tabella_KE.TitleRowSpace = 5;
|
|
tabella_KE.TitleRow = true;
|
|
tabella_KE.TitleRowText = "NUOVA SOTTOSCRIZIONE DI IN PERSONA CON PROGRAMMA PERIODICO DI INVESTIMENTO";
|
|
|
|
tabella_KE.Columns.Add(new ColumnPDF("NomeProdotto", 223, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "NomeProdotto", "Nome prodotto"));
|
|
tabella_KE.Columns.Add(new ColumnPDF("ControvaloreAttuale", 150, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "ControvaloreAttuale", "Controvalore attuale (€)"));
|
|
tabella_KE.Columns.Add(new ColumnPDF("ControvaloreProspettico", 150, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "ControvaloreProspettico", "Controvalore prospettico (€)"));
|
|
|
|
|
|
// Footer
|
|
tabella_KE.FooterColumns.Add(new ColumnPDF("Totale", 223, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabella_KE.FooterColumns.Add(new ColumnPDF("TotaleControvaloreAttuale", 150, HorizontalAlignmentType.Destra, false, true, 8, ColumnType.Decimale));
|
|
tabella_KE.FooterColumns.Add(new ColumnPDF("TotaleControvaloreProspettico", 150, HorizontalAlignmentType.Destra, false, true, 8, ColumnType.Decimale));
|
|
|
|
tabella_KE.FooterCells[0, 0].Value = "Totale";
|
|
tabella_KE.FooterCells[1, 0].Value = totaleControvaloreAttuale.ToString();
|
|
tabella_KE.FooterCells[2, 0].Value = totaleControvaloreProspettico.ToString();
|
|
|
|
#endregion
|
|
|
|
base.AddElement(tabella_KE);
|
|
base.AddElement(new SpacePDF(20));
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region P13 per prodotti KS
|
|
|
|
DataTable dtTabellaRiepilogo_KS = dsP13.Tables[0];
|
|
DataRow[] rowsTabellaRiepilogo_KS = dtTabellaRiepilogo_KE.Select("TipoOperazione='NS' and CodInterno='KS'");
|
|
|
|
DataView viewTabellaDati_KS = dsP13.Tables[1].DefaultView;
|
|
viewTabellaDati_KS.RowFilter = "codTipoOperazione='NS' and CodInterno='KS'";
|
|
DataTable dtTabellaDati_KS = viewTabellaDati_KS.ToTable();
|
|
|
|
if (rowsTabellaRiepilogo_KS.Length > 0)
|
|
{
|
|
if (dtTabellaDati_KS.Rows.Count > 0)
|
|
{
|
|
#region Tabella Riepilogo KS
|
|
|
|
TablePDF tabellaSubtitle_KS = new TablePDF(base.EnvironmentFacade.RendererFacade.XLeftLimit, 3, 2);
|
|
tabellaSubtitle_KS.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KS.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KS.Columns.Add(new ColumnPDF("", 174, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabellaSubtitle_KS.Header = false;
|
|
tabellaSubtitle_KS.Footer = false;
|
|
tabellaSubtitle_KS.AlternateRow = false;
|
|
tabellaSubtitle_KS.ID = "tabellaSubtitle_P13_A_KS";
|
|
|
|
tabellaSubtitle_KS.Cells[0, 0].Value = "Frequenza switch: " + rowsTabellaRiepilogo_KS[0]["FrequenzaSwitch"].ToString();
|
|
tabellaSubtitle_KS.Cells[1, 0].Value = "Durata programma: " + rowsTabellaRiepilogo_KS[0]["DurataProgramma"].ToString();
|
|
tabellaSubtitle_KS.Cells[2, 0].Value = "Importo programma: " + Helper.FormatCurrency(rowsTabellaRiepilogo_KS[0]["ImportoProgramma"].ToString());
|
|
|
|
tabellaSubtitle_KS.Cells[0, 1].Value = "Investimento iniziale: " + rowsTabellaRiepilogo_KS[0]["InvestimentoIniziale"].ToString();
|
|
tabellaSubtitle_KS.Cells[0, 1].ColSpan = 3;
|
|
|
|
#endregion
|
|
|
|
#region Tabella Dati KS
|
|
|
|
decimal totaleControvaloreAttuale = Convert.ToDecimal(dtTabellaDati_KS.Compute("Sum(ControvaloreAttuale)", string.Empty));
|
|
decimal totaleControvaloreProspettico = Convert.ToDecimal(dtTabellaDati_KS.Compute("Sum(ControvaloreProspettico)", string.Empty));
|
|
|
|
TablePDF tabella_KS = new TablePDF(base.EnvironmentFacade.RendererFacade.XLeftLimit, dtTabellaDati_KS);
|
|
tabella_KS.ID = "Tabella_P13_A_KS";
|
|
tabella_KS.SubTitleTable = tabellaSubtitle_KS;
|
|
tabella_KS.TitleRowSpace = 5;
|
|
tabella_KS.TitleRow = true;
|
|
tabella_KS.TitleRowText = "NUOVA SOTTOSCRIZIONE DI IN PRIMA PERSONA CON PROGRAMMA PERIODICO DI INVESTIMENTO";
|
|
|
|
tabella_KS.Columns.Add(new ColumnPDF("NomeProdotto", 223, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "NomeProdotto", "Nome prodotto"));
|
|
tabella_KS.Columns.Add(new ColumnPDF("ControvaloreAttuale", 150, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "ControvaloreAttuale", "Controvalore attuale (€)"));
|
|
tabella_KS.Columns.Add(new ColumnPDF("ControvaloreProspettico", 150, HorizontalAlignmentType.Destra, false, false, 7, ColumnType.Decimale, "ControvaloreProspettico", "Controvalore prospettico (€)"));
|
|
|
|
|
|
// Footer
|
|
tabella_KS.FooterColumns.Add(new ColumnPDF("Totale", 223, HorizontalAlignmentType.Sinistra, false, true, 8, ColumnType.Testo));
|
|
tabella_KS.FooterColumns.Add(new ColumnPDF("TotaleControvaloreAttuale", 150, HorizontalAlignmentType.Destra, false, true, 8, ColumnType.Decimale));
|
|
tabella_KS.FooterColumns.Add(new ColumnPDF("TotaleControvaloreProspettico", 150, HorizontalAlignmentType.Destra, false, true, 8, ColumnType.Decimale));
|
|
|
|
tabella_KS.FooterCells[0, 0].Value = "Totale";
|
|
tabella_KS.FooterCells[1, 0].Value = totaleControvaloreAttuale.ToString();
|
|
tabella_KS.FooterCells[2, 0].Value = totaleControvaloreProspettico.ToString();
|
|
|
|
#endregion
|
|
|
|
base.AddElement(tabella_KS);
|
|
base.AddElement(new SpacePDF(20));
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataTable.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataSet.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected sealed override DataSet GetDataSet()
|
|
{
|
|
var parametri = new List<Parametro>();
|
|
|
|
#region Definizione dei parametri
|
|
|
|
var parametro = new Parametro
|
|
{
|
|
Direction = System.Data.ParameterDirection.Input,
|
|
DbType = System.Data.DbType.Int64,
|
|
ParameterName = "chiaveClientePB",
|
|
Value = base.EnvironmentFacade.ReportEnvironment.Cliente.Chiave
|
|
};
|
|
parametri.Add(parametro);
|
|
|
|
parametro = new Parametro
|
|
{
|
|
Direction = System.Data.ParameterDirection.Input,
|
|
DbType = System.Data.DbType.Int32,
|
|
ParameterName = "chiaveProposta",
|
|
Value = base.EnvironmentFacade.ReportEnvironment.Proposta.Chiave
|
|
};
|
|
parametri.Add(parametro);
|
|
|
|
#endregion
|
|
|
|
return EnvironmentFacade.ReportEnvironment.Proposta.PropostaCBUnica ? DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_Prop_P13", parametri)
|
|
: DataAccess.ExecuteDataSetStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_Prop_P13", parametri);
|
|
}
|
|
}
|
|
}
|