using System; using System.Data; using System.Web; using ConsulenzaEvoluta; using PrometeiaMessage.bancafideuram.nac.anagrafica; public partial class Frames : System.Web.UI.Page { public string codCliente; public string tipoRete; public string codPB; public string codAs; public string checkPrivacy; public string codiceUtenteQueryString; public string token; public string userName = string.Empty; public string codiceApplicazione = string.Empty; public string urlCenter = string.Empty; protected void Page_Load(object sender, EventArgs e) { Response.Cache.SetCacheability(HttpCacheability.NoCache); #region Applicazione in OffLine if ("True".Equals(WebConfigParameter.getParameter("offline"), StringComparison.OrdinalIgnoreCase)) Response.Redirect("offline.aspx"); #endregion #region Log su accesso Utente Loggato //StreamWriter swUtenteLoggato = new StreamWriter(HttpContext.Current.Server.MapPath("xml\\LogAccesso.txt"), true, System.Text.Encoding.Default); //swUtenteLoggato.WriteLine(); //swUtenteLoggato.WriteLine(); //swUtenteLoggato.WriteLine("Sezione Utente loggato : codiceUtenteWindows=" + codiceUtenteWindows + ";UserId=" + utenteLoggatoAutorizzato.UserId); //swUtenteLoggato.WriteLine(utenteLoggatoString.ToString()); //swUtenteLoggato.Close(); #endregion if (GetUtenteAutorizzato.getAccessoPortaleAutorizzato()) { urlCenter = "RicercaHD.aspx"; } else if (Request.QueryString.Get("CODPB") != null && !Request.QueryString.Get("CODPB").Trim().Equals("") && Request.QueryString.Get("TIPORETE") != null && !Request.QueryString.Get("TIPORETE").Trim().Equals("") && (Request.QueryString.Get("CODCLIENTE") == null || Request.QueryString.Get("CODCLIENTE").Trim().Equals("")) ) { tipoRete = Request.QueryString.Get("TIPORETE").ToUpper(); codPB = Request.QueryString.Get("CODPB").ToUpper(); codAs = Request.QueryString.Get("CODAS") != null ? Request.QueryString.Get("CODAS").ToUpper() : string.Empty; codiceUtenteQueryString = tipoRete.Trim() + codPB.Trim(); token = Request.QueryString.Get("TOKEN"); } else { Session.RemoveAll(); urlCenter = "blank.aspx"; codCliente = Request.QueryString.Get("CODCLIENTE").ToUpper(); tipoRete = Request.QueryString.Get("TIPORETE").ToUpper(); codPB = Request.QueryString.Get("CODPB").ToUpper(); codAs = Request.QueryString.Get("CODAS") != null ? Request.QueryString.Get("CODAS").ToUpper() : string.Empty; codiceUtenteQueryString = tipoRete.Trim() + codPB.Trim(); token = Request.QueryString.Get("TOKEN"); string nomePB = string.Empty; string cognomePB = string.Empty; string nomeCliente = string.Empty; string cognomeCliente = string.Empty; Cliente cliente = Cliente.getCliente(tipoRete + codPB, codCliente); if (cliente != null) { nomePB = cliente.NomePB; cognomePB = cliente.CognomePB; checkPrivacy = cliente.PrivacyAccettata == true ? "1" : "0"; } else throw new Exception("Cliente non trovato"); #region Recupero token da AnagraficaWS.GetVersion if (string.IsNullOrEmpty(token)) { string codPortal = WebConfigParameter.getParameter("CODICEPORTALEPERVERSIONESIMPB"); InfoClient infoCliente = new InfoClient(); infoCliente.codiceApplicazione = WebConfigParameter.getParameter("CODICEAPPLICAZIONE").ToString(); infoCliente.codiceRete = tipoRete; infoCliente.versioneDatabaseSIMPB = 0; AnagraficaWS wsana = new AnagraficaWS(); PBRes risposta = wsana.GetVersion(infoCliente, codPortal); token = risposta.info.versioneDatabaseSIMPB.ToString(); } #endregion #region InfoClient e ChiaveCliente di GlobalPosition e Anagrafica // Global Position PrometeiaMessage.bancafideuram.nac.globalposition.InfoClient _infoCliente_GlobalPosition = new PrometeiaMessage.bancafideuram.nac.globalposition.InfoClient(); _infoCliente_GlobalPosition.codiceApplicazione = WebConfigParameter.getParameter("CODICEAPPLICAZIONE").ToString(); _infoCliente_GlobalPosition.codiceRete = tipoRete; _infoCliente_GlobalPosition.versioneDatabaseSIMPB = int.Parse(token); PrometeiaMessage.bancafideuram.nac.globalposition.ChiaveCliente _chiaveCliente_GlobalPosition = new PrometeiaMessage.bancafideuram.nac.globalposition.ChiaveCliente(); _chiaveCliente_GlobalPosition.codiceAgente = codPB; _chiaveCliente_GlobalPosition.codicefiscale = codCliente; _chiaveCliente_GlobalPosition.codiceRete = tipoRete; _chiaveCliente_GlobalPosition.potenzialeClienteNAC = true; // Anagrafica PrometeiaMessage.bancafideuram.nac.anagrafica.InfoClient _infoCliente_Anagrafica = new PrometeiaMessage.bancafideuram.nac.anagrafica.InfoClient(); _infoCliente_Anagrafica.codiceApplicazione = WebConfigParameter.getParameter("CODICEAPPLICAZIONE").ToString(); _infoCliente_Anagrafica.codiceRete = tipoRete; _infoCliente_Anagrafica.versioneDatabaseSIMPB = int.Parse(token); PrometeiaMessage.bancafideuram.nac.anagrafica.ChiaveCliente _chiaveCliente_Anagrafica = new PrometeiaMessage.bancafideuram.nac.anagrafica.ChiaveCliente(); _chiaveCliente_Anagrafica.codiceAgente = codPB; _chiaveCliente_Anagrafica.codicefiscale = codCliente; _chiaveCliente_Anagrafica.codiceRete = tipoRete; _chiaveCliente_Anagrafica.potenzialeClienteNAC = true; #endregion #region Caricamento tabella Dettaglio_Asul // Recupero i dati dalla Prometeia.GetContrattoSintesiPerClienteCaricamentoAsul DataTable dtDettaglioAsul = new DataTable(); DataTable dtContrattoSintesiPerCliente = Prometeia.GetContrattoSintesiPerClienteCaricamentoAsul(_chiaveCliente_GlobalPosition, _infoCliente_GlobalPosition, cliente.ChiaveClientePB); DataRow[] rowsProdottiAsul = dtContrattoSintesiPerCliente.Select("tipoProdotto='ASUL'"); // elimino i dati dalla dettaglio_asul per chiaveClientePB BusinessManager.DeleteData_Into_DettaglioAsul(cliente.ChiaveClientePB); // Richiamo il dettaglio asul per ogni asul trovato nel portafoglio del cliente. foreach (DataRow itemProdottoAsul in rowsProdottiAsul) { dtDettaglioAsul.Merge(Prometeia.GetContrattoUnitLinkedSaldo(_chiaveCliente_GlobalPosition, itemProdottoAsul["CODICECONTRATTO"].ToString(), _infoCliente_GlobalPosition, cliente.ChiaveClientePB)); } // Insert sulla DETTAGLIO_ASUL di ConsulenzaEvoluta if (dtDettaglioAsul.Rows.Count > 0) BusinessManager.InsertData_Into_DettaglioAsul(cliente.ChiaveClientePB, dtDettaglioAsul); #endregion #region Gestione Autorizzazione if (WebConfigParameter.getParameter("Ambiente") == "esterno") userName = User.Identity.Name; else userName = WebConfigParameter.getParameter("UtenzaWindowsAccessoHP"); //1) utente loggato (VINCENZO UT.PROVA 2 MAGRI) //2) utente impersonificato (VIOTTI GIANCARLO) string AbilitazionePrimaria = string.Empty; codiceApplicazione = WebConfigParameter.getParameter("CodiceApplicazione"); string codiceUtente = tipoRete + Utente.GetCodiceUtente(userName); // č il codiceutente con cui andrņ a interrogare la ConsulenzaBase.dbo.PromotoreBancario per recuperare le informazioni dell'utente loggato Utente utenteLoggato_WS = Utente.GetAutorizzazioniAccessoGestioneControlli(userName, codiceApplicazione); // utente loggato (VINCENZO UT.PROVA 2 MAGRI), informazioni prese dai WS Utente utenteLoggato = Utente.GetProfiloUtente(codiceUtente, utenteLoggato_WS.ProfiloUtenteLoggato); // utente loggato (VINCENZO UT.PROVA 2 MAGRI) , informazioni prese da DB utenteLoggato.ProfiloUtenteLoggato = utenteLoggato_WS.ProfiloUtenteLoggato; utenteLoggato.AbilitazionePrimaria = utenteLoggato_WS.AbilitazionePrimaria; utenteLoggato.IsUtenteImpersonificato = utenteLoggato_WS.IsUtenteImpersonificato; utenteLoggato.UtenteAutorizzatoApplicazione = utenteLoggato_WS.UtenteAutorizzatoApplicazione; Utente utenteImpersonificato = Utente.GetProfiloUtente(codiceUtenteQueryString, null); // utente impersonificato (VIOTTI GIANCARLO) utenteImpersonificato.AbilitazionePrimaria = utenteLoggato.AbilitazionePrimaria; utenteImpersonificato.IsUtenteImpersonificato = utenteLoggato.IsUtenteImpersonificato; utenteImpersonificato.UtenteAutorizzatoApplicazione = utenteLoggato.UtenteAutorizzatoApplicazione; // FIX da valutare per TK T-300675-L4Y3 if (!codAs.Equals(codPB)) codiceUtenteQueryString = codiceUtente; Utente utenteSoloPerAutorizzazione = Utente.GetAutorizzazioni(userName, codiceApplicazione, tipoRete, codiceUtenteQueryString, Convert.ToInt32(token)); if (utenteSoloPerAutorizzazione.UtenteAutorizzatoApplicazione) { if (Request.Browser.Cookies) { #region utente Loggato (UtenteLoggatoDiSessione) string utenteLoggatoString = Utente.SerializeMessage(utenteLoggato); utenteLoggatoString = HttpUtility.UrlDecode(utenteLoggatoString.TrimStart().TrimEnd()); Session.Add("UtenteLoggatoDiSessione", utenteLoggatoString); #endregion #region utente Impersonificato (UtenteImpersonificatoDiSessione) string utenteImpersonificatoString = Utente.SerializeMessage(utenteImpersonificato); utenteImpersonificatoString = HttpUtility.UrlDecode(utenteImpersonificatoString.TrimStart().TrimEnd()); Session.Add("UtenteImpersonificatoDiSessione", utenteImpersonificatoString); #endregion } else { AbilitazionePrimaria = string.Empty; if (utenteLoggato != null) if (utenteLoggato.AbilitazionePrimaria != null) AbilitazionePrimaria = utenteLoggato.AbilitazionePrimaria; Response.Redirect("error.aspx?UtenteWindows=" + userName + "&UtentePB=" + codiceUtenteQueryString + "&CodiceApplicazione=" + WebConfigParameter.getParameter("CODICEAPPLICAZIONE") + "&VersioneSIMPB=" + token.ToString() + "&AbilitazionePrimaria=" + AbilitazionePrimaria + " ( Cookies non attivi)"); } } else { AbilitazionePrimaria = string.Empty; if (utenteLoggato != null) if (utenteLoggato.AbilitazionePrimaria != null) AbilitazionePrimaria = utenteLoggato.AbilitazionePrimaria; Response.Redirect("error.aspx?UtenteWindows=" + userName + "&UtentePB=" + codiceUtenteQueryString + "&CodiceApplicazione=" + WebConfigParameter.getParameter("CODICEAPPLICAZIONE") + "&VersioneSIMPB=" + token.ToString() + "&AbilitazionePrimaria=" + AbilitazionePrimaria + "&UtenteAutorizzato=" + utenteLoggato_WS.UtenteAutorizzatoApplicazione.ToString()); } #endregion } } }