private void BtnCrearUsuario_Click(object sender, EventArgs e) { using (FrmUsuario FormCrearUsuario = new FrmUsuario()) { FormCrearUsuario.ShowDialog(); if (FormCrearUsuario.DialogResult == DialogResult.OK) { string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario AgregarNuevoUsuario = new Usuario(); AgregarNuevoUsuario = Usuarios.LeerPorNumero(-1, ClsUsuarios.EUsuarioABuscar.UltimoAgregardo, ref InformacionDelError); if (AgregarNuevoUsuario != null) { int NumeroDeFila = dgvDatosUsuarios.Rows.Add(); dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value = AgregarNuevoUsuario.ID_Usuario; dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Nick].Value = AgregarNuevoUsuario.Nick; dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Nombre].Value = AgregarNuevoUsuario.Nombre; dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Apellido].Value = AgregarNuevoUsuario.Apellido; dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Perfil].Value = AgregarNuevoUsuario.Perfil.Nombre; dgvDatosUsuarios.Rows[NumeroDeFila].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value = false; dgvDatosUsuarios.Sort(dgvDatosUsuarios.Columns[(int)ENumColDGVUsuarios.Perfil], ListSortDirection.Descending); } } } }
private void DgvDatosUsuarios_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridView DetectarTipoCasilla = (DataGridView)sender; if (e.RowIndex != -1 && !(DetectarTipoCasilla.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn)) { using (FrmValidarUsuario VerificarDueñoUsuario = new FrmValidarUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value)) { if (FrmInicioSesion.ObtenerInstancia().G_ID_UsuarioInicioSesion != (int)ClsPerfiles.EPerfiles.Administrador) { VerificarDueñoUsuario.ShowDialog(); } else { VerificarDueñoUsuario.DialogResult = DialogResult.OK; } if (VerificarDueñoUsuario.DialogResult == DialogResult.OK) { using (FrmUsuario FormCargarUsuario = new FrmUsuario((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, rbnUsuariosActivos.Checked)) { FormCargarUsuario.ShowDialog(); if (FormCargarUsuario.DialogResult == DialogResult.OK) { string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario ActualizarEdicion = new Usuario(); ActualizarEdicion = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError); if (ActualizarEdicion != null) { dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value = ActualizarEdicion.ID_Usuario; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nick].Value = ActualizarEdicion.Nick; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Nombre].Value = ActualizarEdicion.Nombre; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Apellido].Value = ActualizarEdicion.Apellido; dgvDatosUsuarios.Rows[e.RowIndex].Cells[(int)ENumColDGVUsuarios.Perfil].Value = ActualizarEdicion.Perfil.Nombre; dgvDatosUsuarios.Sort(dgvDatosUsuarios.Columns[(int)ENumColDGVUsuarios.Perfil], ListSortDirection.Descending); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } UltimaFilaSeleccionada = -1; } } } } } }
public void CargaDatosEditarUsuario() { btnAceptar.Visible = false; btnGuardarCambios.Visible = true; Perfil PerfilSeleccionado = (Perfil)cmbPerfil.SelectedItem; string InformacionDelError = string.Empty; ClsUsuarios Usuarios = new ClsUsuarios(); Usuario UsuarioAEditar = new Usuario(); UsuarioAEditar = Usuarios.LeerPorNumero(ID_Usuario, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError); if (UsuarioAEditar != null) { txtNick.Text = UsuarioAEditar.Nick; txtNombre.Text = UsuarioAEditar.Nombre; txtApellido.Text = UsuarioAEditar.Apellido; txtContraseña.Text = UsuarioAEditar.Contraseña; cmbPerfil.SelectedValue = UsuarioAEditar.ID_Perfil; if (UsuarioAEditar.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente) { cmbPerfil.Enabled = false; } } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar cargar el usuario a editar", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); Close(); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); Close(); } }
/// <summary>Actualiza el estado del usuario a activo/inactivo.</summary> /// <param name="_EstadoUsuario">Enum que contrendra el numero del tipo de estado.</param> private void ActualizarEstadoUsuario(ClsEstadosUsuarios.EEstadosUsuarios _EstadoUsuario) { ClsUsuarios Usuarios = new ClsUsuarios(); Usuario ActualizarUsuario = new Usuario(); int TotalDeFilas = dgvDatosUsuarios.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.Seleccionar].Value) { string InformacionDelError = string.Empty; // Verificacion de que el usuario no este asignado a una mesa actualmente bool UsuarioConMesaAsignada = false; if (_EstadoUsuario == ClsEstadosUsuarios.EEstadosUsuarios.Inactivo) { UsuarioConMesaAsignada = BuscarUsuariosAtendiendoMesa(Indice); } ActualizarUsuario = Usuarios.LeerPorNumero((int)dgvDatosUsuarios.Rows[Indice].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value, ClsUsuarios.EUsuarioABuscar.PorID, ref InformacionDelError); ActualizarUsuario.ID_EstadoUsuario = (int)_EstadoUsuario; if (!UsuarioConMesaAsignada) { //impedir eliminar perfiles gerentes if (ActualizarUsuario.ID_Perfil != (int)ClsPerfiles.EPerfiles.Gerente) { if (Usuarios.Actualizar(ActualizarUsuario, ref InformacionDelError) != 0) { dgvDatosUsuarios.Rows.Remove(dgvDatosUsuarios.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar eliminar el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre}' no se puede eliminar ya que es un gerente.", ClsColores.Blanco, 150, 300)) { FormInformacion.ShowDialog(); } } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El usuario '{ActualizarUsuario.Nombre} {ActualizarUsuario.Apellido}' no se puede eliminar ya que " + $"se detecto que esta asignado a una mesa, cambie el usuario que desea eliminar por otro mozo en la " + $"pantalla de mesas e intente nuevamente.", ClsColores.Blanco, 200, 350)) { FormInformacion.ShowDialog(); } } } } } }