コード例 #1
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            if (!TextFieldUtils.IsAnyFieldEmpty(this))
            {
                IdRol = ConnectionFactory.Instance().CreateConnection().ExecuteSingleOutputSqlQuery <decimal>("SELECT TOP 1 (id_Rol+1) FROM LOS_DE_GESTION.Rol ORDER BY id_Rol DESC ");
                StoredProcedureParameterMap inputParameters = new StoredProcedureParameterMap();
                inputParameters.AddParameter("@nombreRol", tbRolNombre.Text);
                inputParameters.AddParameter("@id_rol", IdRol);
                inputParameters.AddParameter("@habilitado", cbHabilitado.Checked);
                try
                {
                    ConnectionFactory.Instance()
                    .CreateConnection()
                    .ExecuteDataTableStoredProcedure(SpNames.AltaRol, inputParameters);

                    inputParameters.RemoveParameters();

                    foreach (DataGridViewCell c in dgvFuncionalidades.SelectedCells)
                    {
                        inputParameters.AddParameter("@id_Rol", IdRol);

                        decimal id_funcionalidad = ConnectionFactory.Instance()
                                                   .CreateConnection()
                                                   .ExecuteSingleOutputSqlQuery <decimal>(@"SELECT id_Funcionalidad FROM LOS_DE_GESTION.Funcionalidad
                                                                                                           WHERE nombre=" + "'" + c.Value.ToString() + "'");
                        inputParameters.AddParameter("@funcionalidadRol", id_funcionalidad);
                        ConnectionFactory.Instance()
                        .CreateConnection()
                        .ExecuteDataTableStoredProcedure(SpNames.AgregarFuncionalidadRol, inputParameters);
                        inputParameters.RemoveParameters();
                    }

                    MessageBox.Show("Rol dado de alta correctamente!");
                    NavigableFormUtil.BackwardTo(this, CallerForm);
                }
                catch (StoredProcedureException ex) { MessageBox.Show(ex.Message); }
            }
            else
            {
                MessageBox.Show("Por favor rellena todos los campos");
            }
        }
コード例 #2
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            StoredProcedureParameterMap        inputParameters = new StoredProcedureParameterMap();
            DataGridViewSelectedCellCollection cells           = dgvFnsRol.SelectedCells;


            try
            {
                foreach (DataGridViewCell cell in cells)
                {
                    decimal id_funcionalidad = ConnectionFactory.Instance().CreateConnection().ExecuteSingleOutputSqlQuery <decimal>("SELECT id_Funcionalidad FROM LOS_DE_GESTION.Funcionalidad WHERE nombre=" + "'" + cell.Value.ToString() + "'");
                    inputParameters.AddParameter("@id_rol", IdRol);
                    inputParameters.AddParameter("@funcionalidad", id_funcionalidad);
                    ConnectionFactory.Instance()
                    .CreateConnection()
                    .ExecuteDataTableStoredProcedure(SpNames.BorrarFuncionalidad, inputParameters);
                    inputParameters.RemoveParameters();
                }
                Refresh();
                MessageBox.Show("Funcionalidades eliminadas del rol correctamente!");
            }
            catch (StoredProcedureException ex) { MessageBox.Show(ex.Message); }
        }