using System.Collections.Generic; using Consulenza.ReportCommon; using System.Data; using System; namespace Consulenza.Base.Business { //17-07-2015 modifica al visual studio 2013 linda fabiani: modificato il file proj // test checkin da vs 2010 public static class DataService { /// /// Salva il pdf del report passato in input nel database. /// Esegue la stored "WritePDFintoDB". /// Torna true o false a seconda se l'inserimento è andato a buon fine o meno. /// /// Chiave del cliente. /// Chiave del report(per il report di proposta passare la chiaveProposta). /// Tipologia per esteso del report. /// Stream dati del report da salvare. /// public static bool SalvaReport(long chiaveCliente, int chiaveReport, string tipologiaReport, byte[] report, bool unica) { #region Definizione dei parametri var parametri = new List(); var parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "ChiaveClientePB", Value = chiaveCliente }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int32, ParameterName = "ChiaveReport", Value = chiaveReport }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.AnsiString, ParameterName = "TipologiaReport", Value = tipologiaReport }; parametri.Add(parametro); parametro = new Parametro {ParameterName = "Report", DbType = DbType.Binary, Value = report}; parametri.Add(parametro); #endregion return unica ? DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "WritePDFintoDB", parametri) > -1 : DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServerConsulenzaBase, "WritePDFintoDB", parametri) > -1; } /// /// Classe che fornisce metodi per il recupero di informazioni del cliente. /// public static class ClienteManager { /// /// Recupera la chiave interna del cliente a partire dai parametri passati in input codiceRete e codiceFiscalePivaMandato eseguendo la stored REP_GETCHIAVECLIENTE. /// /// Codice della Rete cui il PB (Private Banker) è associato. /// Codice Fiscale /// Partita IVA /// Codice Mandato(nel caso di una Fiduciaria) /// public static long RecuperaChiaveCliente(string codiceRete, string codiceFiscale, string partitaIva, string codiceMandato, bool unica) { var parametri = new List(); #region Definizione dei parametri var parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.String, ParameterName = "codiceRete", Value = codiceRete }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.String, ParameterName = "codiceFiscale", Value = codiceFiscale }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.String, ParameterName = "pIva", Value = partitaIva }; parametri.Add(parametro); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.String, ParameterName = "codiceMandato", Value = codiceMandato }; parametri.Add(parametro); #endregion var objReturn = unica ? DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_GETCHIAVECLIENTE", parametri) : DataAccess.ExecuteScalarStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_GETCHIAVECLIENTE", parametri); if (objReturn != null) //return (long)objReturn; return Convert.ToInt64(objReturn); return -1; } /// /// Recupera le informazioni relative al cliente la cui chiave è passata in input. /// /// Chiave del cliente /// public static Cliente RecuperaCliente(long chiaveCliente, bool unica) { List parametri = new List(); Parametro parametro; Cliente cliente = new Cliente(); #region Definizione dei parametri parametro = new Parametro(); parametro.Direction = ParameterDirection.Input; parametro.DbType = DbType.Int64; parametro.ParameterName = "chiaveClientePb"; parametro.Value = chiaveCliente; parametri.Add(parametro); #endregion DataTable dt = unica ? DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_INFOCLIENTEPB", parametri) : DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_INFOCLIENTEPB", parametri); if (dt.Rows.Count > 0) { cliente.Chiave = chiaveCliente; cliente.CodiceFiscale = dt.Rows[0]["codFis"].ToString().ToUpper(); cliente.Nome = dt.Rows[0]["nome_cliente"].ToString().ToUpper(); cliente.Cognome = dt.Rows[0]["cognome_cliente"].ToString().ToUpper(); } return cliente; } } /// /// Classe che fornisce metodi per il recupero di informazioni del cliente. /// public static class PrivateBankerManager { /// /// Recupera le informazioni relative al private banker a partire dalla chiave del cliente passata in input. /// Nel caso in cui il pb recuperato è un livello TFA viene restituito il suo pb Manager, il cui codage è quello impostato nella proprietà CodiceManager. /// /// Chiave del cliente a partire dalla quale recuperare il private banker associato /// public static PrivateBanker RecuperaPrivateBanker(long chiaveCliente, bool unica) { var parametri = new List(); var privatebanker = new PrivateBanker(); #region Definizione dei parametri per REP_InfoClientePb var parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "chiaveClientePb", Value = chiaveCliente }; parametri.Add(parametro); #endregion var dt = unica ? DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_InfoClientePb", parametri) : DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_InfoClientePb", parametri); var livelloPb = dt.Rows[0]["livello_pb"] == DBNull.Value ? string.Empty : dt.Rows[0]["livello_pb"].ToString().ToUpper(); var codiceAgenteManager = dt.Rows[0]["codManager_pb"] == DBNull.Value ? string.Empty : dt.Rows[0]["codManager_pb"].ToString().ToUpper(); var codiceRete = dt.Rows[0]["rete"] == DBNull.Value ? string.Empty : dt.Rows[0]["rete"].ToString().ToUpper(); var codiceLivelloUtenteTfa = codiceRete.Equals("F") ? "TFA" : "APF"; if (livelloPb.ToUpper().Equals(codiceLivelloUtenteTfa)) { #region Definizione dei parametri per REP_InfoClientePbByCodAge parametri.Clear(); parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.AnsiString, ParameterName = "codage", Value = codiceAgenteManager }; var parametro2 = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.String, ParameterName = "reteage", Value = codiceRete }; parametri.Add(parametro); parametri.Add(parametro2); #endregion dt.Clear(); dt = unica ? DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_InfoClientePbByCodAge", parametri) : DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaBase, "REP_InfoClientePbByCodAge", parametri); } if (dt.Rows.Count > 0) { privatebanker.Cap = dt.Rows[0]["cap"] == DBNull.Value ? string.Empty : dt.Rows[0]["cap"].ToString().ToUpper(); privatebanker.Citta = dt.Rows[0]["citta"] == DBNull.Value ? string.Empty : dt.Rows[0]["citta"].ToString().ToUpper(); privatebanker.Codice = dt.Rows[0]["codage"] == DBNull.Value ? string.Empty : dt.Rows[0]["codage"].ToString().ToUpper(); privatebanker.CodiceRete = dt.Rows[0]["rete"] == DBNull.Value ? string.Empty : dt.Rows[0]["rete"].ToString().ToUpper(); privatebanker.Indirizzo = dt.Rows[0]["indirizzo"] == DBNull.Value ? string.Empty : dt.Rows[0]["indirizzo"].ToString().ToUpper(); privatebanker.Nominativo = dt.Rows[0]["nominativo_pb"] == DBNull.Value ? string.Empty : dt.Rows[0]["nominativo_pb"].ToString().ToUpper(); privatebanker.NumeroCivico = dt.Rows[0]["numcivico"] == DBNull.Value ? string.Empty : dt.Rows[0]["numcivico"].ToString().ToUpper(); privatebanker.PrefissoTelefono = dt.Rows[0]["ptel"] == DBNull.Value ? string.Empty : dt.Rows[0]["ptel"].ToString().ToUpper(); privatebanker.Telefono = dt.Rows[0]["tel"] == DBNull.Value ? string.Empty : dt.Rows[0]["tel"].ToString().ToUpper(); privatebanker.Livello = dt.Rows[0]["livello_pb"] == DBNull.Value ? string.Empty : dt.Rows[0]["livello_pb"].ToString().ToUpper(); privatebanker.CodiceManager = dt.Rows[0]["codManager_pb"] == DBNull.Value ? string.Empty : dt.Rows[0]["codManager_pb"].ToString().ToUpper(); } return privatebanker; } } public static class PrivateDelegatoManarger { /// /// Recupera le informazioni relative al private banker a partire dalla chiave del cliente passata in input. /// Nel caso in cui il pb recuperato è un livello TFA viene restituito il suo pb Manager, il cui codage è quello impostato nella proprietà CodiceManager. /// /// Chiave del cliente a partire dalla quale recuperare il private banker associato /// public static Delegato RecuperaDelegato(int chiaveClientePB, int chiaveProposta,bool unica) { var parametri = new List(); Parametro parametro; var privateDelegato = new Delegato(); #region Definizione dei parametri per REP_getDelegato if (chiaveClientePB > 0 ) { parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "chiaveClientePB", Value = chiaveClientePB }; parametri.Add(parametro); } parametro = new Parametro { Direction = ParameterDirection.Input, DbType = DbType.Int64, ParameterName = "chiaveProposta", Value = chiaveProposta }; parametri.Add(parametro); #endregion var dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_getDelegatoProposta", parametri); if ( dt.Rows.Count > 0 ) { privateDelegato.chiaveDelegato = Convert.ToInt32(dt.Rows[0]["chiaveDelegato"].ToString()); privateDelegato.CodiceFiscale = dt.Rows[0]["codFis"].ToString().ToUpper(); privateDelegato.Nome = dt.Rows[0]["nomeDelegato"].ToString().ToUpper(); privateDelegato.Cognome = dt.Rows[0]["cognomeDelegato"].ToString().ToUpper(); } return privateDelegato; } } } }