示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#5
0
        //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);
            }
        }
示例#7
0
        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);
            }
        }