using System; using System.Web; using System.Net; using System.Data; using ClassLibraryWS.bancafideuram.nac.anagrafica; using ClassLibraryWS.bancafideuram.nac.globalposition; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Configuration; using System.IO; //ISPB using bancafideuram.nac.ads4ws; public partial class InitForm : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { if (ClassLibraryWS.Debug.iSDebug && !IsPostBack) { //txb_PB.Text = ClassLibraryWS.Debug.Agente; //txb_CodiceCliente.Text = ClassLibraryWS.Debug.codNsg; //txb_Rete.Text = ClassLibraryWS.Debug.Rete; //#region AvvioImmediato //ISPB //btn_Ok_Click(sender, e); //#endregion AvvioImmediato //ISPB //txb_PB_Nucleo.Text = ClassLibraryWS.Debug.Agente; //txb_Chiave_Nucleo.Text = ClassLibraryWS.Debug.ChiaveNucleo; //txb_Rete_Nucleo.Text = ClassLibraryWS.Debug.Rete; } } catch (Exception excep){ StreamWriter log = new StreamWriter(HttpContext.Current.Server.MapPath("c:\\LogIspb.txt"), true, System.Text.Encoding.Default); log.WriteLine(" - " + excep.Message.ToString()); } } protected void btn_Ok_Click(object sender, EventArgs e) { Session.RemoveAll(); string codPB = this.txb_PB.Text.Trim(); string tipoRete = this.txb_Rete.Text.ToUpper().Trim(); string codCliente = (this.txb_CodiceCliente.Text).ToUpper().Trim(); string codMandato = (this.txt_Mandato.Text).ToUpper().Trim(); string codAssistente = this.txb_CodiceAssistente.Text.ToUpper().Trim(); string token = string.Empty; codAssistente = string.IsNullOrEmpty(codAssistente) ? codPB : codAssistente; //set cookie HttpCookie cookie = new HttpCookie("UserID"); String strHostName = Dns.GetHostName(); IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); IPAddress[] addr = ipEntry.AddressList; cookie.Value = addr[0].ToString(); Response.Cookies.Add(cookie); #region Frames.aspx string initialURI = WebConfigParameter.getParameter("URI"); string command = "window.open(\" " + initialURI + "?codPB=" + codPB + "&codCliente=" + codCliente + "&codAs=" + codAssistente + "&token=" + token + "&tipoRete=" + tipoRete + "&mandato=" + codMandato + "\");"; //ISPB adeguamento Codice cliente contiene CodNsg ClientScript.RegisterClientScriptBlock(typeof(string), "one", ""); #endregion } //protected void btn_Ok_Nucleo_Click(object sender, EventArgs e) //{ // string codPB = this.txb_PB_Nucleo.Text.Trim(); // string tipoRete = this.txb_Rete_Nucleo.Text.ToUpper().Trim(); // string chiaveNucleo = (this.txb_Chiave_Nucleo.Text).ToUpper().Trim(); // string initialURI = "reportNucleiFamiliari.aspx"; // //reportNucleiFamiliari.aspx?chiaveNucleo=646&codPB=001016&tipoRete=F&token= // //http://localhost/SeiReportEvoluzione/reportNucleiFamiliari.aspx?chiaveNucleo=646&codPB=001016&tipoRete=F&token= // string command = "window.open(\" " + initialURI + "?codPB=" + codPB + "&chiaveNucleo=" + chiaveNucleo + "&token=" + "&tipoRete=" + tipoRete + "\");"; // ClientScript.RegisterClientScriptBlock(typeof(string), "one", // ""); //} //ISPB >>>> //private bool GetAutorizzazioni(string UserId, string CodApp) //{ // bool utenteAutorizzato = false; // //ISPB >>>> // ClassLibraryWS.bancafideuram.ads4ws.Ads4wsImpl asd4web = new ClassLibraryWS.bancafideuram.ads4ws.Ads4wsImpl(); // asd4web.Url = WebConfigParameter.getParameter("hp_sei.ads4ws"); // ClassLibraryWS.bancafideuram.ads4ws.GetAutorizzazioniResponse risposta = asd4web.getAutorizzazione(UserId, CodApp); // //ISPB <<<< // if (risposta.Applicazione.attiva == true) // utenteAutorizzato = true; // return utenteAutorizzato; //} //ISPB <<<<< protected void Button1_Click(object sender, EventArgs e) { GetContrattoSintesiPerCliente(); } public DataTable GetContrattoSintesiPerCliente() { ClassLibraryWS.bancafideuram.nac.globalposition.ChiaveCliente chiave = new ClassLibraryWS.bancafideuram.nac.globalposition.ChiaveCliente(); chiave.codiceAgente = "253620"; chiave.codiceRete = "I"; chiave.NSG = "0001370124000"; ClassLibraryWS.bancafideuram.nac.globalposition.InfoClient infoCliente = new ClassLibraryWS.bancafideuram.nac.globalposition.InfoClient(); infoCliente.codiceApplicazione = "KCW"; infoCliente.codiceRete = "I"; infoCliente.versioneDatabaseSIMPB = 0; int chiaveclientepb = 1; //ISPB 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 = ""; //_wsurl= @"http://eswvwservices.fideuram.bancafideuram.it/WSNAC_ISPB/GlobalPosition.asmx"; //Produzione _wsurl = "http://eswsservices01c.fideuram.bancafideuram.it/WSNAC_ISPB/GlobalPosition.asmx"; //Collaudo string _nomeutente = "M700001"; string _password = "M7000010"; //string _wsurl = ConfigurationManager.AppSettings["WSGLOBALPOSITION"].ToString(); //string _nomeutente = ConfigurationManager.AppSettings["NOMEUTENTENAC"].ToString(); //string _password = ConfigurationManager.AppSettings["PASSWORDNAC"].ToString(); DataTable dtGetContrattoSintesiPerCliente; string _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; 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("tipoProdottomapping", 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.numeroRapporto; //ISPB row["numeroPolizza"] = ul.numeroPolizza; row["Rubricato"] = ul.Rubricato; if (ul.CustodiaGaranzia != "" || ul.CustodiaGaranzia != null) row["CustodiaGaranzia"] = ul.CustodiaGaranzia; row["tipoProdotto"] = ul.chiaveProdottoTipo;//ISPB row["codiceInterno"] = ul.chiaveProdottoProdotto; //ISPB row["conto"] = ul.Conto; row["codicesottoProdotto"] = ul.chiaveProdottoSottoProdotto;//ISPB row["codiceMAF"] = null;//ISPB row["pctKey"] = ul.pctKey; row["pctTitoloCollegato"] = ul.pctTitoloCollegato; row["pctDescrizionteTitoloCollegato"] = ul.pctDescrizionteTitoloCollegato; if (ul.isin != "" || ul.isin != null) row["isin"] = ul.isin; row["quote"] = ul.quote; row["prezzo"] = ul.prezzo; row["ctv"] = ul.ctv; row["partvia"] = ul.partvia; row["partviaal"] = ul.partvia;//ISPB row["datadiRiferimento"] = ul.datadiRiferimento; //ISPB 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.chiaveProdottoTipo != null && ul.chiaveProdottoTipo != "" && (ul.chiaveProdottoTipo.Trim().ToUpper() == "DT" || ul.chiaveProdottoTipo.Trim().ToUpper() == "FI" || ul.chiaveProdottoTipo.Trim().ToUpper() == "GE" || ul.chiaveProdottoTipo.Trim().ToUpper() == "GES" || ul.chiaveProdottoTipo.Trim().ToUpper() == "GP")) { if (ul.dataInizioRendimento != null && ul.dataInizioRendimento != "") row["datadiSottoscrizione"] = ul.dataInizioRendimento; else row["datadiSottoscrizione"] = ul.datadiRiferimento;//ISPB } else { row["datadiSottoscrizione"] = ul.datadiRiferimento;//ISPB } row["dataValNavAl"] = ul.dataValNavAl; row["codiceStato"] = ul.codiceStato; row["dataInizioRendimento"] = ul.dataInizioRendimento; row["dataTrimestreRendimento"] = ul.dataTrimestreRendimento; row["rendimentoDaSottoscrizione"] = ul.rendimentoDaInizioAnno;//ISPB row["rendimentoDaInizioTrimestre"] = ul.rendimentoDaInizioTrimestre; row["dataAnnoRendimento"] = ul.dataAnnoRendimento; row["rendimentoDaInizioAnno"] = ul.rendimentoDaInizioAnno; row["valore"] = ul.valore; 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; } } 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; } }