Esempio n. 1
0
        private void InserimentoMenu()
        {
            string idCorrGlob = string.Empty;

            try
            {
                if (this.dg_menu.Items.Count > 0)
                {
                    CheckBox spunta;
                    DocsPAWA.DocsPaWR.Menu menu    = null;
                    ArrayList listaMenuSelezionati = new ArrayList();
                    string    idAmm = this.Request.QueryString["idAmm"];
                    idCorrGlob = this.Request.QueryString["idCorrGlob"];

                    for (int i = 0; i < this.dg_menu.Items.Count; i++)
                    {
                        spunta = (CheckBox)dg_menu.Items[i].Cells[6].FindControl("Chk_menu");

                        if (spunta.Checked)
                        {
                            menu             = new DocsPAWA.DocsPaWR.Menu();
                            menu.IDMenu      = dg_menu.Items[i].Cells[0].Text;
                            menu.Codice      = dg_menu.Items[i].Cells[1].Text;
                            menu.Descrizione = dg_menu.Items[i].Cells[2].Text;

                            if (menu.Codice.ToUpper().Equals("TITOLARIO"))
                            {
                                Amministrazione.Manager.UtentiManager theManager = new Amministrazione.Manager.UtentiManager();
                                if (!theManager.EsistonoRegistriAssociati(idCorrGlob))
                                {
                                    string scriptString = "<SCRIPT>alert('Attenzione, è necessario associare almeno un registro alla voce di menù Titolario');</SCRIPT>";
                                    this.Page.RegisterStartupScript("alertJavaScript", scriptString);

                                    spunta.Checked = false;
                                    ImageButton img_reg = dg_menu.Items[i].Cells[5].FindControl("dg_btn_registri") as ImageButton;
                                    img_reg.Visible = false;
                                    return;
                                }
                            }

                            listaMenuSelezionati.Add(menu);

                            menu       = null;
                            idCorrGlob = dg_menu.Items[i].Cells[4].Text;
                        }
                    }

                    if (listaMenuSelezionati != null && listaMenuSelezionati.Count > 0)
                    {
                        DocsPAWA.DocsPaWR.Menu[] vociMenu = new DocsPAWA.DocsPaWR.Menu[listaMenuSelezionati.Count];
                        listaMenuSelezionati.CopyTo(vociMenu);
                        listaMenuSelezionati = null;

                        Amministrazione.Manager.UtentiManager theManager = new Amministrazione.Manager.UtentiManager();
                        theManager.InsMenuUtente(vociMenu, idCorrGlob, idAmm);  //attenzione id_amm

                        DocsPAWA.DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();
                        esito = theManager.getEsitoOperazione();

                        if (esito.Codice.Equals(0))
                        {
                            if (!this.Page.IsStartupScriptRegistered("closeJavaScript"))
                            {
                                string scriptString = "<SCRIPT>window.close();</SCRIPT>";
                                this.Page.RegisterStartupScript("closeJavaScript", scriptString);
                            }
                        }
                        else
                        {
                            if (!this.Page.IsStartupScriptRegistered("alertJavaScript"))
                            {
                                string scriptString = "<SCRIPT>alert('Attenzione, " + esito.Descrizione.Replace("'", "''") + "');</SCRIPT>";
                                this.Page.RegisterStartupScript("alertJavaScript", scriptString);
                            }
                        }

                        esito = null;
                    }
                    else
                    {
                        //gestione cancellazione dati

                        Amministrazione.Manager.UtentiManager theManager = new Amministrazione.Manager.UtentiManager();
                        theManager.EliminaMenuUtente(idCorrGlob);

                        DocsPAWA.DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();
                        esito = theManager.getEsitoOperazione();

                        if (esito.Codice.Equals(0))
                        {
                            theManager.EliminaRegistriUtente(idCorrGlob);
                            if (!this.Page.IsStartupScriptRegistered("execJavaScript"))
                            {
                                string scriptString = "<SCRIPT>window.returnValue = 'noAmmTitolario'; window.close();</SCRIPT>";
                                this.Page.RegisterStartupScript("execJavaScript", scriptString);
                            }
                        }
                        else
                        {
                            if (!this.Page.IsStartupScriptRegistered("execJavaScript"))
                            {
                                string scriptString = "<SCRIPT>window.returnValue = 'noAmmTitolario'; window.close();</SCRIPT>";
                                this.Page.RegisterStartupScript("execJavaScript", scriptString);
                            }
                        }
                    }
                }
            }
            catch
            {
                this.GUI("Errore");
            }
        }