237 lines
7.6 KiB
C#
237 lines
7.6 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Collections;
|
|
using PDFGenerator.BusinessLayer.DataSection;
|
|
using System.Collections.Generic;
|
|
using PDFGenerator.BusinessLayer;
|
|
|
|
/// <summary>
|
|
/// Summary description for DSS76PatrimonioNonRappresentabileAssettClass
|
|
/// </summary>
|
|
public class DSS171PatrimonioNonRappresentabileAssettClass : IDataSection
|
|
{
|
|
|
|
private ArrayList _parametriFiltro;
|
|
private bool _Filtra;
|
|
private bool HasColumnCtvNonCoperto;
|
|
private bool _flagS86;
|
|
private bool _flagS86BIS;
|
|
|
|
/// <summary>
|
|
/// Indica se è stato flaggato sull'albero la sezione S86
|
|
/// </summary>
|
|
public bool FlagS86
|
|
{
|
|
get { return _flagS86; }
|
|
set { _flagS86 = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Indica se è stato flaggato sull'albero la sezione S86BIS
|
|
/// </summary>
|
|
public bool FlagS86BIS
|
|
{
|
|
get { return _flagS86BIS; }
|
|
set { _flagS86BIS = value; }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
public DSS171PatrimonioNonRappresentabileAssettClass()
|
|
{
|
|
_parametriFiltro = new ArrayList();
|
|
_Filtra = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="modalitavisualizzazione"></param>
|
|
public DSS171PatrimonioNonRappresentabileAssettClass(EmodalitaRappresentazione modalitavisualizzazione)
|
|
{
|
|
_modalitaRappresentazione = modalitavisualizzazione;
|
|
_parametriFiltro = new ArrayList();
|
|
_Filtra = false;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Modalità di visualizzazione:
|
|
/// La modalità normale mostra la colonna Intermediario(S76 in modalità normale),
|
|
/// La modalità alternativa mostra la colonna AreaProgetto(S76 in modalità alternativa).
|
|
/// Se non specificato di default viene impostata la modalità normale.
|
|
/// </summary>
|
|
public enum EmodalitaRappresentazione
|
|
{
|
|
normale,
|
|
alternativa
|
|
}
|
|
|
|
private EmodalitaRappresentazione _modalitaRappresentazione = EmodalitaRappresentazione.normale;
|
|
|
|
|
|
/// <summary>
|
|
/// Modalità di visualizzazione:
|
|
/// La modalità normale mostra la colonna Intermediario(S76 in modalità normale),
|
|
/// La modalità alternativa mostra la colonna AreaProgetto(S76 in modalità alternativa).
|
|
/// Se non specificato di default viene impostata la modalità normale.
|
|
/// </summary>
|
|
public EmodalitaRappresentazione modalitaRappresentazione
|
|
{
|
|
get { return _modalitaRappresentazione; }
|
|
set { _modalitaRappresentazione = value; }
|
|
}
|
|
|
|
|
|
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
|
|
{
|
|
DataSectionResult dsr = new DataSectionResult();
|
|
|
|
DataTable dt;
|
|
if(_modalitaRappresentazione==EmodalitaRappresentazione.normale)
|
|
{
|
|
dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
}
|
|
else
|
|
{
|
|
dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
|
|
if (_Filtra)
|
|
{
|
|
if (_parametriFiltro.Count > 0)
|
|
{
|
|
string parametriFiltro = "need_area in(";
|
|
for (int i = 0; i < _parametriFiltro.Count; i++)
|
|
{
|
|
parametriFiltro += "'" + _parametriFiltro[i].ToString() + "',";
|
|
}
|
|
|
|
parametriFiltro = parametriFiltro.Remove(parametriFiltro.Length - 1);
|
|
parametriFiltro += ")";
|
|
|
|
DataView dtFiltrata = new DataView(dt);
|
|
dtFiltrata.RowFilter = parametriFiltro;
|
|
dt = dtFiltrata.ToTable();
|
|
}
|
|
else
|
|
{
|
|
dt.Rows.Clear();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
DataRow dr;
|
|
Decimal ctvTotale = 0;
|
|
Decimal ctvTotaleNonCoperto = 0;
|
|
DataSetS76 ds76 = new DataSetS76();
|
|
|
|
foreach (DataRow r in dt.Rows)
|
|
{
|
|
// attraverso il metodo ClsFunzioniGeneriche recupero la data del contartto
|
|
|
|
dr = ds76.ContoCorrente.NewRow();
|
|
|
|
dr["Contratto"] = r["Contratto"];
|
|
|
|
dr["Descrizione"] = r["Descrizione"];
|
|
|
|
//if (r["PartitaViaggiante"] != DBNull.Value && Convert.ToDouble(r["PartitaViaggiante"]) > 0)
|
|
// dr["<IMAGE>"] = UtilityManager.getAppSetting("PartiteViaggianti");
|
|
//else
|
|
|
|
dr["<IMAGE>"] = string.Empty;
|
|
|
|
|
|
switch (_modalitaRappresentazione)
|
|
{
|
|
case EmodalitaRappresentazione.normale:
|
|
dr["Intermediario"] = r["Intermediario"];
|
|
break;
|
|
|
|
case EmodalitaRappresentazione.alternativa:
|
|
dr["AreaProgetto"] = r["Area"].ToString();
|
|
//V se il progetto è progetto investimento non deve apparire la riga / progetto
|
|
string progetto = r["Progetto"].ToString();
|
|
if (r["Area"].ToString().ToUpper() == "INVESTIMENTO")
|
|
if(progetto != "Progetto investimento")
|
|
dr["AreaProgetto"] += " / " + progetto;
|
|
//
|
|
break;
|
|
}
|
|
dr["ControvaloreNonCoperto"] = r["Controvalore"];
|
|
|
|
dr["Controvalore"] = r["controvalore_contratto"];
|
|
dr["DataSottoscrizione"] = r["DataSottoscrizione"];
|
|
|
|
|
|
#region Getstione controvalore non coperto
|
|
decimal ctv = 0;
|
|
decimal ctvContratto = 0;
|
|
|
|
if (r["Controvalore"] != DBNull.Value)
|
|
ctv = Convert.ToDecimal(r["Controvalore"]);
|
|
|
|
if (r["controvalore_contratto"] != DBNull.Value)
|
|
ctvContratto = Convert.ToDecimal(r["controvalore_contratto"]);
|
|
|
|
|
|
if (ctv != ctvContratto)
|
|
HasColumnCtvNonCoperto = true;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
ds76.ContoCorrente.Rows.Add(dr);
|
|
ctvTotale += (Decimal)r["controvalore_contratto"];
|
|
ctvTotaleNonCoperto += (Decimal)r["Controvalore"];
|
|
}
|
|
|
|
|
|
DataRow drTot = ds76.TotaleConti.NewRow();
|
|
drTot["Descrizione"] = "Totale Patrimonio non rappresentabile".ToUpper();
|
|
drTot["Valore"] = ctvTotale;
|
|
drTot["ValoreNonCoperto"] = ctvTotaleNonCoperto;
|
|
ds76.TotaleConti.Rows.Add(drTot);
|
|
|
|
// Aggiungo l'informazione per la parte grafica
|
|
if (ds76.ContoCorrente.ExtendedProperties.Contains("HasColumnCtvNonCoperto"))
|
|
ds76.ContoCorrente.ExtendedProperties["HasColumnCtvNonCoperto"] = HasColumnCtvNonCoperto;
|
|
else
|
|
ds76.ContoCorrente.ExtendedProperties.Add("HasColumnCtvNonCoperto", HasColumnCtvNonCoperto);
|
|
|
|
|
|
//Patrimonio non rappresentabile per asset class-
|
|
//se presente patrimonio non rappresentabile ed è stata selezionata solo la vista a livello di portafoglio complessivo,
|
|
//nella tabella non deve essere riportata la colonna Area/progetto
|
|
if (_flagS86 == false && _flagS86BIS == false)
|
|
ds76.ContoCorrente.AreaProgettoColumn.ExtendedProperties.Add("ToRemove", true);
|
|
|
|
|
|
dsr.DatiSezione = ds76;
|
|
dsr.Esito = ds76.ContoCorrente.Rows.Count;
|
|
|
|
return dsr;
|
|
|
|
}
|
|
|
|
public ArrayList ParametriFiltro
|
|
{
|
|
set
|
|
{
|
|
_Filtra = true;
|
|
_parametriFiltro = value;
|
|
}
|
|
}
|
|
}
|