using System;
using System.Web;

public partial class Menu : System.Web.UI.Page
{
    public string codCliente;
    public string checkPrivacy;
    public string tipoRete;
    public string codPB;
    public string token;

    /// <summary>
    /// Caricamento pagina del menu
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        #region Gestione Autorizzazione Gestione Controlli

        Utente utente;

        if (Session["UtenteLoggatoDiSessione"] == null) // E' stato richiesto l'accesso da AccessoDaPortale bypassando l'accesso da CE.
        {
            string codiceApplicazione = WebConfigParameter.getParameter("CodiceApplicazione");
            utente = Utente.GetAutorizzazioniAccessoGestioneControlli(User.Identity.Name, codiceApplicazione);
        }
        else
        {
            utente = Utente.DeserializeMessage(Session["UtenteLoggatoDiSessione"].ToString());
        }


        if (utente.UtenteAutorizzatoApplicazione && utente.ProfiloUtenteLoggato != ProfiloUtenteLoggato.MG)
        {
            GetUtenteAutorizzato.setUtenteGestioneControlli(utente);
            // Abilito il pannello di controllo per la visibilita' degli item dei menu
            PanelGestioneControlli.Visible = true;

            //LinkVerificaCampione.Attributes["onlick"] = "Naviga(top.parent.CENTER, \"ProcessoVerifica/VerificheCampione.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione Controlli > Verifiche Campione&ambiente=prod';" + "\")";
            //LinkConvalidaReport.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"ProcessoVerifica/ConvalidaReport.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione Controlli > Convalida Report&ambiente=prod';" + "\")";

            LinkVerificaCampione.Attributes["onClick"] = "parent.CENTER.location='ProcessoVerifica/VerificheCampione.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione Controlli > Verifiche Campione&ambiente=prod'";
            LinkVerificaCampione.NavigateUrl = "#";

            LinkConvalidaReport.Attributes["onClick"] = "parent.CENTER.location='ProcessoVerifica/ConvalidaReport.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione Controlli > Convalida Report&ambiente=prod'";
            LinkConvalidaReport.NavigateUrl = "#";
        }
        else
        {
            PanelGestioneControlli.Visible = false;
            //Response.Write("Utente " + userName + " non e' abilitato all'accesso alla gestione dei controlli");
        }

