2025-06-03 15:11:16 +02:00

157 lines
7.9 KiB
C#
Raw Blame History

using System;
using System.Data;
using System.Text;
using System.Collections.Generic;
//using it.bancafideuram.nac;
namespace PDFGenerator.BusinessLayer.DataSection
{
public class DS25Anagrafica : IDataSection
{
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
public DataSectionResult getDataSection(List<SessionStruct> tabelleSessione, string querySql, DataThread dataThread)
{
try
{
/*** TEST - Verifica Tempistica 09/11/2023 - Pino ****/
/*** Inserimento log per verifica tempistica della sezione ***/
//DateTimeOffset dateOffsetValueIni = DateTimeOffset.Parse(DateTime.Now.ToString("hh:mm:ss.ffff"));
/**************************************************************/
DataSectionResult dsr = new DataSectionResult();
FormatNum MAmi = new FormatNum();
// Ritorna i dati per la sezione
DataTable dt = SectionManager.GetDataSection(tabelleSessione, querySql, dataThread);
DatasetS25 ds25 = new DatasetS25();
DataRow rowAnag = ds25.DatiAnagrafici.NewRow();
DataRow dr = ds25.DatiAnagrafici.NewRow();
if (dt!=null && dt.Rows.Count > 0)
{
rowAnag = dt.Rows[0];
dr = ds25.DatiAnagrafici.NewRow();
dr["Descrizione"] = "Cliente";
if (dataThread.CodiceFiscale.Length == 11 || dataThread.CodiceFiscale.Contains("@"))
{
//persone giuridiche
if (dataThread.CodiceFiscale.Contains("@"))
{
string[] codiceMandato = dataThread.CodiceFiscale.Split('@');
dr["Valore"] = MAmi.CapitalizeText(dataThread.CognomeCliente) + " " + MAmi.CapitalizeText(dataThread.NomeCliente) + " - " + codiceMandato[1];
}
else
dr["Valore"] = MAmi.CapitalizeText(dataThread.CognomeCliente) + " " + MAmi.CapitalizeText(dataThread.NomeCliente) + " (" + rowAnag["CodiceFiscale"].ToString() + ")";
}
else
{
//persone fisiche
dr["Valore"] = MAmi.CapitalizeText(dataThread.NomeCliente) + " " + MAmi.CapitalizeText(dataThread.CognomeCliente) + " (" + rowAnag["CodiceFiscale"].ToString() + ")";
//dr["Valore"] = CapitalizeText(rowAnag["cliente"].ToString()) + " (" + rowAnag["CodiceFiscale"].ToString() + ")";
}
ds25.DatiAnagrafici.Rows.Add(dr);
if (!rowAnag.IsNull("DatadiNascita"))
{
//Se <20> una persona giuridica non mostro la data
if (dataThread.CodiceFiscale.Length != 11 || dataThread.CodiceFiscale.Contains("@"))
{
dr = ds25.DatiAnagrafici.NewRow();
dr["Descrizione"] = "Data di nascita";
//strAppo = new StringBuilder(rowAnag["DataNascita"].ToString());
//strAppo.Append(" (");
//System.TimeSpan eta = DateTime.Now - Convert.ToDateTime(rowAnag["DataNascita"]);
//strAppo.Append((int)Math.Round(eta.Days / 365.25F, 0));
//strAppo.Append(" anni)");
if (!rowAnag.IsNull("Eta"))
dr["Valore"] = rowAnag["DatadiNascita"].ToString() + " (" + rowAnag["Eta"].ToString() + " anni)";
else
dr["Valore"] = rowAnag["DatadiNascita"].ToString();
ds25.DatiAnagrafici.Rows.Add(dr);
}
}
//if (!rowAnag.IsNull("Professione")) {
// dr = ds25.DatiAnagrafici.NewRow();
// dr["Descrizione"] = "Professione";
// dr["Valore"] = rowAnag["Professione"].ToString();
// ds25.DatiAnagrafici.Rows.Add(dr);
//}
//verificare lo stato civile
//if (!rowAnag.IsNull("statoCivile")) {
// dr = ds25.DatiAnagrafici.NewRow();
// dr["Descrizione"] = "Stato civile";
// dr["Valore"] = rowAnag["statoCivile"].ToString();
// ds25.DatiAnagrafici.Rows.Add(dr);
//}
if (!dataThread.CodiceFiscale.Contains("@"))
{
if (!rowAnag.IsNull("nucleoFamiliare"))
{
dr = ds25.DatiAnagrafici.NewRow();
dr["Descrizione"] = "Nucleo familiare";
//strAppo = new StringBuilder(rowAnag["NumeroComponenti"].ToString());
//strAppo.Append(" (");
//strAppo.Append(rowAnag["NumeroFigli"].ToString());
//if (Convert.ToInt16(rowAnag["NumeroFigli"].ToString()) == 1)
// strAppo.Append(" figlio)");
//else
// strAppo.Append(" figli)");
dr["Valore"] = rowAnag["nucleoFamiliare"].ToString();
//ds25.DatiAnagrafici.Rows.Add(dr);
}
if (!rowAnag.IsNull("Residenza"))
{
dr = ds25.DatiAnagrafici.NewRow();
dr["Descrizione"] = "Indirizzo";
////CORSO VITTORIO EMANUELE II 154, 00186 ROMA (RM)
//string temp = ClsFunzioniGeneriche.FormattaIndirizzo(rowAnag["Indirizzo"].ToString().Trim());
//dr["Valore"] = temp + ", " + MAmi.CapitalizeText(rowAnag["Cap"].ToString()) + MAmi.CapitalizeText(rowAnag["Citta"].ToString()) + "(" + rowAnag["Provincia"].ToString().Trim() + ")";
//dr["Valore"] = MAmi.CapitalizeText(rowAnag["Indirizzo"].ToString()).Trim() + ", " + MAmi.CapitalizeText(rowAnag["Cap"].ToString()) + MAmi.CapitalizeText(rowAnag["Citta"].ToString()) + "(" + rowAnag["Provincia"].ToString().Trim() + ")";
string indirizzo = rowAnag["Indirizzo"].ToString().Trim();
if (indirizzo.EndsWith(","))
indirizzo = indirizzo.Remove(indirizzo.Length - 1, 1);
string presso = rowAnag["Presso"] == DBNull.Value ? string.Empty + " " : "<BR>C/O " + rowAnag["Presso"].ToString().Trim() + ", ";
//dr["Valore"] = indirizzo + ", " + (dataThread.Periodico ? presso : string.Empty) + rowAnag["Cap"].ToString() + " " + rowAnag["Citta"].ToString() + " (" + rowAnag["Provincia"].ToString().Trim() + ")";
dr["Valore"] = indirizzo + ", " + presso + rowAnag["Cap"].ToString() + " " + rowAnag["Citta"].ToString() + " (" + rowAnag["Provincia"].ToString().Trim() + ")";
dr["Valore"] = dr["Valore"].ToString().Replace("()", string.Empty);
//dr["Valore"] = rowAnag["Indirizzo"].ToString();
ds25.DatiAnagrafici.Rows.Add(dr);
}
}
}
dsr.DatiSezione = ds25;
if (dt == null || dt.Rows.Count == 0)
dsr.Esito = 0;
else
dsr.Esito = dt.Rows.Count;
return dsr;
}
catch (Exception ex)
{
logger.Error(ex);
throw ex;
}
}
}
}