private void generarCorreoNotificacionDias() { try { var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("MOSTRAR_EMPLEADOS_CON_DIAS_LIBRES"); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { Empleado.YaEjecutoProceso = true; //ENVIA UN CORREO AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>CÉDULA</th>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>CANTIDAD DE DÍAS DISPONIBLES</th>"); builder.Append("</tr>"); do { builder.Append("<tr align= center>"); builder.Append("<td>" + informacionEncontrada.GetString(0) + "</td>"); builder.Append("<td>" + informacionEncontrada.GetString(1) + "</td>"); builder.Append("<td>" + informacionEncontrada.GetInt32(2).ToString() + "</td>"); builder.Append("</tr>"); } while (informacionEncontrada.Read()); builder.Append("</table>"); var comando02 = conexion.GetStoredProcCommand("SACAR_CORREOS_DE_ADMINISTRADORES"); string correoDeAdministrador = ""; List <string> listaDeCorreos = new List <string>(); listaDeCorreos.Add("*****@*****.**"); using (IDataReader informacionEncontrada01 = conexion.ExecuteReader(comando02)) { while (informacionEncontrada01.Read()) { correoDeAdministrador = informacionEncontrada01.GetString(0); listaDeCorreos.Add(correoDeAdministrador); } } administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h2>Atención, los siguientes empleados poseen 12 o más días libres</h2> <br/> " + builder.ToString(), "Notificación de 12 días libres", "*****@*****.**", "Electrónica UREBA S.A.", listaDeCorreos); } } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
private void enviarCorreoConContrasenna(string cedula, string correo) { try { AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align=center border=1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>CONTRASEÑA TEMPORAL</th>"); builder.Append("</tr>"); builder.Append("<tr align=center>"); builder.Append("<td>" + claveTemporal + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); List <string> listaDeCorreos = new List <string>(); string evento = "El empleado con cédula: " + textBoxDeCedula.Text + "; ha restablecido su contraseña."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(evento, metodoYclase); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Atención, se ha establecido una contraseña temporal para su inicio de sesión:</h1> <br/> " + builder.ToString(), "Restablecimiento de Contraseña", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correo }); MessageBox.Show("Se ha enviado una contraseña temporal a su correo", "Opciones de Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
private void dataGridViewDeEmpleados_CellClick(object sender, DataGridViewCellEventArgs e) { try { String estado = ""; if (dataGridViewDeSolicitudesDeHorasExtra.Columns[e.ColumnIndex].Name == "botonDeAceptar") { DataGridViewRow fila = this.dataGridViewDeSolicitudesDeHorasExtra.Rows[e.RowIndex]; int identificador = int.Parse(fila.Cells["dataGridViewTextBoxColumnIdentificador"].Value.ToString()); String infoCedula = fila.Cells["dataGridViewTextBoxColumnCedula"].Value.ToString(); DateTime fechaDeSolicitud = DateTime.Parse(fila.Cells["dataGridViewTextBoxColumnDia"].Value.ToString()); int cantidadDeHoras = int.Parse(fila.Cells["dataGridViewTextBoxColumnCantidadDeHoras"].Value.ToString()); const string message = "Desea aceptar la solicitud de horas extra seleccionada?"; const string caption = "Opciones de Solicitud"; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); string correoDeEmpleado = ""; string correoDeAdministrador = ""; string nombreDeEmpleado = ""; List <string> listaDeCorreos = new List <string>(); var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("[SACAR_NOMBRE_DE_EMPLEADO_CON_CEDULA]", infoCedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { nombreDeEmpleado = informacionEncontrada["NOMBRE"].ToString(); } } AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>FECHA DE SOLICITUD</th>"); builder.Append("<th>CANTIDAD DE HORAS</th>"); builder.Append("<th>ESTADO DE SOLICITUD</th>"); builder.Append("</tr>"); builder.Append("<tr align= center>"); builder.Append("<td>" + nombreDeEmpleado + "</td>"); builder.Append("<td>" + fechaDeSolicitud.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + cantidadDeHoras + "</td>"); builder.Append("<td>" + "REVISADA" + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); var comando02 = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_CEDULA]", infoCedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando02)) { if (informacionEncontrada.Read()) { correoDeEmpleado = informacionEncontrada.GetString(0); } } var comando03 = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_CEDULA]", Empleado.Cedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando03)) { if (informacionEncontrada.Read()) { correoDeAdministrador = informacionEncontrada["CORREO"].ToString(); listaDeCorreos.Add(correoDeAdministrador); } } if (result == DialogResult.Yes) { estado = "ACEPTADO"; var comando05 = conexion.GetStoredProcCommand("ADMINISTRADOR_ACEPTAR_NEGAR_SOLICITUD_HORAS_EXTRAS", identificador, estado); conexion.ExecuteNonQuery(comando05); MessageBox.Show("Solicitud aceptada", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha aceptado una solicitud de horas extra</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", listaDeCorreos); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Solicitud de horas extra aceptada</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); string texto = "El administrador: " + Empleado.Nombre + " ha aceptado la solicitud de horas extra del empleado " + nombreDeEmpleado + " del día " + fechaDeSolicitud.ToString("dd/MM/yyyy") + " de " + cantidadDeHoras + " horas."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(texto, metodoYclase); reiniciarPagina(); } else if (result == DialogResult.Cancel) { MessageBox.Show("Regresando", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); } // Seleccionar no else if (result == DialogResult.No) { MessageBox.Show("Regresando", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); } } if (dataGridViewDeSolicitudesDeHorasExtra.Columns[e.ColumnIndex].Name == "botonDeNegar") { DataGridViewRow fila = this.dataGridViewDeSolicitudesDeHorasExtra.Rows[e.RowIndex]; int identificador = int.Parse(fila.Cells["dataGridViewTextBoxColumnIdentificador"].Value.ToString()); String infoCedula = fila.Cells["dataGridViewTextBoxColumnCedula"].Value.ToString(); DateTime fechaDeSolicitud = DateTime.Parse(fila.Cells["dataGridViewTextBoxColumnDia"].Value.ToString()); int cantidadDeHoras = int.Parse(fila.Cells["dataGridViewTextBoxColumnCantidadDeHoras"].Value.ToString()); const string message = "Desea negar la solicitud de horas extra seleccionada?"; const string caption = "Opciones de Solicitud"; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); string correoDeEmpleado = ""; string correoDeAdministrador = ""; string nombreDeEmpleado = ""; List <string> listaDeCorreos = new List <string>(); listaDeCorreos.Add("*****@*****.**"); var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("[SACAR_NOMBRE_DE_EMPLEADO_CON_CEDULA]", infoCedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { nombreDeEmpleado = informacionEncontrada["NOMBRE"].ToString(); } } AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>FECHA DE SOLICITUD</th>"); builder.Append("<th>CANTIDAD DE HORAS</th>"); builder.Append("<th>ESTADO DE SOLICITUD</th>"); builder.Append("</tr>"); builder.Append("<tr align= center>"); builder.Append("<td>" + nombreDeEmpleado + "</td>"); builder.Append("<td>" + fechaDeSolicitud.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + cantidadDeHoras + "</td>"); builder.Append("<td>" + "REVISADA" + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); var comando02 = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_CEDULA]", infoCedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando02)) { if (informacionEncontrada.Read()) { correoDeEmpleado = informacionEncontrada.GetString(0); } } var comando03 = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_CEDULA]", Empleado.Cedula); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando03)) { if (informacionEncontrada.Read()) { correoDeAdministrador = informacionEncontrada["CORREO"].ToString(); listaDeCorreos.Add(correoDeAdministrador); } } if (result == DialogResult.Yes) { estado = "NEGADO"; var comando04 = conexion.GetStoredProcCommand("ADMINISTRADOR_ACEPTAR_NEGAR_SOLICITUD_HORAS_EXTRAS", identificador, estado); conexion.ExecuteNonQuery(comando04); MessageBox.Show("Solicitud negada", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha negado una solicitud de horas extra</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", listaDeCorreos); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Solicitud de horas extra negada</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); string texto = "El administrador: " + Empleado.Nombre + " ha negado la solicitud de horas extra del empleado " + nombreDeEmpleado + " del día " + fechaDeSolicitud.ToString("dd/MM/yyyy") + " de " + cantidadDeHoras + " horas."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(texto, metodoYclase); reiniciarPagina(); } else if (result == DialogResult.Cancel) { MessageBox.Show("Regresando", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); } // Seleccionar no else if (result == DialogResult.No) { MessageBox.Show("Regresando", "Opciones de Solicitud", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
private void guardarCambios() { try { var conexion = AbrirBaseDeDatos(); const string message = "¿Guardar cambios?"; const string caption = "Opciones de Horario"; horarioNuevo = textBoxDeHorarioNuevo.Text; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); // Seleccionar no if (result == DialogResult.No) { MessageBox.Show("Cambios descartados", caption, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (result == DialogResult.Yes) { AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align=center border=1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>HORARIO NUEVO</th>"); builder.Append("</tr>"); builder.Append("<tr>"); builder.Append("<td align=center>" + horarioNuevo + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); var comando = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_NOMBRE]", infoNombre); string correoDeEmpleado = ""; List <string> listaDeCorreos = new List <string>(); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { correoDeEmpleado = informacionEncontrada.GetString(0); } } administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Atención, su horario ha sido modificado:</h1> <br/> " + builder.ToString(), "Modificación de Horario", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); MessageBox.Show("Cambios guardados", caption, MessageBoxButtons.OK, MessageBoxIcon.Information); var comando02 = conexion.GetStoredProcCommand("ADMINISTRADOR_CAMBIAR_HORARIO", infoCedula, horarioNuevo); conexion.ExecuteNonQuery(comando02); string evento = "El empleado " + Empleado.Nombre + " ha cambiado el horario del empleado " + infoNombre + ", del horario " + textBoxDeHorarioActual.Text + " al horario " + horarioNuevo + "."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(evento, metodoYclase); volverVistaDeHorarios(); } else if (result == DialogResult.Cancel) { MessageBox.Show("Regresando", caption, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
//POR CADA INSERT private void botonDeRegistrarUsuario_Click(object sender, EventArgs e) { try { string claveTemporal = RandomString(5); string claveTemporalEncriptada = encriptarClaveAsha256(claveTemporal); claveTemporalEncriptada = claveTemporalEncriptada.Substring(0, 24); var conexion = AbrirBaseDeDatos(); const string message = "Desea agregar un nuevo empleado?"; const string caption = "Opciones de Perfil"; //VALIDAR AQUI if (validarTodo() == true && !empleadoExiste()) { var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); string correoDeEmpleado = textBoxDeCorreoElectronico.Text; List <string> listaDeCorreos = new List <string>(); listaDeCorreos.Add("*****@*****.**"); AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>CÉDULA</th>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>HORARIO</th>"); builder.Append("<th>FECHA DE NACIMIENTO</th>"); builder.Append("<th>SALARIO BRUTO</th>"); builder.Append("<th>SALARIO POR HORA</th>"); builder.Append("<th>PUESTO</th>"); builder.Append("<th>TIEMPO</th>"); builder.Append("<th>CLAVE TEMPORAL</th>"); builder.Append("<th>DIRECCIÓN DE CORREO REGISTRADA</th>"); builder.Append("</tr>"); builder.Append("<tr align= center>"); builder.Append("<td>" + textBoxDeCedula.Text + "</td>"); builder.Append("<td>" + textBoxDeNombre.Text + "</td>"); builder.Append("<td>" + textBoxDeHorario.Text + "</td>"); builder.Append("<td>" + dateTimePickerDeFechaDeNacimiento.Value.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + numericUpDownDeSalario.Value.ToString() + "</td>"); builder.Append("<td>" + numericUpDownDeSalarioPorHora.Value.ToString() + "</td>"); builder.Append("<td>" + textBoxDePuesto.Text + "</td>"); builder.Append("<td>" + tiempo + "</td>"); builder.Append("<td>" + claveTemporal + "</td>"); builder.Append("<td>" + textBoxDeCorreoElectronico.Text + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); builder.Append("<br><br>"); builder.Append("<h3>*Por favor cambie su contraseña temporal cuando ingrese al sistema en la sección " + "'Perfil'" + " y seguidamente " + "'Ver Perfil'." + "</h3>"); if (result == DialogResult.Yes) { var comando = conexion.GetStoredProcCommand("ADMINISTRADOR_INSERTAR_EMPLEADO", textBoxDeCedula.Text, textBoxDeNombre.Text, textBoxDeHorario.Text, dateTimePickerDeFechaDeNacimiento.Value, numericUpDownDeSalario.Value, textBoxDePuesto.Text, numericUpDownDeSalarioPorHora.Value, tiempo, claveTemporalEncriptada, rol, textBoxDeCorreoElectronico.Text); conexion.ExecuteNonQuery(comando); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha sido registrado en el sistema, bienvenido a Electrónica UREBA S.A.!</h1><br/><h3>Información de Perfil</h3> " + builder.ToString(), "Creación de Perfil", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); MessageBox.Show("Empleado agregado exitosamente, se ha enviado un correo al empleado con la información escrita y contraseña temporal.", "Opciones de Perfil", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); string texto = "El empleado: " + Empleado.Nombre + " ha agregado al empleado " + textBoxDeNombre.Text + "."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(texto, metodoYclase); reiniciarPagina(); } else if (result == DialogResult.Cancel) { MessageBox.Show("Regresando", "Opciones de Perfil", MessageBoxButtons.OK, MessageBoxIcon.Information); } // Seleccionar no else if (result == DialogResult.No) { MessageBox.Show("Regresando", "Opciones de Perfil", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); MessageBox.Show("Error", "Opciones de Perfil", MessageBoxButtons.OK, MessageBoxIcon.Error); reiniciarPagina(); } }
private void enviarCorreoNotificacion() { try { //ENVIA UN CORREO AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<br/>"); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>FECHA DE INICIO</th>"); builder.Append("<th>FECHA DE FINALIZACIÓN</th>"); builder.Append("<th>CANTIDAD DE DÍAS</th>"); builder.Append("<th>ESTADO</th>"); builder.Append("</tr>"); builder.Append("<tr align= center>"); builder.Append("<td>" + textBoxDeNombre.Text + "</td>"); builder.Append("<td>" + dateTimePickerDeFechaDeInicio.Value.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + dateTimePickerDeFechaDeFinalizacion.Value.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + cantidadDeDiasEnMedio + "</td>"); builder.Append("<td>" + "PENDIENTE" + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_NOMBRE]", textBoxDeNombre.Text); string correoDeEmpleado = ""; string correoDeAdministrador; List <string> listaDeCorreos = new List <string>(); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { correoDeEmpleado = informacionEncontrada.GetString(0); } } var comando02 = conexion.GetStoredProcCommand("[SACAR_CORREOS_DE_ADMINISTRADORES]"); using (IDataReader informacionEncontrada02 = conexion.ExecuteReader(comando02)) { while (informacionEncontrada02.Read()) { correoDeAdministrador = informacionEncontrada02["CORREO"].ToString(); listaDeCorreos.Add(correoDeAdministrador); } } administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha enviado una solicitud de vacaciones</h1> <br/> " + builder.ToString(), "Solicitud de vacaciones", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha recibido una solicitud de vacaciones</h1> <br/> " + builder.ToString(), "Solicitud de vacaciones", "*****@*****.**", "Electrónica UREBA S.A.", listaDeCorreos); string texto = "El empleado: " + Empleado.Nombre + " ha enviado una solicitud de vacaciones de " + cantidadDeDiasEnMedio + " días, del día " + dateTimePickerDeFechaDeInicio.Value.ToString("dd/MM/yyyy") + " al día " + dateTimePickerDeFechaDeFinalizacion.Value.ToString("dd/MM/yyyy") + "."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(texto, metodoYclase); MessageBox.Show("Ha registrado una solicitud de vacaciones", "Opciones de Solicitudes", MessageBoxButtons.OK, MessageBoxIcon.Information); SolicitudesVacaciones solicitudesVacaciones = new SolicitudesVacaciones(); this.Hide(); solicitudesVacaciones.Show(); } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
private void botonDeEnviar_Click(object sender, EventArgs e) { try { if (numericDeCantidadDeHorasExtra.Value != 0) { var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("EMPLEADO_INSERTAR_SOLICITUD_HORAS_EXTRAS", textBoxDeNombre.Text, dateTimePickerDeDiaTrabajado.Value, numericDeCantidadDeHorasExtra.Value); conexion.ExecuteNonQuery(comando); //ENVIA UN CORREO AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align= center border= 1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>NOMBRE</th>"); builder.Append("<th>FECHA DE SOLICITUD</th>"); builder.Append("<th>CANTIDAD DE HORAS</th>"); builder.Append("<th>ESTADO DE SOLICITUD</th>"); builder.Append("</tr>"); builder.Append("<tr align= center>"); builder.Append("<td>" + textBoxDeNombre.Text + "</td>"); builder.Append("<td>" + dateTimePickerDeDiaTrabajado.Value.ToString("dd/MM/yyyy") + "</td>"); builder.Append("<td>" + numericDeCantidadDeHorasExtra.Value.ToString() + "</td>"); builder.Append("<td>" + "PENDIENTE" + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); var comando02 = conexion.GetStoredProcCommand("[SACAR_CORREO_DE_EMPLEADO_CON_NOMBRE]", textBoxDeNombre.Text); string correoDeEmpleado = ""; string correoDeAdministrador; List <string> listaDeCorreos = new List <string>(); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando02)) { if (informacionEncontrada.Read()) { correoDeEmpleado = informacionEncontrada.GetString(0); } } var comando03 = conexion.GetStoredProcCommand("[SACAR_CORREOS_DE_ADMINISTRADORES]"); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando03)) { while (informacionEncontrada.Read()) { correoDeAdministrador = informacionEncontrada["CORREO"].ToString(); listaDeCorreos.Add(correoDeAdministrador); } } administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha enviado una solicitud de horas extra</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { correoDeEmpleado }); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha recibido una solicitud de horas extra</h1> <br/> " + builder.ToString(), "Solicitud de horas extra", "*****@*****.**", "Electrónica UREBA S.A.", listaDeCorreos); string texto = "El empleado: " + Empleado.Nombre + " ha enviado una solicitud de horas extra de " + numericDeCantidadDeHorasExtra.Value.ToString() + " horas para el día " + dateTimePickerDeDiaTrabajado.Value.ToString("dd/MM/yyyy") + "."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(texto, metodoYclase); MessageBox.Show("Ha registrado una solicitud de horas extra", "Opciones de Solicitudes", MessageBoxButtons.OK, MessageBoxIcon.Information); SolicitudesHorasExtra solicitudes = new SolicitudesHorasExtra(); this.Hide(); solicitudes.Show(); } else { MessageBox.Show("No puede registrar menos de una hora extra", "Opciones de Solicitudes", MessageBoxButtons.OK, MessageBoxIcon.Error); numericDeCantidadDeHorasExtra.Focus(); } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }
private void botonDeGuardar_Click(object sender, EventArgs e) { try { string contrasenaAnterior = ""; var conexion = AbrirBaseDeDatos(); var comando = conexion.GetStoredProcCommand("[EMPLEADO_SACAR_CONTRASENA]", Empleado.Cedula); conexion.ExecuteNonQuery(comando); using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando)) { if (informacionEncontrada.Read()) { contrasenaAnterior = informacionEncontrada.GetString(0); } } EmpleadoVerPerfil empleadoVerPerfil = new EmpleadoVerPerfil(); string contrasena = textBoxDeContrasena.Text; string contrasenaEnHash = encriptarClaveAsha256(contrasena); contrasenaEnHash = contrasenaEnHash.Substring(0, 24); if (string.IsNullOrEmpty(contrasena)) { MessageBox.Show("Escriba contraseña", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (!ValidarContrasena(contrasena)) { MessageBox.Show("Revise contraseña", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (contrasenaEnHash.Equals(contrasenaAnterior)) { MessageBox.Show("Contraseña igual a la anterior, por favor usar otra.", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { const string message = "Desea guardar la contraseña escrita?"; const string caption = "Opciones de Contraseña"; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); // Seleccionar no if (result == DialogResult.No) { MessageBox.Show("Regresando", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (result == DialogResult.Yes) { var comando02 = conexion.GetStoredProcCommand("[EMPLEADO_CAMBIAR_CONTRASENA]", Empleado.Cedula, contrasenaEnHash); conexion.ExecuteNonQuery(comando02); AdministradorDeCorreo administradorDeCorreo = new AdministradorDeCorreo("mail.electronicaureba.com", "*****@*****.**", "Qwertz987.,!", 8889); StringBuilder builder = new StringBuilder(); builder.Append("<table class=table table-bordered align=center border=1 cellpadding= 3 cellspacing= 0 width= 100%'>"); builder.Append("<tr>"); builder.Append("<th>CONTRASEÑA NUEVA</th>"); builder.Append("</tr>"); builder.Append("<tr>"); builder.Append("<td align=center>" + contrasena + "</td>"); builder.Append("</tr>"); builder.Append("</table>"); List <string> listaDeCorreos = new List <string>(); string evento = "El empleado con cédula: " + Empleado.Cedula + "; ha actualizado su contraseña."; string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarEvento(evento, metodoYclase); administradorDeCorreo.EnviarCorreo("<img src=https://i.ibb.co/jv7wTtq/LOGO-UREBA.png height=80vh width=100%> <br> <br> <h1>Ha hecho un cambio de contraseña, a continuación se muestra su nueva contraseña:</h1> <br/> " + builder.ToString(), "Cambio de Contraseña", "*****@*****.**", "Electrónica UREBA S.A.", new List <string> { Empleado.Correo }); MessageBox.Show("Cambios realizados, su nueva contraseña se ha enviado a su correo", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Hide(); empleadoVerPerfil.Show(); } else if (result == DialogResult.Cancel) { MessageBox.Show("Regresando", "Opciones de Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name; registrarError(ex, metodoYclase); } }