2025-04-15 12:10:19 +02:00

1017 lines
47 KiB
C#
Raw Blame History

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Security.Cryptography.X509Certificates;
using System.Net.Security;
using PrometeiaMessage.bancafideuram.nac.globalposition;
using PrometeiaMessage;
using System.Collections.Generic;
public partial class GlobalPositionWS
{
public DataTable GetContrattoUnitLinkedSaldo(ChiaveCliente chiave, string codiceContratto, InfoClient infoCliente, int chiaveclientepb)
{
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetContrattoUnitLinkedSaldo" + codiceContratto;
HttpContext contesto = HttpContext.Current;
object contrattoSaldo = null;
if (contesto != null && contesto.Session != null) contrattoSaldo = contesto.Session[chiaveS];
if (contrattoSaldo != null)
{
return (DataTable)contrattoSaldo;
}
else
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtGetContrattoUnitLinkedSaldo;
ContrattoUnitLinkedSaldoRes risposta;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
risposta = wsglobalposition.getContrattoUnitLinkedSaldo(chiave, codiceContratto, infoCliente);
#endregion
#region Creazione DataTable GetContrattoUnitLinkedSaldo e aggiungo una riga e la aggiungo alla tabella
dtGetContrattoUnitLinkedSaldo = new DataTable("DTCONTRATTOUNITLINKEDSALDO");
dtGetContrattoUnitLinkedSaldo.Columns.Add("CODICECONTRATTO", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("CODICEINTERNO", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("CODICESOTTOPRODOTTO", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("CONTROVALORE", typeof(Double));
dtGetContrattoUnitLinkedSaldo.Columns.Add("DATADIRIFERIMENTO", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("ISINFITTIZIO", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("COD_ISIN_SOTTOSTANTE", typeof(String));
dtGetContrattoUnitLinkedSaldo.Columns.Add("COD_MAF_SOTTOSTANTE", typeof(String));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0)
{
foreach (ContrattoUnitLinkedSaldo ul in risposta.tuttiContrattiUnitLinkedSaldo)
{
row = dtGetContrattoUnitLinkedSaldo.NewRow();
row["CODICECONTRATTO"] = ul.codiceContratto;
row["CODICEINTERNO"] = ul.codiceInterno;
row["CODICESOTTOPRODOTTO"] = ul.codicesottoProdotto;
row["CONTROVALORE"] = ul.controvalore;
row["DATADIRIFERIMENTO"] = ul.datadiRiferimento;
row["COD_ISIN_SOTTOSTANTE"] = ul.codiceISINsottostante;
row["COD_MAF_SOTTOSTANTE"] = ul.codiceMAFsottostante;
// Modifica relativa ai prodotti SKANDIA
if (ul.isinFittizio != null && ul.isinFittizio != "")
row["ISINFITTIZIO"] = ul.isinFittizio;
else
row["ISINFITTIZIO"] = ul.codiceISINsottostante;
dtGetContrattoUnitLinkedSaldo.Rows.Add(row);
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetContrattoUnitLinkedSaldo", ex.InnerException);
}
if (contesto != null && contesto.Session != null) contesto.Session[chiaveS] = dtGetContrattoUnitLinkedSaldo;
return dtGetContrattoUnitLinkedSaldo;
}
}
public DataTable GetContrattoSintesiPerCliente(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb)
{
////Ratt<74>
//this.setCodiceFiscaleMandatoFiduciarie(ref chiave);
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetContrattoSintesiPerCliente";
HttpContext contesto = HttpContext.Current;
object contratto = null;
if (contesto != null && contesto.Session != null) contratto = contesto.Session[chiaveS];
if (contratto != null)
{
return (DataTable)contratto;
}
else
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtGetContrattoSintesiPerCliente;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
ContrattoSintesiperClienteRes risposta = wsglobalposition.getContrattoSintesiperCliente(chiave, infoCliente);
#endregion
#region Creazione DataTable GetContrattoSintesiPerCliente e aggiungo una riga e la aggiungo alla tabella
dtGetContrattoSintesiPerCliente = new DataTable("DTCONTRATTOSINTESIPERCLIENTE");
dtGetContrattoSintesiPerCliente.Columns.Add("codiceContratto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("numeroPolizza", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("Rubricato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("CustodiaGaranzia", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("tipoProdotto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceInterno", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("isin", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("conto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codicesottoProdotto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceMAF", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctKey", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctTitoloCollegato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctDescrizionteTitoloCollegato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("quote", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("prezzo", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("ctv", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("partvia", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("partviaal", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("datadiRiferimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("datadiSottoscrizione", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataValNavAl", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceStato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataInizioRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataTrimestreRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaSottoscrizione", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaInizioTrimestre", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("dataAnnoRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaInizioAnno", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("valore", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("CVN", typeof(double));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0)
{
foreach (ContrattoSintesiperCliente ul in risposta.tuttiContrattiSintesi)
{
row = dtGetContrattoSintesiPerCliente.NewRow();
row["CODICECONTRATTO"] = ul.codiceContratto;
row["numeroPolizza"] = ul.numeroPolizza;
row["Rubricato"] = ul.Rubricato;
if (ul.CustodiaGaranzia != "" || ul.CustodiaGaranzia != null)
row["CustodiaGaranzia"] = ul.CustodiaGaranzia;
row["tipoProdotto"] = ul.tipoProdotto;
row["codiceInterno"] = ul.codiceInterno;
row["conto"] = ul.Conto;
row["codicesottoProdotto"] = ul.codicesottoProdotto;
row["codiceMAF"] = ul.codiceMAF;
row["pctKey"] = ul.pctKey;
row["pctTitoloCollegato"] = ul.pctTitoloCollegato;
row["pctDescrizionteTitoloCollegato"] = ul.pctDescrizionteTitoloCollegato;
if (ul.isin != "" || ul.isin != null)
row["isin"] = ul.isin;
//if (ul.quote != DBNull.Value || ul.quote != null)
row["quote"] = ul.quote;
//if (ul.prezzo != DBNull.Value || ul.prezzo != null)
row["prezzo"] = ul.prezzo;
//if (ul.ctv != DBNull.Value || ul.ctv != null)
row["ctv"] = ul.ctv;
row["partvia"] = ul.partvia;
row["partviaal"] = ul.partviaal;
row["datadiRiferimento"] = ul.datadiRiferimento;
// D modifica del 08/09/2009
// In caso di prodotti di tipo Gestione Patrimoniale (GE, GES) in modo analogo a quanto attualmente facciamo per titoli e fondi (DT, FI) la data di sottoscrizione viene valorizzata con il campo DATA INIZIO RENDIMENTO ( dai dati del SIMPB Get contratto sintesi).
// In caso questa sia null, mettiamo la data sottoscrizione
if (ul.tipoProdotto != null && ul.tipoProdotto != "" && (ul.tipoProdotto.Trim().ToUpper() == "DT" || ul.tipoProdotto.Trim().ToUpper() == "FI" || ul.tipoProdotto.Trim().ToUpper() == "GE" || ul.tipoProdotto.Trim().ToUpper() == "GES" || ul.tipoProdotto.Trim().ToUpper() == "GP"))
{
if (ul.dataInizioRendimento != null && ul.dataInizioRendimento != "")
row["datadiSottoscrizione"] = ul.dataInizioRendimento;
else
row["datadiSottoscrizione"] = ul.datadiSottoscrizione;
}
else
row["datadiSottoscrizione"] = ul.datadiSottoscrizione;
row["dataValNavAl"] = ul.dataValNavAl;
row["codiceStato"] = ul.codiceStato;
row["dataInizioRendimento"] = ul.dataInizioRendimento;
row["dataTrimestreRendimento"] = ul.dataTrimestreRendimento;
//if (ul.rendimentoDaSottoscrizione != DBNull.Value || ul.rendimentoDaSottoscrizione != null)
row["rendimentoDaSottoscrizione"] = ul.rendimentoDaSottoscrizione;
row["rendimentoDaInizioTrimestre"] = ul.rendimentoDaInizioTrimestre;
row["dataAnnoRendimento"] = ul.dataAnnoRendimento;
//if (ul.rendimentoDaInizioAnno != DBNull.Value || ul.rendimentoDaInizioAnno != null)
row["rendimentoDaInizioAnno"] = ul.rendimentoDaInizioAnno;
//if (ul.valore != DBNull.Value || ul.valore != null)
row["valore"] = ul.valore;
// Versato netto
row["CVN"] = ul.CVN;
dtGetContrattoSintesiPerCliente.Rows.Add(row);
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetContrattoSintesiPerCliente", ex.InnerException);
}
if (contesto != null && contesto.Session != null) contesto.Session[chiaveS] = dtGetContrattoSintesiPerCliente;
return dtGetContrattoSintesiPerCliente;
}
}
public DataTable GetContrattoSintesiPerClienteCaricamentoAsul(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb)
{
////Ratt<74>
//this.setCodiceFiscaleMandatoFiduciarie(ref chiave);
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetContrattoSintesiPerClienteCaricamentoAsul";
HttpContext contesto = HttpContext.Current;
object contrattoAsul = null;
if (contesto != null && contesto.Session != null) contrattoAsul = contesto.Session[chiaveS];
if (contrattoAsul != null)
{
return (DataTable)contrattoAsul;
}
else
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtGetContrattoSintesiPerCliente;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
ContrattoSintesiperClienteRes risposta = wsglobalposition.getContrattoSintesiperCliente(chiave, infoCliente);
#endregion
#region Creazione DataTable GetContrattoSintesiPerCliente e aggiungo una riga e la aggiungo alla tabella
dtGetContrattoSintesiPerCliente = new DataTable("DTCONTRATTOSINTESIPERCLIENTE");
dtGetContrattoSintesiPerCliente.Columns.Add("codiceContratto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("numeroPolizza", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("Rubricato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("CustodiaGaranzia", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("tipoProdotto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceInterno", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("isin", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("conto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codicesottoProdotto", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceMAF", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctKey", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctTitoloCollegato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("pctDescrizionteTitoloCollegato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("quote", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("prezzo", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("ctv", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("partvia", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("partviaal", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("datadiRiferimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("datadiSottoscrizione", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataValNavAl", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("codiceStato", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataInizioRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("dataTrimestreRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaSottoscrizione", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaInizioTrimestre", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("dataAnnoRendimento", typeof(String));
dtGetContrattoSintesiPerCliente.Columns.Add("rendimentoDaInizioAnno", typeof(double));
dtGetContrattoSintesiPerCliente.Columns.Add("valore", typeof(double));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0)
{
foreach (ContrattoSintesiperCliente ul in risposta.tuttiContrattiSintesi)
{
row = dtGetContrattoSintesiPerCliente.NewRow();
row["CODICECONTRATTO"] = ul.codiceContratto;
row["numeroPolizza"] = ul.numeroPolizza;
row["Rubricato"] = ul.Rubricato;
if (ul.CustodiaGaranzia != "" || ul.CustodiaGaranzia != null)
row["CustodiaGaranzia"] = ul.CustodiaGaranzia;
row["tipoProdotto"] = ul.tipoProdotto;
row["codiceInterno"] = ul.codiceInterno;
row["conto"] = ul.Conto;
row["codicesottoProdotto"] = ul.codicesottoProdotto;
row["codiceMAF"] = ul.codiceMAF;
row["pctKey"] = ul.pctKey;
row["pctTitoloCollegato"] = ul.pctTitoloCollegato;
row["pctDescrizionteTitoloCollegato"] = ul.pctDescrizionteTitoloCollegato;
//if (ul.quote != DBNull.Value || ul.quote != null)
row["quote"] = ul.quote;
//if (ul.prezzo != DBNull.Value || ul.prezzo != null)
row["prezzo"] = ul.prezzo;
//if (ul.ctv != DBNull.Value || ul.ctv != null)
row["ctv"] = ul.ctv;
row["partvia"] = ul.partvia;
row["partviaal"] = ul.partviaal;
row["datadiRiferimento"] = ul.datadiRiferimento;
row["datadiSottoscrizione"] = ul.datadiSottoscrizione;
row["dataValNavAl"] = ul.dataValNavAl;
row["codiceStato"] = ul.codiceStato;
row["dataInizioRendimento"] = ul.dataInizioRendimento;
row["dataTrimestreRendimento"] = ul.dataTrimestreRendimento;
//if (ul.rendimentoDaSottoscrizione != DBNull.Value || ul.rendimentoDaSottoscrizione != null)
row["rendimentoDaSottoscrizione"] = ul.rendimentoDaSottoscrizione;
row["rendimentoDaInizioTrimestre"] = ul.rendimentoDaInizioTrimestre;
row["dataAnnoRendimento"] = ul.dataAnnoRendimento;
//if (ul.rendimentoDaInizioAnno != DBNull.Value || ul.rendimentoDaInizioAnno != null)
row["rendimentoDaInizioAnno"] = ul.rendimentoDaInizioAnno;
//if (ul.valore != DBNull.Value || ul.valore != null)
row["valore"] = ul.valore;
dtGetContrattoSintesiPerCliente.Rows.Add(row);
}
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetContrattoSintesiPerCliente", ex.InnerException);
}
if (contesto != null && contesto.Session != null) contesto.Session[chiaveS] = dtGetContrattoSintesiPerCliente;
return dtGetContrattoSintesiPerCliente;
}
}
/// <summary>
///
/// </summary>
/// <param name="chiave"></param>
/// <param name="codiceContratto"></param>
/// <param name="infoCliente"></param>
/// <returns></returns>
public DataTable GetContrattoContoCorrenteSaldo(ChiaveCliente chiave, string conto, InfoClient infoCliente)
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtContrattoContoCorrenteSaldo;
ContrattoContoCorrenteSaldoRes risposta;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
risposta = wsglobalposition.getContrattoContoCorrenteSaldo(chiave, conto, infoCliente);
#endregion
#region Creazione DataTable GetContrattoUnitLinkedSaldo e aggiungo una riga e la aggiungo alla tabella
dtContrattoContoCorrenteSaldo = new DataTable("DTCONTRATTOCONTOCORRENTESALDO");
dtContrattoContoCorrenteSaldo.Columns.Add("SaldoContabile", typeof(decimal));
dtContrattoContoCorrenteSaldo.Columns.Add("SaldoDisponibile", typeof(decimal));
if (risposta.info.errors[0].codiceErrore == 0)
{
dtContrattoContoCorrenteSaldo.Rows.Add(Convert.ToDecimal(risposta.contrattoContoCorrenteSaldo.saldoContabile), Convert.ToDecimal(risposta.contrattoContoCorrenteSaldo.saldoDisponibile));
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: getContrattoContoCorrenteSaldo", ex.InnerException);
}
return dtContrattoContoCorrenteSaldo;
}
/// <summary>
/// Recupera un datatable contenente le partite viaggianti in investimento.
/// </summary>
/// <param name="chiave"></param>
/// <param name="infoCliente"></param>
/// <returns></returns>
public DataTable GetPartiteViaggiantiInv(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb)
{
////Ratt<74>
//this.setCodiceFiscaleMandatoFiduciarie(ref chiave);
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetPartiteViaggiantiInv";
HttpContext contesto = HttpContext.Current;
object PartiteViaggiantiInv = null;
if (contesto != null && contesto.Session != null) PartiteViaggiantiInv = contesto.Session[chiaveS];
if (PartiteViaggiantiInv != null)
{
return (DataTable)PartiteViaggiantiInv;
}
else
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtGetPartiteViaggiantiInv;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
PartiteViaggiantiInvRes risposta = wsglobalposition.getPartiteViaggiantiInv(chiave, infoCliente);
#endregion
#region Creazione DataTable GetPartiteViaggiantiInv e aggiungo una riga e la aggiungo alla tabella
dtGetPartiteViaggiantiInv = new DataTable("DTPARTITEVIAGGIANTIINV");
dtGetPartiteViaggiantiInv.Columns.Add("codiceConferimento", typeof(String));
dtGetPartiteViaggiantiInv.Columns.Add("descrizioneProdotto", typeof(String));
dtGetPartiteViaggiantiInv.Columns.Add("importoVersato", typeof(decimal));
dtGetPartiteViaggiantiInv.Columns.Add("dataDiAcquisizione", typeof(String));
dtGetPartiteViaggiantiInv.Columns.Add("dataDiIncasso", typeof(String));
dtGetPartiteViaggiantiInv.Columns.Add("dataValutaFondi", typeof(String));
dtGetPartiteViaggiantiInv.Columns.Add("nota", typeof(String));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0 || risposta.info.errors[0].codiceErrore == 20)
{
foreach (PartiteViaggiantiInv ul in risposta.PartiteViaggiantiInv)
{
row = dtGetPartiteViaggiantiInv.NewRow();
row["codiceConferimento"] = ul.codiceConferimento;
row["descrizioneProdotto"] = ul.descrProdotto;
row["importoVersato"] = ul.importoVersato;
row["dataDiAcquisizione"] = ul.dataAcquisizione;
row["dataDiIncasso"] = ul.dataIncasso;
row["dataValutaFondi"] = ul.dataValutaFondo;
row["nota"] = ul.nota;
dtGetPartiteViaggiantiInv.Rows.Add(row);
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetPartiteViaggiantiInv", ex.InnerException);
}
if (contesto != null && contesto.Session != null) contesto.Session[chiaveS] = dtGetPartiteViaggiantiInv;
return dtGetPartiteViaggiantiInv;
}
}
/// <summary>
/// Recupera un datatable contenente le partite viaggianti in disinvestimento.
/// </summary>
/// <param name="chiave"></param>
/// <param name="infoCliente"></param>
/// <returns></returns>
public DataTable GetPartiteViaggiantiDisInv(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb)
{
////Ratt<74>
//this.setCodiceFiscaleMandatoFiduciarie(ref chiave);
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetPartiteViaggiantiDisInv";
HttpContext contesto = HttpContext.Current;
object PartiteViaggiantiDisInv = null;
if (contesto != null && contesto.Session != null) PartiteViaggiantiDisInv = contesto.Session[chiaveS];
if (PartiteViaggiantiDisInv != null)
{
return (DataTable)PartiteViaggiantiDisInv;
}
else
{
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
DataTable dtGetPartiteViaggiantiDisInv;
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getCliente del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
//PartiteViaggiantiInvRes risposta = wsglobalposition.getPartiteViaggiantiInv(chiave, infoCliente); // d.lisena da cambiare
PartiteViaggiantiDisInvRes risposta = wsglobalposition.getPartiteViaggiantiDisInv(chiave, infoCliente);
#endregion
#region Creazione DataTable GetPartiteViaggiantiDisInv e aggiungo una riga e la aggiungo alla tabella
dtGetPartiteViaggiantiDisInv = new DataTable("DTPARTITEVIAGGIANTIDISINV");
dtGetPartiteViaggiantiDisInv.Columns.Add("codiceConferimento", typeof(String));
dtGetPartiteViaggiantiDisInv.Columns.Add("descrizioneProdotto", typeof(String));
dtGetPartiteViaggiantiDisInv.Columns.Add("importoVersato", typeof(decimal));
dtGetPartiteViaggiantiDisInv.Columns.Add("dataDiAcquisizione", typeof(String));
dtGetPartiteViaggiantiDisInv.Columns.Add("dataDiIncasso", typeof(String));
dtGetPartiteViaggiantiDisInv.Columns.Add("dataValutaFondi", typeof(String));
dtGetPartiteViaggiantiDisInv.Columns.Add("nota", typeof(String));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0 || risposta.info.errors[0].codiceErrore == 20)
{
foreach (PartiteViaggiantiDisInv ul in risposta.PartiteViaggiantiDisInv)
{
row = dtGetPartiteViaggiantiDisInv.NewRow();
row["codiceConferimento"] = ul.codiceConferimento;
row["descrizioneProdotto"] = ul.descrProdotto;
row["importoVersato"] = ul.importoVersato;
row["dataDiAcquisizione"] = ul.dataAcquisizione;
row["dataDiIncasso"] = ul.dataIncasso;
row["dataValutaFondi"] = ul.dataValutaFondo;
row["nota"] = ul.nota;
dtGetPartiteViaggiantiDisInv.Rows.Add(row);
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetPartiteViaggiantiDisInv", ex.InnerException);
}
if (contesto != null && contesto.Session != null) contesto.Session[chiaveS] = dtGetPartiteViaggiantiDisInv;
return dtGetPartiteViaggiantiDisInv;
}
}
/// <summary>
/// Recupera le PartiteViaggianti sia quelle in Investimento che quelle in Disinvestimento.
/// </summary>
/// <param name="chiave"></param>
/// <param name="infoCliente"></param>
/// <returns></returns>
/// <remarks>
/// E' il metodo introdotto ad Agosto 2012 per il recupero delle partite viaggianti.
/// Inizialmente sar<61> utilizzato nella PhotoData. Da verificare se in futuro rimpiazzer<65> completamente i metodi GetPartiteViaggiantiInv e GetPartiteViaggiantiDisInv.
/// </remarks>
public DataTable GetPartiteViaggianti(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb)
{
//this.setCodiceFiscaleMandatoFiduciarie(ref chiave);
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
string chiaveS = "GlobalPositionWS_GetPartiteViaggianti";
HttpContext contesto = HttpContext.Current;
DataTable dtPartiteViaggianti = null;
if (contesto != null && contesto.Session != null)
dtPartiteViaggianti = (DataTable)contesto.Session[chiaveS];
if (dtPartiteViaggianti != null)
{
return dtPartiteViaggianti;
}
else
{
dtPartiteViaggianti = new DataTable("DTPARTITEVIAGGIANTI");
#region Chiamata al metodo getCliente del WebServices Anagrafica
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getPartiteViaggianti del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
PartiteViaggiantiRes risposta = wsglobalposition.getPartiteViaggianti(chiave, infoCliente);
#endregion
#region Creazione DataTable GetPartiteViaggianti e aggiungo una riga e la aggiungo alla tabella
dtPartiteViaggianti.Columns.Add("codiceAnagrafico", typeof(string));
dtPartiteViaggianti.Columns.Add("codiceContratto", typeof(string));
dtPartiteViaggianti.Columns.Add("codiceFiscale", typeof(string));
dtPartiteViaggianti.Columns.Add("codiceMandato", typeof(string));
dtPartiteViaggianti.Columns.Add("codiceProdotto", typeof(string));
dtPartiteViaggianti.Columns.Add("dataIncasso", typeof(string));
dtPartiteViaggianti.Columns.Add("dataValidita", typeof(string));
dtPartiteViaggianti.Columns.Add("dataValutaFondo", typeof(string));
dtPartiteViaggianti.Columns.Add("importoVersato", typeof(double));
dtPartiteViaggianti.Columns.Add("progressivoMovimento", typeof(string));
dtPartiteViaggianti.Columns.Add("tipoOperazione", typeof(string));
dtPartiteViaggianti.Columns.Add("sottoTipoOperazione", typeof(string));
DataRow row;
if (risposta.info.errors[0].codiceErrore == 0 || risposta.info.errors[0].codiceErrore == 20)
{
foreach (PartiteViaggianti ul in risposta.PartiteViaggianti)
{
row = dtPartiteViaggianti.NewRow();
row["codiceAnagrafico"] = ul.codAna;
row["codiceContratto"] = ul.codConf;
row["codiceFiscale"] = ul.codFis;
row["codiceMandato"] = ul.codMan;
row["codiceProdotto"] = ul.codProd;
row["dataIncasso"] = ul.dtInc;
row["dataValidita"] = ul.dtValid;
row["dataValutaFondo"] = ul.dtValutaFondo;
row["importoVersato"] = ul.impVers;
row["progressivoMovimento"] = ul.progMov;
row["tipoOperazione"] = ul.tipoOper;
row["sottoTipoOperazione"] = ul.tipoOpes;
dtPartiteViaggianti.Rows.Add(row);
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception ex)
{
throw new Exception(ex.Message + "; Web Service: GlobalPosition; Web Method: GetPartiteViaggianti", ex.InnerException);
}
if (contesto != null && contesto.Session != null)
contesto.Session[chiaveS] = dtPartiteViaggianti;
return dtPartiteViaggianti;
}
}
public List<string> GetIntestatari(ChiaveCliente chiave, string codiceContratto, InfoClient infoCliente, int chiaveclientepb)
{
GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave);
List<string> intestatari = new List<string>();
#region Chiamata al metodo getIntestatari
string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString();
string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString();
string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString();
string _proxy;
if (ConfigurationManager.AppSettings["PROXY"] != null)
_proxy = ConfigurationManager.AppSettings["PROXY"].ToString();
else
_proxy = "";
#endregion
try
{
#region Chiamata al metodo getPartiteViaggianti del WebServices Global Position
GlobalPosition wsglobalposition = new GlobalPosition();
wsglobalposition.PreAuthenticate = true;
wsglobalposition.Url = _wsurl;
System.Net.NetworkCredential cred = new System.Net.NetworkCredential(_nomeutente, _password);
wsglobalposition.Credentials = cred;
// Settaggio eventuale proxy
if (_proxy.Trim() != "")
wsglobalposition.Proxy = new System.Net.WebProxy(_proxy);
System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(VerifyServerCertificate);
IntestatariRes risposta = wsglobalposition.getIntestatari(chiave, codiceContratto, infoCliente);
#endregion
#region Creazione lista intestatari
if (risposta.info.errors[0].codiceErrore == 0 || risposta.info.errors[0].codiceErrore == 20)
{
foreach (Intestatario objIntestatario in risposta.tuttiIntestatari)
{
if (!string.IsNullOrEmpty(objIntestatario.posizione) && !string.IsNullOrEmpty(objIntestatario.nomeCognome))
{
intestatari.Add(string.Format("{0}<7D> {1}", Convert.ToInt32(objIntestatario.posizione).ToString("D"), objIntestatario.nomeCognome));
}
}
}
else
{
if (risposta.info.errors[0].codiceErrore == 50)
{
Exception ex = new Exception();
ex.Data.Add("CodiceErrore", 50);
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale, ex);
}
else
throw new Exception(risposta.info.errors[0].messaggioPerUtenteFinale);
}
#endregion
}
catch (Exception)
{
throw;
}
return intestatari;
}
private bool VerifyServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None) return true;
foreach (X509ChainStatus s in chain.ChainStatus)
{
// allows expired certificates
if (string.Equals(s.Status.ToString(), "NotTimeValid",
StringComparison.OrdinalIgnoreCase))
return true;
}
return true;
}
//private void setCodiceFiscaleMandatoFiduciarie(ref ChiaveCliente _chiaveCliente)
//{
// if (_chiaveCliente.codicefiscale.Contains("@"))
// {
// PrometeiaMessage.Fiduciarie _fiduciarie = new PrometeiaMessage.Fiduciarie();
// _fiduciarie.LoadFiduciarie();
// string[] valori = _chiaveCliente.codicefiscale.Split('@');
// _chiaveCliente.codicefiscale = _fiduciarie.getPIva(valori[0]);
// _chiaveCliente.codiceMandato = valori[1];
// }
//}
}