public static bool VerificarUsuario(Constructor_Usuario cd) { bool retorno = false; try { string query1 = "SELECT * FROM tbusuario WHERE BINARY usuario = ?usercomp"; MySqlCommand cmdselect = new MySqlCommand(query1, Conexion_Config.ObtenerConexion()); cmdselect.Parameters.Add(new MySqlParameter("usercomp", cd.usuario)); retorno = Convert.ToBoolean(cmdselect.ExecuteScalar()); if (retorno == true) { MessageBox.Show("El usuario que desea recuperar ha sido verificado", "Proceso completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("El usuario que desea recuperar no ha sido encontrado, Verifique los datos ingresados", "Proceso no completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(retorno); } catch (Exception ex) { MessageBox.Show("Opss! Ha ocurrido un fallo en la conexion" + ex, "Error Critico", MessageBoxButtons.OK, MessageBoxIcon.Error); return(retorno); } }
public static bool VerificarAdmin(Constructor_Usuario cc) { bool retorno = false; try { int tipoUsuario = 2; string query1 = "SELECT * FROM tbusuario WHERE BINARY usuario = ?usercomp AND BINARY clave = ?encripClave AND id_tipousuario = ?tipoUser"; MySqlCommand cmdselect = new MySqlCommand(query1, Conexion_Config.ObtenerConexion()); cmdselect.Parameters.Add(new MySqlParameter("usercomp", cc.usuario)); cmdselect.Parameters.Add(new MySqlParameter("encripClave", cc.clave)); cmdselect.Parameters.Add(new MySqlParameter("tipoUser", tipoUsuario)); retorno = Convert.ToBoolean(cmdselect.ExecuteScalar()); if (retorno == true) { MessageBox.Show("Su usuario Administrador ha sido verificado", "Proceso completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Su usuario no ha sido encontrado, Verifique los datos ingresados", "Proceso no completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(retorno); } catch (Exception ex) { MessageBox.Show("Lo sentimos ha ocurrido un error con la conexion" + ex, "Error Critico", MessageBoxButtons.OK, MessageBoxIcon.Information); return(retorno); } }
private void BtnValidarCredenciales_Click(object sender, EventArgs e) { if (ControlRecuCorreo.VerficarCredenciales(txtUsuarioRecuperar.Text, txtEmail.Text) == true) { Random rmd = new Random(); int a = rmd.Next(0, 10); int b = rmd.Next(0, 10); int c = rmd.Next(0, 10); int d = rmd.Next(0, 10); int r = rmd.Next(0, 10); int f = rmd.Next(0, 10); string codigo = a.ToString() + b.ToString() + c.ToString() + d.ToString() + r.ToString() + f.ToString(); ConstructorEmpresa_Controlador mail = new ConstructorEmpresa_Controlador(); string sending = Constructor_RecuCorreo.correo; Constructor_Usuario recu = new Constructor_Usuario(); string email = txtEmail.Text; System.Net.Mail.MailMessage mssg = new System.Net.Mail.MailMessage(); mssg.To.Add(email); mssg.Subject = "Nuevo código de recuperación de contraseña"; mssg.SubjectEncoding = System.Text.Encoding.UTF8; mssg.Body = "Su código de recuperación de contraseña es " + codigo + " por favor, inicie sesión con su usuario y el código asignado."; mssg.BodyEncoding = Encoding.UTF8; mssg.IsBodyHtml = true; mssg.From = new System.Net.Mail.MailAddress(sending); System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient(); cliente.Credentials = new System.Net.NetworkCredential(sending, "SaboresITR2019"); cliente.Host = "smtp.gmail.com"; cliente.Port = 587; cliente.EnableSsl = true; try { if (ControlRecuCorreo.ActualizarContra(Constructor_Usuario.id_usuario, Validaciones.md5(codigo)) == true) { cliente.Send(mssg); txtCodigo.Enabled = true; BtnVerificarCodigo.Enabled = true; txtUsuarioRecuperar.Enabled = false; txtEmail.Enabled = false; BtnValidarCredenciales.Enabled = false; MessageBox.Show("Código de verificación enviado exitosamente, ahora ingrese el código de verificación", "Datos enviados exitosamente", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception) { throw; } } }
private void BtnActualizar_Click(object sender, EventArgs e) { if (MessageBox.Show("¿Desea actualizar los datos del usuario?", "Confirmación de actualización", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Constructor_Usuario actualizacion = new Constructor_Usuario(); Constructor_Usuario.id_usuario = int.Parse(txtId.Text); actualizacion.nombres = txtNombres.Text; actualizacion.apellidos = txtApellidos.Text; if (radCarne.Checked == true) { radDui.Checked = false; maskDui.Clear(); actualizacion.documento = txtCarne.Text; } else if (radDui.Checked == true) { radCarne.Checked = false; txtCarne.Clear(); actualizacion.documento = maskDui.Text; } actualizacion.nacimiento = dtNacimiento.Text; actualizacion.email = txtCorreo.Text; int intentos = 0; actualizacion.intentos = intentos; actualizacion.id_empresa = Convert.ToInt16(cmbEmpresa.SelectedValue); actualizacion.id_estado = Convert.ToInt16(cmbEstado.SelectedValue); actualizacion.id_tipo_usuario = Convert.ToInt16(cmbTipoUsuario.SelectedValue); MemoryStream ms = new MemoryStream(); pbFoto.Image.Save(ms, ImageFormat.Jpeg); byte[] aByte = ms.ToArray(); string decoded = Convert.ToBase64String(aByte); actualizacion.imagen = decoded; int verificar_proceso = ControlUsuarios_Modelo.Actualizar_Usuario(actualizacion); if (verificar_proceso >= 1) { Mostrar_Usuarios(); LimpiarCampos(); activarBotones(); } else { MessageBox.Show("Los datos no pudieron ser actualizados, intentelo nuevamente", "Proceso fallido", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
public static int Ingresar_Usuario(Constructor_Usuario cpri) { int retorno = 0; try { string query = "SELECT * FROM tbusuario WHERE usuario = ?usuario OR documento = ?documento"; MySqlCommand cmdselect = new MySqlCommand(query, Conexion_Config.ObtenerConexion()); cmdselect.Parameters.Add(new MySqlParameter("usuario", cpri.usuario)); cmdselect.Parameters.Add(new MySqlParameter("documento", cpri.documento)); retorno = Convert.ToInt16(cmdselect.ExecuteNonQuery()); if (retorno >= 1) { MessageBox.Show("El usuario o el documento que desea registrar ya se encuentra en la base de datos, verifique sus datos.", "Error de datos", MessageBoxButtons.OK, MessageBoxIcon.Warning); retorno = 0; } else { MySqlCommand cmdinsert = new MySqlCommand(string.Format("INSERT INTO tbusuario (usuario, clave, nombres, apellidos, documento, nacimiento, email, intentos, id_empresa, id_estado, id_tipousuario, foto) VALUES ('" + cpri.usuario + "','" + cpri.clave + "','" + cpri.nombres + "','" + cpri.apellidos + "','" + cpri.documento + "','" + cpri.nacimiento + "','" + cpri.email + "','" + cpri.intentos + "','" + cpri.id_empresa + "','" + cpri.id_estado + "','" + cpri.id_tipo_usuario + "','" + cpri.imagen + "')"), Conexion_Config.ObtenerConexion()); retorno = Convert.ToInt16(cmdinsert.ExecuteNonQuery()); if (retorno >= 1) { MessageBox.Show("Usuario agregado exitosamente.", "Proceso completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("El usuario que desea ingresar no pudo ser registrado.", "Error de ingreso", MessageBoxButtons.OK, MessageBoxIcon.Warning); retorno = 0; } } return(retorno); } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error en la inserción de un nuevo usuario, verifique su conexión a internet, si el problema persiste consulte al administrador." + ex.Message, "Error critico", MessageBoxButtons.OK, MessageBoxIcon.Error); return(retorno); } finally { Conexion_Config.ObtenerConexion().Close(); } }
public static int Actualizar_Usuario(Constructor_Usuario act) { int retorno = 0; try { MySqlCommand cmdupdate = new MySqlCommand(string.Format("UPDATE tbusuario SET nombres = '" + act.nombres + "', apellidos = '" + act.apellidos + "', documento = '" + act.documento + "', nacimiento = '" + act.nacimiento + "', email = '" + act.email + "', intentos ='" + act.intentos + "', id_empresa = '" + act.id_empresa + "', id_estado = '" + act.id_estado + "', id_tipousuario = '" + act.id_tipo_usuario + "', foto = '" + act.imagen + "' WHERE id_usuario = '" + Constructor_Usuario.id_usuario + "'"), Conexion_Config.ObtenerConexion()); retorno = Convert.ToInt16(cmdupdate.ExecuteNonQuery()); if (retorno >= 1) { MessageBox.Show("Los datos han sido actualizados correctamente", "Datos actualizados", MessageBoxButtons.OK, MessageBoxIcon.Information); } return(retorno); } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error durante la actualización de datos del usuario, revise su conexión a internet y si el error persiste consulte con el administrador. " + ex.Message, "Error de actualización", MessageBoxButtons.OK, MessageBoxIcon.Error); return(retorno); } }
public static bool ActualizarConstraseña(Constructor_Usuario act) { bool retorno = false; try { MySqlCommand cmdact = new MySqlCommand(string.Format("UPDATE tbusuario SET clave = '{0}' WHERE usuario = '{1}'", act.clave, act.usuario), Conexion_Config.ObtenerConexion()); retorno = Convert.ToBoolean(cmdact.ExecuteNonQuery()); if (retorno == true) { MessageBox.Show("Contraseña actualizada correctamente", "Proceso completado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("No se pudo cambiar la Contraseña, Vuelva a intentarlo", "Proceso no completado", MessageBoxButtons.OK, MessageBoxIcon.Warning); } return(retorno); } catch (Exception ex) { MessageBox.Show("Oops! Ha ocurrido un error, revise su conexion a internet" + ex, "Error critico", MessageBoxButtons.OK, MessageBoxIcon.Error); return(retorno); } }
void Agregar_Usuario() { DateTime hoy = DateTime.Today; if (string.IsNullOrWhiteSpace(txtUsuario.Text) || string.IsNullOrWhiteSpace(txtNombres.Text) || string.IsNullOrWhiteSpace(txtApellidos.Text) || string.IsNullOrWhiteSpace(txtCorreo.Text) || string.IsNullOrWhiteSpace(dtNacimiento.Text)) { MessageBox.Show("No se puede almacenar la información debido que algunos campos estan vacíos.", "Campos vacíos", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (dtNacimiento.Value.Date >= hoy) { MessageBox.Show("La fecha de nacimiento proporcionada no puede ser igual o mayor a la fecha actual.", "Error en fecha de nacimiento", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (maskDui.Text.Trim() == "-" && txtCarne.Text.Trim() == "") { MessageBox.Show("Brinde un documento de identificación, recuerde que puede proporcionar su numero de DUI o número de carné en caso de ser un estudiante.", "Documento faltante", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (dtNacimiento.Value.AddYears(18) > hoy && maskDui.Text.Trim() != "-") { MessageBox.Show("Usted ha proporcionado un numero de dui siendo menor de edad, verifique que los datos sean correctos", "Fecha de nacimiento incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (pbFoto.Image == null) { MessageBox.Show("Debes cargar una fotografia en el perfil del usuario.", "Datos faltantes", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { Constructor_Usuario reg = new Constructor_Usuario(); reg.usuario = txtUsuario.Text; string clave = Validaciones.md5(txtUsuario.Text + "primeruso"); //MessageBox.Show(clave); reg.clave = clave; reg.nombres = txtNombres.Text; reg.apellidos = txtApellidos.Text; if (radCarne.Checked == true) { radDui.Checked = false; maskDui.Clear(); reg.documento = txtCarne.Text; } else if (radDui.Checked == true) { radCarne.Checked = false; txtCarne.Clear(); reg.documento = maskDui.Text; } reg.nacimiento = dtNacimiento.Text; reg.email = txtCorreo.Text; reg.intentos = 0; reg.id_empresa = Convert.ToInt16(cmbEmpresa.SelectedValue); reg.id_estado = Convert.ToInt16(cmbEstado.SelectedValue); reg.id_tipo_usuario = Convert.ToInt16(cmbTipoUsuario.SelectedValue); MemoryStream ms = new MemoryStream(); pbFoto.Image.Save(ms, ImageFormat.Jpeg); byte[] aByte = ms.ToArray(); string decoded = Convert.ToBase64String(aByte); reg.imagen = decoded; int datos = ControlUsuarios_Modelo.Ingresar_Usuario(reg); if (datos >= 1) { LimpiarCampos(); } } }
void Registrar_Usuario() { DateTime hoy = DateTime.Today; if (txtNombres.Text.Trim() == "" || txtApellidos.Text.Trim() == "" || maskDui.Text.Trim() == "" && txtCarne.Text.Trim() == "" || txtUsuario.Text.Trim() == "" || txtEmail.Text == "" || txtClave.Text.Trim() == "" || txtConfClave.Text.Trim() == "") { MessageBox.Show("Algunos campos están vacíos.", "Datos faltantes", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (pbFoto.Image == null) { MessageBox.Show("Ha faltado cargar una foto al perfil del nuevo usuario", "Foto faltante", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (txtClave.Text != txtConfClave.Text) { MessageBox.Show("Las claves no coinciden, vuelva a ingresarlas", "Claves no coinciden", MessageBoxButtons.OK, MessageBoxIcon.Stop); txtClave.Clear(); txtConfClave.Clear(); } else if (Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta2.SelectedValue) || Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta3.SelectedValue) || Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue) || Convert.ToInt16(cmbPregunta2.SelectedValue) == Convert.ToInt16(cmbPregunta3.SelectedValue) || Convert.ToInt16(cmbPregunta2.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue) || Convert.ToInt16(cmbPregunta3.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue)) { MessageBox.Show("Verique que ha seleccionado y respondido a preguntas diferentes, no esta permitido responder dos veces a la misma pregunta.", "Verificación de pregunta", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (dtNacimiento.Value.Date >= hoy) { MessageBox.Show("Verifique la fecha seleccionada, ya que es igual o pertenece a una fecha futura", "Error en fecha de nacimiento", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { Constructor_Usuario user = new Constructor_Usuario(); user.usuario = txtUsuario.Text; user.clave = Validaciones.md5(txtConfClave.Text); user.nombres = txtNombres.Text; user.apellidos = txtApellidos.Text; if (radCarne.Checked == true) { user.documento = txtCarne.Text; } else if (radDui.Checked == true) { user.documento = maskDui.Text; } user.nacimiento = dtNacimiento.Text; user.email = txtEmail.Text; user.intentos = 0; user.id_empresa = Convert.ToInt16(cmbEmpresa.SelectedValue); user.id_estado = Convert.ToInt16(cmbEstado.SelectedValue); user.id_tipo_usuario = Convert.ToInt16(cmbTipoUsuario.SelectedValue); MemoryStream ms = new MemoryStream(); pbFoto.Image.Save(ms, ImageFormat.Jpeg); byte[] aByte = ms.ToArray(); string encoded = Convert.ToBase64String(aByte); user.imagen = encoded; int datos = ControlUsuarios_Modelo.Ingresar_Usuario(user); if (datos >= 1) { ControlUsuarios_Modelo.Buscar_usuario(txtUsuario.Text); txtId.Text = Constructor_Usuario.id_usuario.ToString(); Constructor_Respuestas res = new Constructor_Respuestas(); for (int i = 0; i < 4; i++) { switch (i) { case 0: res.respuesta = Validaciones.md5(txtRespuesta1.Text); res.id_pregunta = Convert.ToInt16(cmbPregunta1.SelectedValue); int res1 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text)); break; case 1: res.respuesta = Validaciones.md5(txtRespuesta2.Text); res.id_pregunta = Convert.ToInt16(cmbPregunta2.SelectedValue); int res2 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text)); break; case 2: res.respuesta = Validaciones.md5(txtRespuesta3.Text); res.id_pregunta = Convert.ToInt16(cmbPregunta3.SelectedValue); int res3 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text)); break; case 3: res.respuesta = Validaciones.md5(txtRespuesta4.Text); res.id_pregunta = Convert.ToInt16(cmbPregunta4.SelectedValue); int res4 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text)); break; default: break; } } MessageBox.Show("Hemos finalizado con la configuración inicial, en este momento te mostrare el Inicio de Sesión para que escribas las credenciales del usuario que acabas de crear.", "Proceso finalizado", MessageBoxButtons.OK, MessageBoxIcon.Information); FrmLogin log = new FrmLogin(); log.Show(); this.Close(); } } }