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; } }
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(); }
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); }
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (dataGridView.SelectedRows.Count == 0) return; rol = new Rol(); HomeRoles.Instance.mapear(rol, dataGridView); }