public void login() { try { if (conexion.abrirconexion() == true) { if ((Txt_id_user.Text != "") && (Txt_pass_user.Text != "")) { if ((Txt_id_user.Text != "Cédula") && (Txt_pass_user.Text != "Contraseña")) { usuario.id_usuario = Convert.ToInt32(Txt_id_user.Text); usuario.password = Txt_pass_user.Text; int id_existe = Clases.Usuarios.UsuarioExiste(conexion.conexion, usuario.id_usuario); conexion.cerrarconexion(); if (id_existe > 0)//si la cedula introducida existe en el registro de usuarios { if (conexion.abrirconexion() == true) { usuarioIngresado = Clases.Usuarios.IniciarSesion(conexion.conexion, usuario); conexion.cerrarconexion(); if (usuarioIngresado.id_usuario != 0)//si la contraseña corresponde al id: { Clases.Usuario_logeado.nombre_usuario = usuarioIngresado.nombre_usuario; Clases.Usuario_logeado.apellido_usuario = usuarioIngresado.apellido_usuario; Clases.Usuario_logeado.id_usuario = usuarioIngresado.id_usuario; Clases.Usuario_logeado.tlfn_usuario = usuarioIngresado.tlfn_usuario; Clases.Usuario_logeado.cargo_usuario = usuarioIngresado.cargo_usuario; Clases.Usuario_logeado.password = usuario.password; Clases.Usuario_logeado.correo_usuario = usuarioIngresado.correo_usuario; Clases.Usuario_logeado.imagen_usuario = usuarioIngresado.imagen_usuario; Txt_id_user.Clear(); Txt_pass_user.Clear(); this.Hide(); //Si el usuario es lider: if (Clases.Usuario_logeado.cargo_usuario == "Lider") { Pagina_principal frm_main_Lider = new Pagina_principal(); frm_main_Lider.Show(); } else if (Clases.Usuario_logeado.cargo_usuario == "Coordinador") //Si el usuario es coordinador { Pagina_principal_Colaborador frm_main_colaborador = new Pagina_principal_Colaborador(); frm_main_colaborador.Show(); } else if (Clases.Usuario_logeado.cargo_usuario == "Asistente") //Si el usuario es asistente { Pagina_principal_Asistente frm_main_Asistente = new Pagina_principal_Asistente(); frm_main_Asistente.Show(); } } else//si las contraseñas no coinciden { conexion.cerrarconexion(); MessageBox.Show("Contraseña incorrecta, inténtelo nuevamente.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); Txt_pass_user.UseSystemPasswordChar = true; Txt_pass_user.Text = ""; Txt_pass_user.Focus(); } conexion.cerrarconexion(); } } else //si no existe en la base de datos { conexion.cerrarconexion(); MessageBox.Show("Usted no se encuentra registrado en la base de datos del sistema.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Txt_id_user.Text = "Cédula"; Txt_id_user.Focus(); Txt_pass_user.UseSystemPasswordChar = false; Txt_pass_user.Text = "Contraseña"; } } else { MessageBox.Show("Debe intruducir todos sus datos", "¡Aviso!"); } } else if ((Txt_id_user.Text == "") || (Txt_pass_user.Text == "")) { MessageBox.Show("Debe intruducir todos sus datos", "¡Aviso!"); } conexion.cerrarconexion(); } } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); conexion.cerrarconexion(); } }
// botones del form: private void btnEliminarUsuario_Click(object sender, EventArgs e)//agregar validacion en sql de cedula y nacionalidad. pueden haber dos cedulas iguales, con nacionalidades distintas: V o E { try { if (dgvUsuarios.SelectedRows.Count == 1) { if ((txtCedulaUsuario.Text != "") && (txtApellidoUsuario.Text != "") && (txtNombreUsuario.Text != "")) { if ((txtCedulaUsuario.Text != "Cédula") && (txtApellidoUsuario.Text != "Apellido") && (txtNombreUsuario.Text != "Nombre")) { int id = Convert.ToInt32(txtCedulaUsuario.Text); comboboxshow(); if (id == Clases.Usuario_logeado.id_usuario)//si el id seleccionado es igual al lider que está en la sesion: { if (conexion.abrirconexion() == true) { //metodo para verificar la existencia de más lideres. (no se puede eliminar la cuenta si es el unico lider en la base de datos). int MasLideres = Clases.Usuarios.lideresexisten(conexion.conexion, Clases.Usuario_logeado.cargo_usuario); conexion.cerrarconexion(); if (MasLideres > 1)//si el entero es mayor a 1, significa que hay más lideres y se procede a la eliminacion del mismo { if (MessageBox.Show("¿Está seguro de eliminar su cuenta?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { if (conexion.abrirconexion() == true) { if (MessageBox.Show("La sesión terminará en cuanto se complete la eliminacion de su cuenta", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK) { int resultado; resultado = Clases.Usuarios.EliminarUsuarios(conexion.conexion, id, nacionalidad_usuario); if (resultado > 0) { limpiarCeldas(); actualizarTabla(conexion.conexion, nombre, apellido, cargo); Pagina_principal pag_pri = new Pagina_principal(); this.Close(); pag_pri.Close(); Inicio_Sesion ini = new Inicio_Sesion(); ini.Show(); } }//segunda validacion de eliminacion conexion.cerrarconexion(); } } //verificación de eliminacion de cuenta } //si maslideres es == 1, sólo existe 1 lider, por ende no se podrá eliminar la cuenta else { MessageBox.Show("No se puede eliminar su cuenta: es el único líder en el sistema.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else //si la cuenta que se quiere eliminar no es la del lider: { if (MessageBox.Show("¿Está seguro de eliminar al usuario " + txtNombreUsuario.Text + "?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { if (conexion.abrirconexion() == true) { int resultado; resultado = Clases.Usuarios.EliminarUsuarios(conexion.conexion, id, nacionalidad_usuario); if (resultado > 0) { limpiarCeldas(); actualizarTabla(conexion.conexion, nombre, apellido, cargo); dgvUsuarios.ClearSelection(); habilitar(); } conexion.cerrarconexion(); } }//fin comprobacion eliminar usuario } } else { MessageBox.Show("Debe seleccionar un usuario.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Debe seleccionar un usuario.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Debe seleccionar un usuario.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); conexion.cerrarconexion(); } }