private void SetDati(bool val)
        {
            Hashtable _HS    = new Hashtable();
            int       indice = 0;

            if (Session["DatiList"] != null)
            {
                _HS = (Hashtable)Session["DatiList"];
            }


            foreach (DataGridItem o_Litem in DataGridRicerca.Items)
            {
                indice = Int32.Parse(o_Litem.Cells[0].Text);
                System.Web.UI.WebControls.CheckBox cb = (System.Web.UI.WebControls.CheckBox)o_Litem.Cells[1].FindControl("ChkSel");
                cb.Checked = val;
                if (_HS.ContainsKey(indice))
                {
                    _HS.Remove(indice);
                }

                if (cb.Checked)
                {
                    OrdineLavoro ordine = new OrdineLavoro();
                    ordine.bl_id       = Convert.ToInt32(o_Litem.Cells[2].Text);
                    ordine.id_servizio = Convert.ToInt32(o_Litem.Cells[5].Text);
                    ordine.addetto_id  = Convert.ToInt32(o_Litem.Cells[7].Text);
                    ordine.id          = indice;
                    _HS.Add(indice, ordine);
                }
            }

            Session.Remove("DatiList");
            Session.Add("DatiList", _HS);
            LblElementiSelezionati.Text = "Elementi Selezionati - " + _HS.Count.ToString() + " -";
            txtTotSelezionati.Text      = _HS.Count.ToString();
        }
        private void btnsCrea_Click(object sender, System.EventArgs e)
        {
            if (Session["DatiList"] != null)
            {
                Classi.ManProgrammata.CreaRDL _creaRDL = new TheSite.Classi.ManProgrammata.CreaRDL();

                try
                {
                    _creaRDL.beginTransaction();

                    int TotUpdate = 0;

                    Hashtable _HS = (Hashtable)Session["DatiList"];

                    if (_HS.Count == 0)
                    {
                        Classi.SiteJavaScript.msgBox(this.Page, "Nessun Edificio selezionato.");
                        return;
                    }

                    IDictionaryEnumerator myEnumerator = _HS.GetEnumerator();
                    while (myEnumerator.MoveNext())
                    {
                        OrdineLavoro Ord = (OrdineLavoro)myEnumerator.Value;

                        S_Controls.Collections.S_ControlsCollection CollezioneControlli = new S_Controls.Collections.S_ControlsCollection();

                        S_Controls.Collections.S_Object s_i_Edificio = new S_Object();
                        s_i_Edificio.ParameterName = "i_Edificio";
                        s_i_Edificio.DbType        = CustomDBType.Integer;
                        s_i_Edificio.Direction     = ParameterDirection.Input;
                        s_i_Edificio.Index         = 0;
                        s_i_Edificio.Value         = Ord.bl_id;
                        CollezioneControlli.Add(s_i_Edificio);

                        S_Controls.Collections.S_Object s_i_Category = new S_Object();
                        s_i_Category.ParameterName = "i_Category";
                        s_i_Category.DbType        = CustomDBType.Integer;
                        s_i_Category.Direction     = ParameterDirection.Input;
                        s_i_Category.Index         = 1;
                        s_i_Category.Value         = Ord.id_servizio;
                        CollezioneControlli.Add(s_i_Category);

                        S_Controls.Collections.S_Object s_i_ANNO = new S_Object();
                        s_i_ANNO.ParameterName = "i_ANNO";
                        s_i_ANNO.DbType        = CustomDBType.Integer;
                        s_i_ANNO.Direction     = ParameterDirection.Input;
                        s_i_ANNO.Index         = 2;
                        s_i_ANNO.Value         = Convert.ToInt32(cmbsAnno.SelectedValue);
                        CollezioneControlli.Add(s_i_ANNO);

                        S_Controls.Collections.S_Object s_i_MESE1 = new S_Object();
                        s_i_MESE1.ParameterName = "i_MESE1";
                        s_i_MESE1.DbType        = CustomDBType.VarChar;
                        s_i_MESE1.Direction     = ParameterDirection.Input;
                        s_i_MESE1.Index         = 3;
                        s_i_MESE1.Size          = 10;
                        s_i_MESE1.Value         = cmbMeseDa.SelectedValue;
                        CollezioneControlli.Add(s_i_MESE1);

                        S_Controls.Collections.S_Object s_i_MESE2 = new S_Object();
                        s_i_MESE2.ParameterName = "i_MESE2";
                        s_i_MESE2.DbType        = CustomDBType.VarChar;
                        s_i_MESE2.Direction     = ParameterDirection.Input;
                        s_i_MESE2.Index         = 4;
                        s_i_MESE2.Size          = 10;
                        s_i_MESE2.Value         = cmbMeseA.SelectedValue;
                        CollezioneControlli.Add(s_i_MESE2);

                        S_Controls.Collections.S_Object s_ADDETTO = new S_Object();
                        s_ADDETTO.ParameterName = "i_ADDETTO";
                        s_ADDETTO.DbType        = CustomDBType.Integer;
                        s_ADDETTO.Direction     = ParameterDirection.Input;
                        s_ADDETTO.Index         = 5;
                        s_ADDETTO.Value         = Ord.addetto_id;
                        CollezioneControlli.Add(s_ADDETTO);

                        int result = _creaRDL.Add(CollezioneControlli);
                        TotUpdate += result;
                    }

                    _creaRDL.commitTransaction();
                    //Rimuovo la sessione
                    Session.Remove("CheckedList");
                    Session.Remove("DatiList");
                    Session.Remove("DataSet");
                    //Rifaccio la ricerca
                    DataGridRicerca.CurrentPageIndex = 0;
                    Resetta();
                    Ricerca(true);

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