private int Ottimizza(string pmsd, string addetto, string data, string edificio, string anno, string apparecchiatura)
        {
            Classi.ManProgrammata.CreaOttimizzaRDL_MP _Ott = new TheSite.Classi.ManProgrammata.CreaOttimizzaRDL_MP();
            try
            {
                _Ott.beginTransaction();
                S_Controls.Collections.S_ControlsCollection CollezioneControlli = new S_Controls.Collections.S_ControlsCollection();

                S_Controls.Collections.S_Object s_anno = new S_Object();
                s_anno.ParameterName = "p_anno";
                s_anno.DbType        = CustomDBType.Integer;
                s_anno.Direction     = ParameterDirection.Input;
                s_anno.Index         = 0;
                s_anno.Value         = Convert.ToInt32(anno);
                CollezioneControlli.Add(s_anno);

                S_Controls.Collections.S_Object s_data = new S_Object();
                s_data.ParameterName = "p_data";
                s_data.DbType        = CustomDBType.VarChar;
                s_data.Direction     = ParameterDirection.Input;
                s_data.Index         = 1;
                s_data.Value         = data;
                CollezioneControlli.Add(s_data);

                S_Controls.Collections.S_Object s_addetto = new S_Object();
                s_addetto.ParameterName = "p_addetto";
                s_addetto.DbType        = CustomDBType.Integer;
                s_addetto.Direction     = ParameterDirection.Input;
                s_addetto.Index         = 2;
                s_addetto.Value         = Convert.ToInt32(addetto);
                CollezioneControlli.Add(s_addetto);

                S_Controls.Collections.S_Object s_edificio = new S_Object();
                s_edificio.ParameterName = "p_edificio";
                s_edificio.DbType        = CustomDBType.Integer;
                s_edificio.Direction     = ParameterDirection.Input;
                s_edificio.Index         = 3;
                s_edificio.Value         = Convert.ToInt32(edificio);
                CollezioneControlli.Add(s_edificio);

                S_Controls.Collections.S_Object s_eq = new S_Object();
                s_eq.ParameterName = "p_eq";
                s_eq.DbType        = CustomDBType.VarChar;
                s_eq.Direction     = ParameterDirection.Input;
                s_eq.Index         = 4;
                s_eq.Value         = apparecchiatura;
                CollezioneControlli.Add(s_eq);

                S_Controls.Collections.S_Object s_pmsd = new S_Object();
                s_pmsd.ParameterName = "p_pmsd";
                s_pmsd.DbType        = CustomDBType.Integer;
                s_pmsd.Direction     = ParameterDirection.Input;
                s_pmsd.Index         = 5;
                s_pmsd.Value         = Convert.ToInt32(pmsd);
                CollezioneControlli.Add(s_pmsd);

                int esito = _Ott.Update(CollezioneControlli, 0);
                // in esito carico il servizio
                _Ott.commitTransaction();

                string mes = String.Empty;
                Classi.SiteJavaScript.msgBox(this.Page, "Aggiornamento effettuato con successo.");
                string wi = "OttimizzaPianoEQ.aspx?ID_BL=" + edificio + "&anno=" + anno + "&servizio=" + esito + "&p=ottimizza";
                // imposto il campo nascosto a 1 così da non far chiudere la finestra dal chiamate
                txtfiglia.Text = "1";
                Hidden1.Value  = "1";
                Classi.SiteJavaScript.OpenerReload(this.Page, wi);
            }
            catch (Exception ex)
            {
                _Ott.rollbackTransaction();
                Console.WriteLine(ex.Message);
                string mes = String.Empty;
                Classi.SiteJavaScript.msgBox(this.Page, "Si è verificato un errore durante l'aggiornamento del Piano di Lavoro.");
            }
            return(0);
        }
        private void btnsCrea_Click(object sender, System.EventArgs e)
        {
            Classi.ManProgrammata.CreaOttimizzaRDL_MP _CRDL = new TheSite.Classi.ManProgrammata.CreaOttimizzaRDL_MP();
            if (Session["DatiList"] != null)
            {
                _CRDL.beginTransaction();

                try
                {
                    Hashtable             _HS          = (Hashtable)Session["DatiList"];
                    IDictionaryEnumerator myEnumerator = _HS.GetEnumerator();
                    string mesegiorno = String.Empty;
                    int    TotUpdate  = 0;

                    while (myEnumerator.MoveNext())
                    {
                        S_Controls.Collections.S_ControlsCollection CollezioneControlli = new S_Controls.Collections.S_ControlsCollection();

                        int _indice = (int)myEnumerator.Value;

                        S_Controls.Collections.S_Object s_Indice = new S_Object();
                        s_Indice.ParameterName = "i_Indice";
                        s_Indice.DbType        = CustomDBType.Integer;
                        s_Indice.Direction     = ParameterDirection.Input;
                        s_Indice.Index         = 0;
                        s_Indice.Value         = _indice;
                        CollezioneControlli.Add(s_Indice);

                        S_Controls.Collections.S_Object s_UserName = new S_Object();
                        s_UserName.ParameterName = "p_UserName";
                        s_UserName.DbType        = CustomDBType.VarChar;
                        s_UserName.Direction     = ParameterDirection.Input;
                        s_UserName.Index         = 1;
                        s_UserName.Value         = System.Web.HttpContext.Current.User.Identity.Name;
                        s_UserName.Size          = 50;
                        CollezioneControlli.Add(s_UserName);

                        int _result = _CRDL.Add(CollezioneControlli);
                        TotUpdate += _result;
                    }
                    _CRDL.commitTransaction();
                    DataGridRicerca.CurrentPageIndex = 0;
                    Resetta();
                    Ricerca(true);

                    //Visualizzo il messaggio
                    Classi.SiteJavaScript.msgBox(this.Page, string.Format("SONO STATI INSERITI N. {0} Richieste di Lavoro.", TotUpdate));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    _CRDL.rollbackTransaction();
                    string mes = String.Empty;
                    Classi.SiteJavaScript.msgBox(this.Page, "Si è verificato un errore durante la creazione delle Richieste di Lavoro.");
                }
            }
            else
            {
                Classi.SiteJavaScript.msgBox(this.Page, "Nessun Edificio selezionato.");
            }
        }