385 lines
16 KiB
C#
385 lines
16 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.IO;
|
|
using System;
|
|
using PDFGenerator.BusinessLayer.DataSection;
|
|
using DataAccessLayer;
|
|
using System.Linq;
|
|
|
|
namespace PDFGenerator.BusinessLayer
|
|
{
|
|
/// <summary>
|
|
/// Summary description for SectionManager
|
|
/// </summary>
|
|
///
|
|
public class SectionManager
|
|
{
|
|
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
|
|
|
#region public methods
|
|
|
|
//public static DataTable GetDataSection(List<SessionStruct> tabelleSessione, string storedProcedure)
|
|
//{
|
|
// return getDataTable(tabelleSessione, storedProcedure, null);
|
|
//}
|
|
public static DataTable GetDataSection(List<SessionStruct> tabelleSessione, string storedProcedure, DataThread dataThread)
|
|
{
|
|
List<Parametro> listaParametri = null;
|
|
switch (storedProcedure.ToUpper())
|
|
{
|
|
case "[C6MART].[GESTIONE_S_INTERMEDIARI]":
|
|
case "[C6MARTPERIODICO].[GESTIONE_S_INTERMEDIARI]":
|
|
listaParametri = GetParameterListSeparateReteCodiceFiscale(dataThread.Rete, dataThread.CodiceFiscale);
|
|
break;
|
|
case "[C6MART].[PL_DSS1PATRIMONIOCOMPLESSIVO]":
|
|
listaParametri = GetParameterListSeparateReteAgente(dataThread.Agente, dataThread.CodiceFiscale, dataThread.Rete);
|
|
break;
|
|
case "[C6MARTPERIODICO].[PL_S80ALTERNATIVA_DIDASCALIENOTE]":
|
|
listaParametri = new List<Parametro>();
|
|
break;
|
|
/******************** modifica Nota Dinamica 11-03-2021 - Pino ************************************/
|
|
case "[C6STAGINGPERIODICO].[CLIENTEPRODOTTIFAI]":
|
|
listaParametri = GetParameterListReteCodFis(dataThread.Rete, dataThread.CodiceFiscale);
|
|
break;
|
|
/*************************************************************************************************/
|
|
default:
|
|
listaParametri = GetParameterList(dataThread.Agente, dataThread.CodiceFiscale, dataThread.Rete);
|
|
break;
|
|
}
|
|
return getDataTable(tabelleSessione, storedProcedure, listaParametri, dataThread.DataAccess);
|
|
}
|
|
//public static DataTable GetDataSection(List<SessionStruct> tabelleSessione, string storedProcedure, string codicePB, string codicecliente, string codicerete)
|
|
//{
|
|
// List<Parametro> listaParametri = null;
|
|
// switch (storedProcedure.ToUpper())
|
|
// {
|
|
// case "CTABLE_MENU_CARATTERISTICHE_PATRIMONIO":
|
|
// case "CTABLE_MENU_CARATTERISTICHE_VARIE":
|
|
// case "FRAMES":
|
|
// case "GENERATOR_SETCLIENTE":
|
|
// listaParametri = GetParameterListSeparateReteAgente(codicePB, codicecliente, codicerete);
|
|
// break;
|
|
|
|
// default:
|
|
// listaParametri = GetParameterList(codicePB, codicecliente, codicerete);
|
|
// break;
|
|
// }
|
|
// return getDataTable(tabelleSessione, storedProcedure, listaParametri);
|
|
//}
|
|
//public static DataTable GetDataSection(List<SessionStruct> tabelleSessione, string storedProcedure, string reteAgente, string codicecliente)
|
|
//{
|
|
// List<Parametro> listaParametri = null;
|
|
// switch (storedProcedure.ToUpper())
|
|
// {
|
|
// case "GENERATOR_SETCLIENTE":
|
|
// listaParametri = GetParameterListSeparateReteAgente(reteAgente.Remove(0, 1), codicecliente, reteAgente.Remove(1, reteAgente.Length - 1));
|
|
// break;
|
|
|
|
// default:
|
|
// listaParametri = GetParameterList(reteAgente, codicecliente);
|
|
// break;
|
|
// }
|
|
// return getDataTable(tabelleSessione, storedProcedure, listaParametri);
|
|
//}
|
|
#endregion
|
|
|
|
#region private methods
|
|
private static List<Parametro> GetParameterList(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype)
|
|
{
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterList(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterList(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype, string parameterName1, object _value1, DbType _dbtype1)
|
|
{
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterList(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
Parametro param1 = new Parametro();
|
|
param1.ParameterName = parameterName1;
|
|
param1.Value = _value1;
|
|
param1.DbType = _dbtype1;
|
|
ParameterStoredProcedureList.Add(param1);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterList(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype, string parameterName1, object _value1, DbType _dbtype1, string parameterName2, object _value2, DbType _dbtype2)
|
|
{
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterList(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
Parametro param1 = new Parametro();
|
|
param1.ParameterName = parameterName1;
|
|
param1.Value = _value1;
|
|
param1.DbType = _dbtype1;
|
|
ParameterStoredProcedureList.Add(param1);
|
|
|
|
Parametro param2 = new Parametro();
|
|
param2.ParameterName = parameterName2;
|
|
param2.Value = _value2;
|
|
param2.DbType = _dbtype2;
|
|
ParameterStoredProcedureList.Add(param2);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
|
|
}
|
|
private static List<Parametro> GetParameterListSeparateReteAgente(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype, string parameterName1, object _value1, DbType _dbtype1)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterListSeparateReteAgente(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
Parametro param1 = new Parametro();
|
|
param1.ParameterName = parameterName1;
|
|
param1.Value = _value1;
|
|
param1.DbType = _dbtype1;
|
|
ParameterStoredProcedureList.Add(param1);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterListSeparateReteAgente(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterListSeparateReteAgente(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterListSeparateReteCodiceFiscale(string codiceRete, string codiceCliente)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
param.ParameterName = "rete";
|
|
param.Value = codiceRete;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "codiceCliente";
|
|
param.Value = codiceCliente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterListSeparateReteAgente(string codicePB, string codiceCliente, string codiceRete)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
param.ParameterName = "rete";
|
|
param.Value = codiceRete;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "reteAgente";
|
|
param.Value = codiceRete + codicePB;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "codiceCliente";
|
|
param.Value = codiceCliente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterListSeparateReteAgente(string codicePB, string codiceCliente, string codiceRete, string parameterName, object _value, DbType _dbtype, string parameterName1, object _value1, DbType _dbtype1, string parameterName2, object _value2, DbType _dbtype2)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = GetParameterListSeparateReteAgente(codicePB, codiceCliente, codiceRete);
|
|
Parametro param = new Parametro();
|
|
param.ParameterName = parameterName;
|
|
param.Value = _value;
|
|
param.DbType = _dbtype;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
Parametro param1 = new Parametro();
|
|
param1.ParameterName = parameterName1;
|
|
param1.Value = _value1;
|
|
param1.DbType = _dbtype1;
|
|
ParameterStoredProcedureList.Add(param1);
|
|
|
|
Parametro param2 = new Parametro();
|
|
param2.ParameterName = parameterName2;
|
|
param2.Value = _value2;
|
|
param2.DbType = _dbtype2;
|
|
ParameterStoredProcedureList.Add(param2);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterList(string codicePB, string codiceCliente, string codiceRete)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
//param.ParameterName = "reteAgente";
|
|
//param.Value = codiceRete + codicePB;
|
|
param.ParameterName = "Rete";
|
|
param.Value = codiceRete;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "CodiceFiscale";
|
|
param.Value = codiceCliente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
|
|
/************************ Modifica nota Dinamica 11-03-2021 - Pino *********************************/
|
|
private static List<Parametro> GetParameterListReteCodFis(string rete,string codiceFiscale)
|
|
{
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
param.ParameterName = "Rete";
|
|
param.Value = rete;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "CodiceFiscale";
|
|
param.Value = codiceFiscale;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
}
|
|
|
|
public static DataTable GetDataTable(string storedProcedure, List<Parametro> listaParametri, DataAccessDE dataAccess)
|
|
{
|
|
DataTable dataTable = null;
|
|
try
|
|
{
|
|
dataTable = dataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerStampeC6, storedProcedure, listaParametri);
|
|
dataTable.TableName = storedProcedure;
|
|
return dataTable;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/***************************************************************************************************/
|
|
|
|
private static List<Parametro> GetParameterList(string reteAgente, string codiceCliente)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
param.ParameterName = "reteAgente";
|
|
param.Value = reteAgente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
|
|
param = new Parametro();
|
|
param.ParameterName = "codiceCliente";
|
|
param.Value = codiceCliente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static List<Parametro> GetParameterList(string codiceCliente)
|
|
{
|
|
|
|
List<Parametro> ParameterStoredProcedureList = new List<Parametro>();
|
|
|
|
Parametro param;
|
|
param = new Parametro();
|
|
param.ParameterName = "codiceCliente";
|
|
param.Value = codiceCliente;
|
|
param.DbType = DbType.String;
|
|
ParameterStoredProcedureList.Add(param);
|
|
|
|
return ParameterStoredProcedureList;
|
|
|
|
}
|
|
private static DataTable getDataTable(List<SessionStruct> tabelleSessione, string storedProcedure, List<Parametro> listaParametri, DataAccessDE dataAccess)
|
|
{
|
|
string chiave = storedProcedure;
|
|
foreach (Parametro parametro in listaParametri)
|
|
{
|
|
if (parametro.Value != null)
|
|
chiave += "|" + parametro.Value.ToString();
|
|
else
|
|
chiave += "|" + string.Empty;
|
|
|
|
}
|
|
SessionStruct sessionStruct = tabelleSessione.Find(delegate (SessionStruct s) { return s.Chiave == chiave; });
|
|
|
|
if (sessionStruct != null)
|
|
{
|
|
return sessionStruct.Tabella;
|
|
}
|
|
else {
|
|
DataTable dataTable = null;
|
|
try
|
|
{
|
|
dataTable = dataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerStampeC6, storedProcedure, listaParametri);
|
|
dataTable.TableName = storedProcedure;
|
|
tabelleSessione.Add(new SessionStruct(chiave, dataTable));
|
|
return dataTable;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
throw ex;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |