private void EliminaAssociazioni(int bl_id)
        {
            Classi.ClassiDettaglio.Edificio _Edificio = new TheSite.Classi.ClassiDettaglio.Edificio(Context.User.Identity.Name);

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

            S_Controls.Collections.S_Object s_Ruolo = new S_Controls.Collections.S_Object();
            s_Ruolo.ParameterName = "p_Ruolo_Id";
            s_Ruolo.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
            s_Ruolo.Direction     = ParameterDirection.Input;
            s_Ruolo.Index         = 0;
            s_Ruolo.Value         = itemId;

            S_Controls.Collections.S_Object s_Edificio_Id = new S_Controls.Collections.S_Object();
            s_Edificio_Id.ParameterName = "p_Edificio_Id";
            s_Edificio_Id.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
            s_Edificio_Id.Direction     = ParameterDirection.Input;
            s_Edificio_Id.Index         = 1;
            s_Edificio_Id.Value         = bl_id;

            S_Controls.Collections.S_Object s_Servizio_Id = new S_Controls.Collections.S_Object();
            s_Servizio_Id.ParameterName = "p_Servizio_Id";
            s_Servizio_Id.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
            s_Servizio_Id.Direction     = ParameterDirection.Input;
            s_Servizio_Id.Index         = 2;
            s_Servizio_Id.Value         = 0;

            S_Controls.Collections.S_Object s_Operazione = new S_Object();
            s_Operazione.ParameterName = "p_Operazione";
            s_Operazione.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
            s_Operazione.Direction     = ParameterDirection.Input;
            s_Operazione.Index         = 3;
            s_Operazione.Value         = "Delete";

            S_Controls.Collections.S_Object s_IdOut = new S_Object();
            s_IdOut.ParameterName = "p_IdOut";
            s_IdOut.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
            s_IdOut.Direction     = ParameterDirection.Output;
            s_IdOut.Index         = 4;

            _SColl.Add(s_Ruolo);
            _SColl.Add(s_Edificio_Id);
            _SColl.Add(s_Servizio_Id);
            _SColl.Add(s_Operazione);
            _SColl.Add(s_IdOut);

            _Edificio.UpdateRuoliEdificiServizi(_SColl);
        }
        private void Salva(TreeNode nodopadre, TreeNodeCollection nodi)
        {
            int    bl_id          = Int32.Parse(nodopadre.Target);
            string bl_descrizione = nodopadre.Text;

            EliminaAssociazioni(bl_id);
            //nodopadre = BL | nodofiglio=servizio
            foreach (TreeNode nodofiglio in nodi)
            {
                if (nodofiglio.Checked == true)
                {
                    int    servizio_id          = Int32.Parse(nodofiglio.Target);
                    string servizio_descrizione = nodofiglio.Text;

                    Classi.ClassiDettaglio.Edificio _Edificio = new TheSite.Classi.ClassiDettaglio.Edificio(Context.User.Identity.Name);

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

                    S_Controls.Collections.S_Object s_Ruolo = new S_Controls.Collections.S_Object();
                    s_Ruolo.ParameterName = "p_Ruolo_Id";
                    s_Ruolo.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                    s_Ruolo.Direction     = ParameterDirection.Input;
                    s_Ruolo.Index         = 0;
                    s_Ruolo.Value         = itemId;

                    S_Controls.Collections.S_Object s_Edificio_Id = new S_Controls.Collections.S_Object();
                    s_Edificio_Id.ParameterName = "p_Edificio_Id";
                    s_Edificio_Id.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                    s_Edificio_Id.Direction     = ParameterDirection.Input;
                    s_Edificio_Id.Index         = 1;
                    s_Edificio_Id.Value         = bl_id;

                    S_Controls.Collections.S_Object s_Servizio_Id = new S_Controls.Collections.S_Object();
                    s_Servizio_Id.ParameterName = "p_Servizio_Id";
                    s_Servizio_Id.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                    s_Servizio_Id.Direction     = ParameterDirection.Input;
                    s_Servizio_Id.Index         = 2;
                    s_Servizio_Id.Value         = servizio_id;

                    S_Controls.Collections.S_Object s_Operazione = new S_Object();
                    s_Operazione.ParameterName = "p_Operazione";
                    s_Operazione.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                    s_Operazione.Direction     = ParameterDirection.Input;
                    s_Operazione.Index         = 3;
                    s_Operazione.Value         = "Insert";

                    S_Controls.Collections.S_Object s_IdOut = new S_Object();
                    s_IdOut.ParameterName = "p_IdOut";
                    s_IdOut.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                    s_IdOut.Direction     = ParameterDirection.Output;
                    s_IdOut.Index         = 4;

                    _SColl.Add(s_Ruolo);
                    _SColl.Add(s_Edificio_Id);
                    _SColl.Add(s_Servizio_Id);
                    _SColl.Add(s_Operazione);
                    _SColl.Add(s_IdOut);

                    _Edificio.UpdateRuoliEdificiServizi(_SColl);
                }
            }
        }