private void btnGuardar_Click(object sender, EventArgs e) { lblErrorFuncionalidad.Visible = false; lblErrorNombreRol.Visible = false; if (tbNombreRol.Text == "") { lblErrorNombreRol.Visible = true; } else if (lbFuncionalidades.Items.Count == 0) { lblErrorFuncionalidad.Visible = true; } else { FuncionalityCollection fc = new FuncionalityCollection(); foreach (string funcionalidad in lbFuncionalidades.Items) { for (int i = 0; i < this._dsFuncionalidades.Tables[0].Rows.Count; i++) { if (((string)(this._dsFuncionalidades.Tables[0].Rows[i]["func_detalle"])) == funcionalidad) { fc.Add(new Funcionality { Funcionalidades = ((decimal)(this._dsFuncionalidades.Tables[0].Rows[i]["func_codigo"])) }); } } } string rolExistente = string.Format("SELECT COUNT(*) FROM CAIA_UNLIMITED.Rol WHERE rol_nombre = '{0}'", tbNombreRol.Text.Trim()); SqlConnection rolConnection = DataBase.conectarBD(); SqlCommand comm = new SqlCommand(rolExistente, rolConnection); Int32 count = Convert.ToInt32(comm.ExecuteScalar()); rolConnection.Close(); if (count > 0) { MessageBox.Show("Ya existe un rol con el nombre indicado. Intente con otro nombre."); } else { try{ SqlConnection rolCreateConnection = DataBase.conectarBD(); SqlCommand insertCommand = new SqlCommand("[CAIA_UNLIMITED].sp_CrearRol", rolCreateConnection); insertCommand.CommandType = CommandType.StoredProcedure; insertCommand.Parameters.AddWithValue("@nombre_rol", tbNombreRol.Text.Trim()); if (rbActivated.Checked) { insertCommand.Parameters.AddWithValue("@estado_rol", true); } else { insertCommand.Parameters.AddWithValue("@estado_rol", false); } SqlParameter tvpParam = insertCommand.Parameters.AddWithValue("@lista_Funcionalidades", fc); tvpParam.SqlDbType = SqlDbType.Structured; tvpParam.TypeName = "[CAIA_UNLIMITED].FuncionalidadesList"; insertCommand.ExecuteNonQuery(); rolCreateConnection.Close(); string roles = "SELECT rol_codigo as Codigo, rol_nombre as Nombre, rol_estado as Estado FROM CAIA_UNLIMITED.Rol"; DataSet dsRoles = DataBase.realizarConsulta(roles); dgvModificarRoles.DataSource = dsRoles.Tables[0]; dgvModificarRoles.AllowUserToAddRows = false; string rolesHabilitados = "SELECT rol_codigo as Codigo, rol_nombre as Nombre FROM CAIA_UNLIMITED.Rol WHERE rol_estado = 1"; DataSet dsRolesHabilitados = DataBase.realizarConsulta(rolesHabilitados); dgvEliminarRoles.DataSource = dsRolesHabilitados.Tables[0]; dgvEliminarRoles.AllowUserToAddRows = false; MessageBox.Show("Rol creado exitosamente!"); } catch (Exception errorDB) { MessageBox.Show(errorDB.Message); } } } }
private void btnGuardar_Click(object sender, EventArgs e) { lblErrorFuncionalidad.Visible = false; lblErrorNombreRol.Visible = false; if (txbRolNombre.Text == "") { lblErrorNombreRol.Visible = true; } else if (listBoxFuncionalidades.Items.Count == 0) { lblErrorFuncionalidad.Visible = true; } else { FuncionalityCollection fc = new FuncionalityCollection(); foreach (string funcionalidad in listBoxFuncionalidades.Items) { for (int i = 0; i < _dsFuncionalidades.Tables[0].Rows.Count; i++) { if (((string)(_dsFuncionalidades.Tables[0].Rows[i]["func_detalle"])) == funcionalidad) { fc.Add(new Funcionality { Funcionalidades = ((decimal)(_dsFuncionalidades.Tables[0].Rows[i]["func_codigo"])) }); } } } try { string rolCodigo = string.Format("SELECT rol_codigo FROM CAIA_UNLIMITED.Rol WHERE rol_nombre = '{0}'", this._nombreRol); DataSet dsRolCodigo = DataBase.realizarConsulta(rolCodigo); SqlConnection rolCreateConnection = DataBase.conectarBD(); SqlCommand insertCommand = new SqlCommand("[CAIA_UNLIMITED].sp_ModificarRol", rolCreateConnection); insertCommand.CommandType = CommandType.StoredProcedure; insertCommand.Parameters.AddWithValue("@codigo_rol", (decimal)(dsRolCodigo.Tables[0].Rows[0]["rol_codigo"])); insertCommand.Parameters.AddWithValue("@nombre_rol", txbRolNombre.Text.Trim()); if (rbActivated.Checked) { insertCommand.Parameters.AddWithValue("@estado_rol", true); } else { insertCommand.Parameters.AddWithValue("@estado_rol", false); } SqlParameter tvpParam = insertCommand.Parameters.AddWithValue("@lista_Funcionalidades", fc); tvpParam.SqlDbType = SqlDbType.Structured; tvpParam.TypeName = "[CAIA_UNLIMITED].FuncionalidadesList"; insertCommand.ExecuteNonQuery(); rolCreateConnection.Close(); MessageBox.Show("Rol modificado exitosamente!"); if (this.noEsMiRol) { this.Hide(); new VistaRol(this.hoteidMio, this.codRolMio, this.usernameMio).Show(); } else { this.Hide(); new Usuario().Show(); } } catch (Exception errorDB) { MessageBox.Show(errorDB.Message); } } }