using System;
using Consulenza.ReportCommon;
using Consulenza.DataServices.fideuram.data.service;
namespace Consulenza.DataServices
{
///
/// Classe che gestisce i dati anagrafici del Cliente e del PrivateBanker
///
public class Anagrafica : FideuramData
{
private const string ClassName = "Anagrafica";
///
/// Costruttore
///
/// chiaveClientePb
public Anagrafica(Int64 chiaveClientePb)
{
ChiaveClientePb = chiaveClientePb;
}
///
/// Recupera l'anagrafica del cliente
///
///
public Cliente GetCliente()
{
var keyForCache = GetKeyForCache(ClassName, "GetCliente");
var cliente = new Cliente();
//if (CacheStore.Exists(keyForCache))
//{
// // Rileggo dalla cache
// cliente = CacheStore.Get(keyForCache);
//}
//else
//{
var data = Execute(new fideuram.data.service.rqData { clienteUnit = new fideuram.data.service.rqClienteUnit { anagraficaCliente = true } });
cliente = new Cliente
{
Chiave = ChiaveClientePb,
CodiceFiscale = data.responseData.clienteUnit.anagrafica.codiceFiscale,
Cognome = data.responseData.clienteUnit.anagrafica.cognome,
Nome = data.responseData.clienteUnit.anagrafica.nome,
PartitaIva = data.responseData.clienteUnit.anagrafica.partitaIva,
DataSottoscrizioneContratto = data.responseData.clienteUnit.anagrafica.dtSottoscrizione,
TipologiaContratto = data.responseData.clienteUnit.anagrafica.contratto,
DescrizioneProfilo = data.responseData.clienteUnit.anagrafica.descProfiloReport,
CodiceProfilo = data.responseData.clienteUnit.anagrafica.codProfilo
#region MOK
//Chiave = 250959, // CON PATR TERZI
//Chiave = 385351,
//Chiave = 196340,
//Chiave = 4880,
//CodiceFiscale = "ZZLDRN51E10B025O",
//Cognome = "AZZALIN",
//Nome = "ADRIANO",
//PartitaIva = "",
//DataSottoscrizioneContratto = DateTime.Today,
//TipologiaContratto = "OLD",
//DescrizioneProfilo = "AGGRESSIVO",
//CodiceProfilo = 1
#endregion
};
// Memorizzo in chache
// CacheStore.Add(keyForCache, cliente);
//}
return cliente;
}
///
/// Recupera l'anagrafica del private bancker
///
///
public PrivateBanker GetPrivateBanker()
{
// var keyForCache = GetKeyForCache(ClassName, "GetPrivateBanker");
var privateBanker = new PrivateBanker();
//if (CacheStore.Exists(keyForCache))
//{
// // Rileggo dalla cache
// privateBanker = CacheStore.Get(keyForCache);
//}
//else
//{
var data = Execute(new fideuram.data.service.rqData { clientePB = true });
privateBanker = new PrivateBanker
{
Cap = data.responseData.clientePB.holderProfile.zipCode ?? string.Empty,
Citta = data.responseData.clientePB.holderProfile.city ?? string.Empty,
Codice = data.responseData.clientePB.holderProfile.codAge ?? string.Empty,
CodiceRete = data.responseData.clientePB.holderProfile.network ?? string.Empty,
Indirizzo = data.responseData.clientePB.holderProfile.address ?? string.Empty,
//Livello = data.responseData.clientePB.holderProfile.rank.Trim(),
Nominativo = string.Format("{0} {1}", data.responseData.clientePB.holderProfile.surname, data.responseData.clientePB.holderProfile.name),
NumeroCivico = "", //TODO è nell'indirizzo
PrefissoTelefono =string.Empty,// data.responseData.clientePB.holderProfile.PrefissoTelefono ?? string.Empty, //TODO manca su ws e non è compreso nel phonenumber
Telefono = data.responseData.clientePB.holderProfile.phoneNumber ?? string.Empty
};
// Memorizzo in chache
//re.Add(keyForCache, privateBanker);
// }
return privateBanker;
}
///
/// Ritorna il Quastionario Mifid del cliente.
///
///
public questionarioBean GetQuestionarioCliente()
{
var keyForCache = GetKeyForCache(ClassName, "GetQuestionarioCliente");
var returnObject = new questionarioBean();
//if (CacheStore.Exists(keyForCache))
//{
// returnObject = CacheStore.Get(keyForCache);
//}
//else
//{
var data = Execute(new rqData { piramideModelloUnit = new rqPiramideModelloUnit { questionarioMifid = true } });
if (data.responseData.piramideModelloUnit.questionarioMifid != null)
returnObject = data.responseData.piramideModelloUnit.questionarioMifid;
// Memorizzo in chache
// CacheStore.Add(keyForCache, returnObject);
//}
return returnObject;
}
}
}