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