        #endregion
        bool AccessoNoSessioneAutorizzato = false;
        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(""))
                )
        { AccessoNoSessioneAutorizzato = true; }

        if (GetUtenteAutorizzato.getAccessoPortaleAutorizzato())
        {
            if (!IsPostBack)
            {
                GestioneDocumenti.Visible = false;
                ArchivioModelli.Visible = false;
                RicercaDocumentiC6Massivi.Visible = true;
                LinkDocumentiClienti.Attributes["onclick"] = "top.parent.CENTER.navigate('archivioDocumenti.aspx')";
                LinkDocumentiNuclei.Attributes["onclick"] = "top.parent.CENTER.navigate('archivioDocumentiNucleo.aspx')";
                LinkArchivioDocumentiC6Massivi.Attributes["onclick"] = "top.parent.CENTER.navigate('RicercaHD.aspx')";
            }
        }
        else if (AccessoNoSessioneAutorizzato)
        {
           //  LinkSchedeDiLavoro.Disabled = true;
            LinkSchedeDiLavoro.Style.Add("color", "Silver");

            LinkReportcliente.Attributes.Clear();
            LinkReportcliente.Style.Add("color", "Silver");
               
            LinkDiagnosi.Attributes.Clear();
            LinkDiagnosi.Enabled = false;
            LinkDiagnosi.ForeColor = System.Drawing.Color.Silver;

            LinkPianificazione.Attributes.Clear();
            LinkPianificazione.Enabled = false;
            LinkPianificazione.ForeColor = System.Drawing.Color.Silver;

            LinkProposta.Attributes.Clear();
            LinkProposta.Enabled = false;
            LinkProposta.ForeColor = System.Drawing.Color.Silver;

            LinkMonitoraggio.Attributes.Clear();
            LinkMonitoraggio.Enabled = false;
            LinkMonitoraggio.ForeColor = System.Drawing.Color.Silver;

            LinkReportRischio.Attributes.Clear();
            LinkReportRischio.Enabled = false;
            LinkReportRischio.ForeColor = System.Drawing.Color.Silver;

            RicercaDocumentiC6Massivi.Visible = false;

             

            LinkDocumentiClienti.Attributes["onClick"] = "parent.CENTER.location='archivioDocumenti.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Documenti&ambiente=prod'";
            LinkDocumentiNuclei.Attributes["onClick"] = "parent.CENTER.location='archivioDocumentiNucleo.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Nuclei&ambiente=prod'";
            LinkArchivioModelli.Attributes["onClick"] = "parent.CENTER.location='archivioModelli.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Modelli&ambiente=prod'";


        } else {
            if (!IsPostBack)
            {
                GestioneDocumenti.Visible = true;
                ArchivioModelli.Visible = true;
                RicercaDocumentiC6Massivi.Visible = false;
            }

            codCliente = Request.QueryString.Get("codCliente").ToUpper();
            tipoRete = Request.QueryString.Get("tipoRete").ToUpper();
            codPB = Request.QueryString.Get("codPB").ToUpper();
            token = Request.QueryString.Get("token");
            checkPrivacy = Request.QueryString.Get("checkPrivacy");

            if (ImpostaLinkMenu(codCliente, tipoRete, codPB) == false)
                body1.Attributes.Add("onload", "redirectClientePotenziale()");
        }

    }

    /// <summary>
    /// Imposta i menu a seconda della tipologia del cliente (Prospect, Customer)
    /// </summary>
    /// <param name="codCliente"></param>
    /// <param name="tipoRete"></param>
    /// <param name="codPB"></param>
    /// <returns></returns>
    private bool ImpostaLinkMenu(string codCliente, string tipoRete, string codPB)
    {
        //DataTable dt = SectionManager.GetDataSection("ClientePotenziale", codPB, codCliente, tipoRete);
        Cliente cliente = Cliente.getCliente(tipoRete + codPB, codCliente);

        if (cliente.Tipologia == Cliente.TipoCliente.Prospect && checkPrivacy != "1")
        {
            //Disabilito i link ai report
            LinkDiagnosi.Attributes.Clear();
            LinkDiagnosi.Enabled = false;
            LinkPianificazione.Attributes.Clear();
            LinkPianificazione.Enabled = false;
            LinkProposta.Attributes.Clear();
            LinkProposta.Enabled = false;
            LinkMonitoraggio.Attributes.Clear();
            LinkMonitoraggio.Enabled = false;
            //LinkRischio.Attributes.Clear();
            //LinkRischio.Enabled = false;
            //Dmo
            LinkReportRischio.Attributes.Clear();
            LinkReportRischio.Enabled = false;

            LinkSchedeDiLavoro.Attributes.Clear();
            LinkSchedeDiLavoro.Disabled = true;

            LinkDocumentiClienti.Attributes.Clear();
            LinkDocumentiClienti.Disabled = true;

            LinkDocumentiNuclei.Attributes.Clear();
            LinkDocumentiNuclei.Disabled = true;


            LinkArchivioModelli.Attributes.Clear();
            LinkArchivioModelli.Disabled = true;
            return false;
        }
        else
        {
            // CHIAMATA DAL MENU
            //LinkSchedeDiLavoro.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"schedeDiLavoro.aspx?" + Request.QueryString.ToString() + "\")";
            //LinkDiagnosi.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"reportDiagnosi.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Diagnosi&ambiente=prod';" + "\")";
            //LinkPianificazione.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"reportPianificazione.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Pianificazione&ambiente=prod';" + "\")";
            //LinkProposta.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"reportProposta_NEW.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Proposta&ambiente=prod';" + "\")";   

            LinkSchedeDiLavoro.Attributes["onClick"] = "parent.CENTER.location='schedeDiLavoro.aspx?" + Request.QueryString.ToString() + "'";
            LinkDiagnosi.Attributes["onClick"] = "parent.CENTER.location='reportDiagnosi.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Diagnosi&ambiente=prod'";
            LinkDiagnosi.NavigateUrl = "#";


            LinkPianificazione.Attributes["onClick"] = "parent.CENTER.location='reportPianificazione.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Pianificazione&ambiente=prod'";
            LinkPianificazione.NavigateUrl = "#";

            LinkProposta.Attributes["onClick"] = "parent.CENTER.location='reportProposta_NEW.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Proposta&ambiente=prod';";
            LinkProposta.NavigateUrl = "#";

            LinkMonitoraggio.NavigateUrl = "#";
            LinkMonitoraggio.Attributes["onClick"] = "parent.CENTER.location='reportMonitoraggio_Alberatura.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Monitoraggio&ambiente=prod'";

            //LinkRischio.Attributes["onClick"] = "parent.CENTER.location='reportRischio.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Rischio&ambiente=prod'";
            //LinkRischio.NavigateUrl = "#";

            //LinkReportRischio dmo
            LinkReportRischio.Attributes["onClick"] = "parent.CENTER.location='reportRischioNew.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Rischio&ambiente=prod'";
            LinkReportRischio.NavigateUrl = "#";

            


            //LinkDocumenti.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"archivioDocumenti.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Documenti&ambiente=prod';" + "\")";
            LinkDocumentiClienti.Attributes["onClick"] = "parent.CENTER.location='archivioDocumenti.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Documenti&ambiente=prod'";


            //LinkReportRischio dmo
            LinkDocumentiNuclei.Attributes["onClick"] = "parent.CENTER.location='archivioDocumentiNucleo.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Report Nuclei&ambiente=prod'";
            

            //LinkArchivioModelli.Attributes["onclick"] = "Naviga(top.parent.CENTER, \"archivioModelli.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Modelli&ambiente=prod';" + "\")";
            LinkArchivioModelli.Attributes["onClick"] = "parent.CENTER.location='archivioModelli.aspx?" + Request.QueryString.ToString() + "&pathNav=Gestione stampe > Archivio Modelli&ambiente=prod'";

            return true;
        }
    }
}