2025-04-15 12:10:19 +02:00

645 lines
19 KiB
C#

using DataAccessLayer;
using PDFGenerator.BusinessLayer.DataSection;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.Linq;
using System.Text;
namespace PDFGenerator.BusinessLayer
{
public class DataThreadModel : ICloneable
{
#region private members
private string _rete;
private string _nomeRete;
private string _agente;
private string _cognomeAgente;
private string _nomeAgente;
private string _indirizzoAgente;
private string _capAgente;
private string _cittaAgente;
private string _telefonoAgente;
private string _codiceFiscale;
private string _cognomeCliente;
private string _nomeCliente;
private string _tipoReport;
private string _dataLotto;
private bool _profiloIsAct;
private List<ReportType> _reportsType;
private String _intermediario;
private String _area;
private String _areaestesa;
private String _progetto;
private int _idReportPDFDiagnosi;
private int _idReportPDFMonitoraggio;
private decimal _patrimoniocomplessivototalectv;
private decimal _patrimoniofinanziarioctv;
private decimal _patrimoniobancafideuramctv;
private decimal _patrimoniobancafideuramctvalnettocontocorrente;
private decimal _patrimonioterzictv;
private decimal _patrimonioterzicontocorrente;
private decimal _patrimonioterzictvalnettocontocorrente;
private decimal _patrimonioimmobiliarectv;
private decimal _patrimonioaltroctv;
private decimal _contoCorrente;
private decimal _partiteviaggiantiinvestimento;
private decimal _partiteviaggiantidisinvestimento;
private decimal _patrimonioNonRappresentabile;
private decimal _risorseNonAssociate;
private int _numeroIntermediari;
private bool adesioneSuccessivaAvanzato;
private bool generaDiagnosi;
private decimal _totaleS6;
private decimal _totaleS57;
private DataTable _pesopercentuale;
private DataTable _rischiorelativo;
private DataTable _controvaloritotali;
private DateTime _datafinetrimestrecorrente;
private bool periodico;
private DocumentPDF _documentPDF;
private string _CodiceContratto;
//private string _NomeFileReport;
private DataSectionResult _data;
private SezioneReport _sezioneReport;
private decimal _varrisorsenonassociate;
private decimal _coperturarisorsenonassociate;
private decimal _vartotalerisorsefinanziarie;
private decimal _coperturatotalerisorsefinanziarie;
private DataTable _schema;
private decimal _totalNegativeCurrentAccountValue;
private decimal _totalSelfNegCurrentAccountValue;
private string _ultimaSezioneStampata;
private DataAccessDE dataAccess;
#endregion
#region public members
public int NumeroIntermediari
{
get { return _numeroIntermediari; }
set { _numeroIntermediari = value; }
}
/// <summary>
/// Imposta o recupera il controvalore totale delle risorse non associate.
/// </summary>
public decimal RisorseNonAssociate
{
get { return _risorseNonAssociate; }
set { _risorseNonAssociate = value; }
}
public decimal TotaleS57
{
get { return _totaleS57; }
set { _totaleS57 = value; }
}
public decimal TotaleS6
{
get { return _totaleS6; }
set { _totaleS6 = value; }
}
/// <summary>
/// Imposta o recupera un indicatore booleano che indica se va generato anche il report di DIAGNOSI per la fase2.
/// </summary>
public bool GeneraDiagnosi
{
get { return generaDiagnosi; }
set { generaDiagnosi = value; }
}
/// <summary>
/// Imposta o recupera il nome del progetto d'investimento.
/// </summary>
public String Progetto
{
get { return _progetto; }
set { _progetto = value; }
}
public bool profiloIsAct
{
get { return _profiloIsAct; }
set { _profiloIsAct = value; }
}
/// <summary>
/// Imposta o recupera il controvalore del PatrimonioNonRappresentabile
/// </summary>
public decimal PatrimonioNonRappresentabile
{
get { return _patrimonioNonRappresentabile; }
set { _patrimonioNonRappresentabile = value; }
}
/// <summary>
/// Imposta o recupera la somma delle Partite Viaggianti in investimento.
/// </summary>
public decimal PartiteViaggiantiInvestimento
{
get { return _partiteviaggiantiinvestimento; }
set { _partiteviaggiantiinvestimento = value; }
}
/// <summary>
/// Imposta o recupera la somma delle Partite Viaggianti in disinvestimento.
/// </summary>
public decimal PartiteViaggiantiDisinvestimento
{
get { return _partiteviaggiantidisinvestimento; }
set { _partiteviaggiantidisinvestimento = value; }
}
/// <summary>
/// Imposta o recupera il controvalore del Conto corrente.
/// </summary>
public decimal ContoCorrente
{
get { return _contoCorrente; }
set { _contoCorrente = value; }
}
public decimal Patrimonioaltroctv
{
get { return _patrimonioaltroctv; }
set { _patrimonioaltroctv = value; }
}
/// <summary>
/// Imposta o recupera il controvalore immobiliare totale.
/// </summary>
public decimal Patrimonioimmobiliarectv
{
get { return _patrimonioimmobiliarectv; }
set { _patrimonioimmobiliarectv = value; }
}
/// <summary>
/// Patrimonio terzi al netto del CC
/// </summary>
public decimal PatrimonioterzictvAlNettoContoCorrente
{
get { return _patrimonioterzictvalnettocontocorrente; }
set { _patrimonioterzictvalnettocontocorrente = value; }
}
/// <summary>
/// Imposta o recupera il controvalore totale detenuto presso istituti terzi.
/// </summary>
public decimal Patrimonioterzictv
{
get { return _patrimonioterzictv; }
set { _patrimonioterzictv = value; }
}
/// <summary>
/// Contocorrente altri istituti.
/// </summary>
public decimal PatrimonioTerziContoCorrente
{
get { return _patrimonioterzicontocorrente; }
set { _patrimonioterzicontocorrente = value; }
}
public bool AdesioneSuccessivaAvanzato
{
get { return adesioneSuccessivaAvanzato; }
set { adesioneSuccessivaAvanzato = value; }
}
/// <summary>
/// Imposta o recupera il controvalore totale del patrimonio detenuto presso BF o SPI
/// </summary>
public decimal Patrimoniobancafideuramctv
{
get { return _patrimoniobancafideuramctv; }
set { _patrimoniobancafideuramctv = value; }
}
/// <summary>
/// Patrimonio BF al netto del CC
/// </summary>
public decimal PatrimonioBancaFideuramCtvAlNettoContoCorrente
{
get { return _patrimoniobancafideuramctvalnettocontocorrente; }
set { _patrimoniobancafideuramctvalnettocontocorrente = value; }
}
/// <summary>
/// Imposta o recupera il controvalore del patrimonio finanziario
/// </summary>
public decimal Patrimoniofinanziarioctv
{
get { return _patrimoniofinanziarioctv; }
set { _patrimoniofinanziarioctv = value; }
}
/// <summary>
/// Imposta o recupera il controvalore del patrimonio complessivo
/// </summary>
public decimal Patrimoniocomplessivototalectv
{
get { return _patrimoniocomplessivototalectv; }
set { _patrimoniocomplessivototalectv = value; }
}
/// <summary>
/// Imposta o recupera la descrizione estesa dell'area di bisogno
/// </summary>
public String AreaEstesa
{
get { return _areaestesa; }
set { _areaestesa = value; }
}
/// <summary>
/// Imposta o recupera il codice di area di bisogno
/// </summary>
public String Area
{
get { return _area; }
set { _area = value; }
}
/// <summary>
/// Imposta o recupera il codice della rete
/// </summary>
public string Rete
{
get { return _rete; }
set { _rete = value; }
}
/// <summary>
/// Imposta o recupera la descrizione estesa della rete
/// </summary>
public string NomeRete
{
get { return _nomeRete; }
set { _nomeRete = value; }
}
/// <summary>
/// Imposta o recupera l'agente
/// </summary>
public string Agente
{
get { return _agente; }
set { _agente = value; }
}
/// <summary>
/// Imposta o recupera il cognome dell'agente
/// </summary>
public string CognomeAgente
{
get { return _cognomeAgente; }
set { _cognomeAgente = value; }
}
/// <summary>
/// Imposta o recupera il nome dell'agente
/// </summary>
public string NomeAgente
{
get { return _nomeAgente; }
set { _nomeAgente = value; }
}
/// <summary>
/// Imposta o recupera l'indirizzo dell'agente
/// </summary>
public string IndirizzoAgente
{
get { return _indirizzoAgente; }
set { _indirizzoAgente = value; }
}
/// <summary>
/// Imposta o recupera il cap dell'agente
/// </summary>
public string CapAgente
{
get { return _capAgente; }
set { _capAgente = value; }
}
/// <summary>
/// Imposta o recupera la città dell'agente
/// </summary>
public string CittaAgente
{
get { return _cittaAgente; }
set { _cittaAgente = value; }
}
/// <summary>
/// Imposta o recupera la il telefono dell'agente
/// </summary>
public string TelefonoAgente
{
get { return _telefonoAgente; }
set { _telefonoAgente = value; }
}
public string CodiceFiscale
{
get { return _codiceFiscale; }
set { _codiceFiscale = value; }
}
/// <summary>
/// IdReport di Diagnosi del PdF generato su ReportManager
/// </summary>
public int IdReportPDFDiagnosi
{
get { return _idReportPDFDiagnosi; }
set { _idReportPDFDiagnosi = value; }
}
/// <summary>
/// IdReport di Monitoraggio del PdF generato su ReportManager
/// </summary>
public int IdReportPDFMonitoraggio
{
get { return _idReportPDFMonitoraggio; }
set { _idReportPDFMonitoraggio = value; }
}
/// <summary>
/// Imposta o recupera il cognome del cliente
/// </summary>
public string CognomeCliente
{
get { return _cognomeCliente; }
set { _cognomeCliente = value; }
}
/// <summary>
/// Imposta o recupera il nome del cliente
/// </summary>
public string NomeCliente
{
get { return _nomeCliente; }
set { _nomeCliente = value; }
}
/// <summary>
/// Imposta o recupera il tipo di report.
/// Attualemente si produzcono solo report per DIAGNOSI e MONITORAGGIO
/// </summary>
public string TipoReport
{
get { return _tipoReport; }
set { _tipoReport = value; }
}
public TipoContratto _tipoContratto;
public TipoContratto TipoContratto
{
get { return _tipoContratto; }
set { _tipoContratto = value; }
}
private bool _contrattoOld;
public bool ContrattoOld
{
get { return _contrattoOld; }
set { _contrattoOld = value; }
}
private bool _noMonitoraggio;
public bool NoMonitoraggio
{
get { return _noMonitoraggio; }
set { _noMonitoraggio = value; }
}
public List<ReportType> ReportsType
{
get { return _reportsType; }
set { _reportsType = value; }
}
public string Intermediario
{
get { return _intermediario; }
set { _intermediario = value; }
}
/// <summary>
/// Imposta o recupera il codice contratto
/// </summary>
public string CodiceContratto
{
get { return _CodiceContratto; }
set { _CodiceContratto = value; }
}
/// <summary>
/// Imposta o recupera un booleano che indica se si sta stampando un report Periodico(o Trimestrale).
/// Se true è un report Periodico(o Trimestrale), se false è un Giornaliero.
/// Il valore è settato sul file di configurazione app.config.
/// </summary>
public bool Periodico
{
get { return periodico; }
set { periodico = value; }
}
public string NomeFileReport
{
get
{
//if(_dataLotto == string.Empty)
// _dataLotto = DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture);
// if(_dataLotto)
DateTime data = DateTime.Now;
return String.Concat(CodiceContratto, "_", data.ToString("yyyyMMdd", CultureInfo.InvariantCulture));
//return String.Concat(CodiceContratto, "_", DataLotto);
}
}
public string DataLotto
{
set { _dataLotto = value; }
get
{
if (_dataLotto == string.Empty)
_dataLotto = DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture);
return _dataLotto;
}
}
/// <summary>
/// Imposta o recupera il riferimento a DocumentPDF
/// </summary>
public DocumentPDF DocumentPDF
{
get { return _documentPDF; }
set { _documentPDF = value; }
}
public DataSectionResult Data
{
get { return _data; }
set { _data = value; }
}
/// <summary>
/// Imposta o recupera il riferimento a SezioneReport
/// </summary>
public SezioneReport SezioneReport
{
get { return _sezioneReport; }
set { _sezioneReport = value; }
}
public decimal VaRRisorseNonAssociate
{
get { return _varrisorsenonassociate; }
set { _varrisorsenonassociate = value; }
}
public decimal CoperturaRisorseNonAssociate
{
get { return _coperturarisorsenonassociate; }
set { _coperturarisorsenonassociate = value; }
}
public decimal VaRTotaleRisorseFinanziarie
{
get { return _vartotalerisorsefinanziarie; }
set { _vartotalerisorsefinanziarie = value; }
}
public decimal CoperturaTotaleRisorseFinanziarie
{
get { return _coperturatotalerisorsefinanziarie; }
set { _coperturatotalerisorsefinanziarie = value; }
}
/// <summary>
/// Ottiene o imposta il datatable del peso percentuale.
/// Contiene i dati del Peso Percentuale per ciascuna areabisogno/progetto.
/// </summary>
public DataTable PesoPercentuale
{
get { return _pesopercentuale; }
set { _pesopercentuale = value; }
}
/// <summary>
/// Ottiene o imposta il datatable del rischio relativo.
/// Contiene i dati del Rischio Relativo per ciascuna areabisogno/progetto.
/// </summary>
public DataTable RischioRelativo
{
get { return _rischiorelativo; }
set { _rischiorelativo = value; }
}
/// <summary>
/// Imposta o recupera i controvalori totali di ciascuna area/progetto.
/// Utilizzata per l'allineamento dei controvalori totali tra la S82/S82BIS e la S86.
/// Gli stessi controvalori totali che scriviamo nelle sezioni S82 e S8BIS devono essere riportate nella S86.
/// </summary>
public DataTable ControvaloriTotali
{
get { return _controvaloritotali; }
set { _controvaloritotali = value; }
}
/// <summary>
/// Indica la data, utilizzata nel report trimestrale, di fine del trimestre corrente.
/// Il valore è impostato nel file di configurazione app.config
/// </summary>
public DateTime DataFineTrimestreCorrente
{
get { return _datafinetrimestrecorrente; }
set { _datafinetrimestrecorrente = value; }
}
/// <summary>
/// Ottiene o imposta lo schema della struttura del report da stampare.
/// </summary>
public DataTable Schema
{
get { return _schema; }
set { _schema = value; }
}
public decimal TotalNegativeCurrentAccountValue
{
get { return _totalNegativeCurrentAccountValue; }
set { _totalNegativeCurrentAccountValue = value; }
}
public decimal TotalSelfNegCurrentAccountValue
{
get { return _totalSelfNegCurrentAccountValue; }
set { _totalSelfNegCurrentAccountValue = value; }
}
public string UltimaSezioneStampata
{
get { return _ultimaSezioneStampata; }
set { _ultimaSezioneStampata = value; }
}
/// <summary>
/// Persiste il controvalore e la percentuale relativa degli intermediari.
/// Campo valorizzato nella DSS6 ed utilizzato nella DSS96 per il bilanciamento della percentuale maggiore:
/// </summary>
public DataTable DtDSS6Intermediari { get; set; }
public DataAccessDE DataAccess
{
get
{
return dataAccess;
}
set
{
dataAccess = value;
}
}
#endregion
#region ICloneable Members
public object Clone()
{
return this.MemberwiseClone();
}
#endregion
}
}