Ejemplo n.º 1
0
        private void PerformUpdate()
        {
            bool      modificaEffettuata = false;
            string    statoChk;
            ArrayList utentiDaInserire   = new ArrayList();
            ArrayList utentiDaCancellare = new ArrayList();

            //try
            //{
            DocsPaWR.ModelloTrasmissione modello = (NttDataWA.DocsPaWR.ModelloTrasmissione)Session["Modello"];
            //DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();

            // verifica se è selezionato almeno un utente per ruolo e la corretta cessione dei diritti
            if (controllaInserimentiUtente())
            {
                foreach (NttDataWA.DocsPaWR.RagioneDest ragioneDest in modello.RAGIONI_DESTINATARI)
                {
                    foreach (NttDataWA.DocsPaWR.MittDest mittDest in ragioneDest.DESTINATARI)
                    {
                        if (!mittDest.CHA_TIPO_URP.Equals("U"))
                        {
                            if (mittDest.UTENTI_NOTIFICA != null && mittDest.UTENTI_NOTIFICA.Length > 0)
                            {
                                foreach (NttDataWA.DocsPaWR.UtentiConNotificaTrasm utNot in mittDest.UTENTI_NOTIFICA)
                                {
                                    // verifica se le selezioni sono uguali ai dati reperiti sul db
                                    statoChk = this.utenteSelezionato(utNot.ID_PEOPLE, Convert.ToString(mittDest.ID_CORR_GLOBALI));
                                    if (!statoChk.Equals(utNot.FLAG_NOTIFICA))
                                    {
                                        //if (utNot.FLAG_NOTIFICA != "1")
                                        //{
                                        utNot.FLAG_NOTIFICA = statoChk;
                                        modificaEffettuata  = true;         // è stata effettuata almeno una modifica! si procederà al salvataggio dei dati...
                                        //}
                                        if (statoChk.Equals("0"))
                                        {
                                            utentiDaCancellare.Add(utNot);
                                        }
                                        else
                                        {
                                            utentiDaInserire.Add(utNot);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                if (modificaEffettuata)
                {
                    NttDataWA.DocsPaWR.UtentiConNotificaTrasm[] utentiDaInserire_1 = new NttDataWA.DocsPaWR.UtentiConNotificaTrasm[utentiDaInserire.Count];
                    utentiDaInserire.CopyTo(utentiDaInserire_1);
                    NttDataWA.DocsPaWR.UtentiConNotificaTrasm[] utentiDaCancellare_1 = new NttDataWA.DocsPaWR.UtentiConNotificaTrasm[utentiDaCancellare.Count];
                    utentiDaCancellare.CopyTo(utentiDaCancellare_1);
                    // effettua il salvataggio dei dati
                    //modello = ws.UtentiConNotificaTrasm(modello, utentiDaInserire_1, utentiDaCancellare_1, "SET");
                    modello = ModelliTrasmManager.UtentiConNotificaTrasm(modello, utentiDaInserire_1, utentiDaCancellare_1, "SET", this.Page);
                    if (modello == null)
                    {
                        //ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "function RedirectModelli(){$(location).attr('href','" + this.ResolveUrl("~/Management/GestioneModelliTrasm.aspx") + "');} if (parent.fra_main) {parent.fra_main.ajaxDialogModal('ErroreSalvataggioNotifiche', 'warning', '','',null,null,'RedirectModelli()')} else {parent.parent.ajaxDialogModal('ErroreSalvataggioNotifiche', 'warning', '','',null,null,'RedirectModelli()');}", true);

                        //string jscript = "<script>alert('Errore durante il salvataggio dei dati!'); window.close();</script>";
                        //if (!ClientScript.IsStartupScriptRegistered("erroreEchiude"))
                        //    ClientScript.RegisterStartupScript(this.GetType(), "erroreEchiude", jscript);
                        return;
                    }
                }

                // cessione diritti
                if (this.utenteAbilitatoACL)
                {
                    modificaEffettuata = this.cessioneModificata(modello);
                    if (modificaEffettuata)
                    {
                        modello = this.impostaCessioneSuModello(modello);

                        ModelliTrasmManager.SalvaCessioneDirittiSuModelliTrasm(modello, this.Page);

                        //ws.SalvaCessioneDirittiSuModelliTrasm(modello);
                    }
                }

                Session.Remove("impostaNotifiche");

                // chiude la popup
                //this.chiudePopup(this.hd_mode.Value);
                switch (this.hd_mode.Value)
                {
                case "INSERT":
                    Session["retValueNotifiche"] = "I";
                    break;

                case "UPDATE":
                    Session["retValueNotifiche"] = "U";
                    break;

                case "NONE":
                    break;
                }
                ScriptManager.RegisterClientScriptBlock(this.UpdatePanelButtons, this.UpdatePanelButtons.GetType(), "closeAJM", "parent.closeAjaxModal('GestioneNotifiche','up');", true);
            }
            //}
            //catch
            //{
            // //   ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "function RedirectModelli(){$(location).attr('href','" + this.ResolveUrl("~/Management/GestioneModelliTrasm.aspx") + "');} if (parent.fra_main) {parent.fra_main.ajaxDialogModal('ErroreSalvataggioNotifiche', 'warning', '','',null,null,'RedirectModelli()')} else {parent.parent.ajaxDialogModal('ErroreSalvataggioNotifiche', 'warning', '','',null,null,'RedirectModelli()');}", true);

            //    //string jscript = "<script>alert('Errore durante il salvataggio dei dati!'); window.close();</script>";
            //    //if (!ClientScript.IsStartupScriptRegistered("erroreEchiude"))
            //    //    ClientScript.RegisterStartupScript(this.GetType(), "erroreEchiude", jscript);
            //}
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Genera la lista con ruoli e utenti da visualizzare a video
        /// </summary>
        private void generaLista()
        {
            try
            {
                DocsPaWR.ModelloTrasmissione modello = (NttDataWA.DocsPaWR.ModelloTrasmissione)Session["Modello"];

                // prima elimina gli oggetti UTENTI_NOTIFICA...
                foreach (NttDataWA.DocsPaWR.RagioneDest ragioneDest in modello.RAGIONI_DESTINATARI)
                {
                    foreach (NttDataWA.DocsPaWR.MittDest mittDest in ragioneDest.DESTINATARI)
                    {
                        mittDest.UTENTI_NOTIFICA = null;
                    }
                }

                // quindi reperisce i dati sul db
                //DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();
                //modello = ws.UtentiConNotificaTrasm(modello, null, null, "GET");
                modello = ModelliTrasmManager.UtentiConNotificaTrasm(modello, null, null, "GET", this.Page);

                // rimette in sessione l'oggetto MODELLO aggiornato con i dati presi da db
                Session.Remove("Modello");
                Session.Add("Modello", modello);

                // inizializza il dataset che popola il datagrid
                IniDataSet();

                // genera le righe del datagrid
                foreach (NttDataWA.DocsPaWR.RagioneDest ragioneDest in modello.RAGIONI_DESTINATARI)
                {
                    foreach (NttDataWA.DocsPaWR.MittDest mittDest in ragioneDest.DESTINATARI)
                    {
                        if (mittDest.CHA_TIPO_URP.Equals("R"))
                        {
                            if (mittDest.UTENTI_NOTIFICA != null && mittDest.UTENTI_NOTIFICA.Length > 1)
                            {
                                this.loadDataSet(modello, mittDest, "true");
                            }
                            else
                            {
                                if (mittDest.UTENTI_NOTIFICA != null && mittDest.UTENTI_NOTIFICA.Length == 1)
                                {
                                    mittDest.UTENTI_NOTIFICA[0].FLAG_NOTIFICA = "1";
                                    this.loadDataSet(modello, mittDest, "false");
                                }
                            }
                        }
                        else
                        {
                            if (mittDest.CHA_TIPO_URP == "P" && mittDest.UTENTI_NOTIFICA.Length == 1)
                            {
                                if (mittDest.UTENTI_NOTIFICA != null)
                                {
                                    mittDest.UTENTI_NOTIFICA[0].FLAG_NOTIFICA = "1";
                                    this.loadDataSet(modello, mittDest, "false");
                                }
                            }
                        }
                    }
                }
                Session.Add("Modello", modello);

                // bind del datagrid
                this.dg_Notifiche.DataSource = dataSet;
                this.dg_Notifiche.DataBind();
            }
            catch
            {
                throw new Exception();
            }
        }