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;
}
}
}
}