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à //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à //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; } } /// /// /// /// /// /// /// 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; } /// /// Recupera un datatable contenente le partite viaggianti in investimento. /// /// /// /// public DataTable GetPartiteViaggiantiInv(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb) { ////Rattà //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; } } /// /// Recupera un datatable contenente le partite viaggianti in disinvestimento. /// /// /// /// public DataTable GetPartiteViaggiantiDisInv(ChiaveCliente chiave, InfoClient infoCliente, int chiaveclientepb) { ////Rattà //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; } } /// /// Recupera le PartiteViaggianti sia quelle in Investimento che quelle in Disinvestimento. /// /// /// /// /// /// E' il metodo introdotto ad Agosto 2012 per il recupero delle partite viaggianti. /// Inizialmente sarà utilizzato nella PhotoData. Da verificare se in futuro rimpiazzerà completamente i metodi GetPartiteViaggiantiInv e GetPartiteViaggiantiDisInv. /// 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 GetIntestatari(ChiaveCliente chiave, string codiceContratto, InfoClient infoCliente, int chiaveclientepb) { GestioneCliente.ImpostaCodiceFiscaleMandato(chiaveclientepb, ref chiave); List intestatari = new List(); #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}° {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]; // } //} }