public bool altaRol(Rol rol)
        {
            using(TransactionScope ts = new TransactionScope())
            using(SqlConnection conn = new SqlConnection(Settings.Default.ConnectionString))
            using (SqlCommand cmd = conn.CreateCommand())
                try
                {
                    cmd.CommandText = "INSERT INTO BONDIOLA.Rol (nombre) VALUES (@nombreRol)";
                    cmd.Parameters.Add(new SqlParameter("@nombreRol", rol.nombre));
                    conn.Open();
                    cmd.ExecuteNonQuery();

                    foreach (string funcionalidad in rol.funcionalidades)
                    {
                        SqlCommand cmdFuncionalidad = conn.CreateCommand();
                        cmdFuncionalidad.CommandType = CommandType.StoredProcedure;
                        cmdFuncionalidad.CommandText = "BONDIOLA.altaFuncionalidadRol";
                        cmdFuncionalidad.Parameters.AddWithValue("@funcionalidad", funcionalidad);
                        cmdFuncionalidad.Parameters.AddWithValue("@rol", rol.nombre);
                        cmdFuncionalidad.ExecuteNonQuery();
                    }
                    ts.Complete();
                    MessageBox.Show("Rol guardado con éxito.");
                    return true;
                }
                catch (SqlException ex)
                {
                    if (ex.Message.Contains("IX_Rol"))
                        MessageBox.Show("Ya existe un rol en el sistema con el nombre ingresado");
                    else MessageBox.Show(ex.Message);
                    return false;
                }
        }
Exemple #2
0
 private void Listado_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (rol == null)
         return;
     if (rol.id == 0)
         rol = null;
     else DialogResult = DialogResult.OK;
 }
 private void Modificacion_Load(object sender, System.EventArgs e)
 {
     chkLst.Items.Clear();
     SQL.Instance.llenarCheckedListBox(chkLst, "Funcionalidad", "Nombre");
     rol = HomeRoles.Instance.seleccionar();
     if (rol == null)
         Close();
     updateForm();
 }
Exemple #4
0
 private void updateRol()
 {
     rol = new Rol
     {
         nombre = lblTxtNombre.TextboxText
     };
     foreach (var item in chkLst.CheckedItems)
     {
         rol.funcionalidades.Add(item.ToString());
     }
 }
 public void darDeBaja(Rol rol)
 {
     if (rol.id.Equals(null)) throw new Exception("Seleccione un rol para dar de baja.");
     using (SqlConnection conn = new SqlConnection(Settings.Default.ConnectionString))
     {
         SqlCommand cmd = SQL.Instance.crearSP("BONDIOLA.baja_rol", conn,
             new SqlParameter("@id_rol", rol.id));
         SQL.Instance.ejecutarNonQuery(cmd);
     }
 }
 private void mapearFuncionalidades(Rol rol)
 {
     rol.funcionalidades.Clear();
     using (SqlConnection conn = new SqlConnection(Settings.Default.ConnectionString))
     {
         SqlCommand cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT Nombre FROM BONDIOLA.Funcionalidad f " +
                           "INNER JOIN BONDIOLA.FuncionalidadRol fr " +
                           "ON f.Id = fr.Funcionalidad_Id " +
                           "WHERE fr.Rol_Id = @id";
         cmd.Parameters.AddWithValue("@id", rol.id);
         conn.Open();
         SqlDataReader rdr = cmd.ExecuteReader();
         while (rdr.Read())
         {
             rol.funcionalidades.Add(rdr[0].ToString());
         }
     }
 }
        public bool updateRol(Rol rol)
        {
            using (TransactionScope ts = new TransactionScope())
            using (SqlConnection conn = new SqlConnection(Settings.Default.ConnectionString))
            using (SqlCommand cmd = conn.CreateCommand())
                try
                {
                    //borrar funcs viejas
                    cmd.CommandText = "DELETE FROM BONDIOLA.FuncionalidadRol " +
                                      "WHERE Rol_Id = @id";
                    cmd.Parameters.Add(new SqlParameter("@id", rol.id));
                    conn.Open();
                    cmd.ExecuteNonQuery();

                    foreach (string funcionalidad in rol.funcionalidades)
                    {
                        SqlCommand cmdFuncionalidad = conn.CreateCommand();
                        cmdFuncionalidad.CommandType = CommandType.StoredProcedure;
                        cmdFuncionalidad.CommandText = "BONDIOLA.altaFuncionalidadRol";
                        cmdFuncionalidad.Parameters.AddWithValue("@funcionalidad", funcionalidad);
                        cmdFuncionalidad.Parameters.AddWithValue("@rol", rol.nombre);
                        cmdFuncionalidad.ExecuteNonQuery();
                    }
                    ts.Complete();
                    MessageBox.Show("Rol modificado con éxito.");
                    return true;
                }
                catch (SqlException ex)
                {
                    //TODO error copado
                    MessageBox.Show(ex.Message);
                    return false;
                }
        }
 public void mapear(Rol rol, DataGridView dataGridView)
 {
     rol.nombre = SQL.Instance.getSelectedStringParaColumna("Nombre", dataGridView);
     rol.id = SQL.Instance.getSelectedIntParaColumna("Id", dataGridView);
     mapearFuncionalidades(rol);
 }
Exemple #9
0
 private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dataGridView.SelectedRows.Count == 0) return;
     rol = new Rol();
     HomeRoles.Instance.mapear(rol, dataGridView);
 }