Ejemplo n.º 1
0
        private void btnRegistra_Click(object sender, EventArgs e)
        {
            DialogResult rs = MessageBox.Show("¿Realmente desea registrar falta al empleado seleccionado?", "Registro de faltas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

            if (rs.Equals(DialogResult.OK))
            {
                DiaLaboral dia = new DiaLaboral();
                dia.setFecha(new Date(DateTime.Now));
                dia.setAsistencia(DiaLaboral.Asistencia.Falta);
                dia.setIdEmpleado(this.emp.getClave());
                string etqdia = DateTime.Now.ToString("dddd", new CultureInfo("es-ES"));
                DiaLaboral.DiaSemana etiqueta = new DiaLaboral.DiaSemana();
                switch (etqdia)
                {
                case "domingo": etiqueta = DiaLaboral.DiaSemana.Domingo; break;

                case "lunes": etiqueta = DiaLaboral.DiaSemana.Lunes; break;

                case "martes": etiqueta = DiaLaboral.DiaSemana.Martes; break;

                case "miércoles": etiqueta = DiaLaboral.DiaSemana.Miércoles; break;

                case "jueves": etiqueta = DiaLaboral.DiaSemana.Jueves; break;

                case "viernes": etiqueta = DiaLaboral.DiaSemana.Viernes; break;

                case "sabado": etiqueta = DiaLaboral.DiaSemana.Sabado; break;
                }
                if (etiqueta != this.emp.getDiaLibre())
                {
                    EntradaLaboral ent = new EntradaLaboral();
                    ent.setFechaEnt(new Date(DateTime.Now));
                    ent.setIdEmpleado(this.emp.getClave());
                    ent.setHoraEnt(new Time(0, 0, 0));
                    ent.insertarEntradaBD(this.conexion);
                    ent = new EntradaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                    SalidaLaboral sal = new SalidaLaboral();
                    sal.setFechaSal(new Date(DateTime.Now));
                    sal.setIdEmpleado(this.emp.getClave());
                    sal.setHoraSal(new Time(0, 0, 0));
                    sal.insertarSalidaBD(this.conexion);
                    sal = new SalidaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                    dia.setIdHoraEnt(ent.getIdEntrada());
                    dia.setIdHoraSal(sal.getIdSalida());
                    int n = dia.insertarDiaBD(this.conexion);
                    if (n > 0)
                    {
                        MessageBox.Show("La falta fue registrada exitosamente.", "Mensaje de Exito", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.emp = new Empleado();
                    }
                    else
                    {
                        MessageBox.Show("La falta no pudo ser registrada.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                MessageBox.Show("La falta no puede ser registrada en el día de descanso del trabajador.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 2
0
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            EntradaLaboral ent;
            SalidaLaboral  sal;
            DiaLaboral     dia;

            if (rbtnFacial.Checked == true)
            {
                //if (curp.Equals(this.emp.getCURP()))
                if (true)
                {
                    DialogResult rs = MessageBox.Show("¿Realmente desea registrar la asistencia con el empleado seleccionado?", "Registro de asistencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (rs.Equals(DialogResult.OK))
                    {
                        if (DateTime.Now.Hour <= this.emp.getHoraEnt().Hours + 1 && DateTime.Now.Hour <= this.emp.getHoraSal().Hours - 1)
                        {
                            ent = new EntradaLaboral();
                            ent.setFechaEnt(new Date(DateTime.Now));
                            ent.setHoraEnt(new Time(DateTime.Now));
                            ent.setIdEmpleado(this.emp.getClave());
                            int r = ent.insertarEntradaBD(this.conexion);
                            if (r > 0)
                            {
                                MessageBox.Show("La entrada laboral fue registrada satisfactoriamente.", "Mensaje de Exito", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            }
                            else
                            {
                                MessageBox.Show("La entrada no pudo ser registrada.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            if (DateTime.Now.Hour <= this.emp.getHoraSal().Hours + 1 && DateTime.Now.Hour > this.emp.getHoraEnt().Hours + 1)
                            {
                                sal = new SalidaLaboral();
                                sal.setFechaSal(new Date(DateTime.Now));
                                sal.setHoraSal(new Time(DateTime.Now));
                                sal.setIdEmpleado(this.emp.getClave());
                                int r = sal.insertarSalidaBD(this.conexion);
                                if (r > 0)
                                {
                                    MessageBox.Show("La salida laboral fue registrada satisfactoriamente.", "Mensaje de Exito", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                                    ent = new EntradaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                                    sal = new SalidaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);

                                    dia = new DiaLaboral();
                                    dia.setFecha(sal.getFechaSal());
                                    dia.setIdEmpleado(sal.getIdEmpleado());
                                    dia.setIdHoraSal(sal.getIdSalida());
                                    if (ent.getIdEntrada() != 0)
                                    {
                                        dia.setIdHoraEnt(ent.getIdEntrada());
                                        if (ent.getHoraEnt().Minutes > 15)
                                        {
                                            dia.setAsistencia(DiaLaboral.Asistencia.Retardo);
                                            dia.insertarDiaBD(this.conexion);
                                        }
                                        else
                                        {
                                            dia.setAsistencia(DiaLaboral.Asistencia.Presente);
                                            dia.insertarDiaBD(this.conexion);
                                        }
                                    }
                                    else
                                    {
                                        ent = new EntradaLaboral();
                                        ent.setFechaEnt(new Date(DateTime.Now));
                                        ent.setIdEmpleado(this.emp.getClave());
                                        ent.setHoraEnt(new Time(0, 0, 0));
                                        ent.insertarEntradaBD(this.conexion);
                                        ent = new EntradaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                                        dia.setIdHoraEnt(ent.getIdEntrada());
                                        dia.setAsistencia(DiaLaboral.Asistencia.Falta);
                                        dia.insertarDiaBD(this.conexion);
                                        MessageBox.Show("Día laboral registrado como falta por no tener registro de entrada del día.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("La salida no pudo ser registrada.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                MessageBox.Show("Es imposible registrar una entrada o salida una hora despues del horario registrado.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Empleado no identificado de manera correcta", "Mesaje de error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                if (lblIdTarjeta.Text.Equals(this.emp.getIdTarjeta()))
                {
                    DialogResult rs = MessageBox.Show("¿Realmente desea registrar la asistencia con el empleado seleccionado?", "Registro de asistencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (rs.Equals(DialogResult.OK))
                    {
                        if (DateTime.Now.Hour <= this.emp.getHoraEnt().Hours + 1 && DateTime.Now.Hour <= this.emp.getHoraSal().Hours - 1)
                        {
                            ent = new EntradaLaboral();
                            ent.setFechaEnt(new Date(DateTime.Now));
                            ent.setHoraEnt(new Time(DateTime.Now));
                            ent.setIdEmpleado(this.emp.getClave());
                            int r = ent.insertarEntradaBD(this.conexion);
                            if (r > 0)
                            {
                                MessageBox.Show("La entrada laboral fue registrada satisfactoriamente.", "Mensaje de Exito", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            }
                            else
                            {
                                MessageBox.Show("La entrada no pudo ser registrada.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            if (DateTime.Now.Hour <= this.emp.getHoraSal().Hours + 1 && DateTime.Now.Hour > this.emp.getHoraEnt().Hours + 1)
                            {
                                sal = new SalidaLaboral();
                                sal.setFechaSal(new Date(DateTime.Now));
                                sal.setHoraSal(new Time(DateTime.Now));
                                sal.setIdEmpleado(this.emp.getClave());
                                int r = sal.insertarSalidaBD(this.conexion);
                                if (r > 0)
                                {
                                    MessageBox.Show("La salida laboral fue registrada satisfactoriamente.", "Mensaje de Exito", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                                    ent = new EntradaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                                    sal = new SalidaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);

                                    dia = new DiaLaboral();
                                    dia.setFecha(sal.getFechaSal());
                                    dia.setIdEmpleado(sal.getIdEmpleado());
                                    dia.setIdHoraSal(sal.getIdSalida());
                                    if (ent.getIdEntrada() != 0)
                                    {
                                        dia.setIdHoraEnt(ent.getIdEntrada());
                                        if (ent.getHoraEnt().Minutes > 15)
                                        {
                                            dia.setAsistencia(DiaLaboral.Asistencia.Retardo);
                                            dia.insertarDiaBD(this.conexion);
                                        }
                                        else
                                        {
                                            dia.setAsistencia(DiaLaboral.Asistencia.Presente);
                                            dia.insertarDiaBD(this.conexion);
                                        }
                                    }
                                    else
                                    {
                                        ent = new EntradaLaboral();
                                        ent.setFechaEnt(new Date(DateTime.Now));
                                        ent.setIdEmpleado(this.emp.getClave());
                                        ent.setHoraEnt(new Time(0, 0, 0));
                                        ent.insertarEntradaBD(this.conexion);
                                        ent = new EntradaLaboral(this.emp.getClave(), new Date(DateTime.Now), this.conexion);
                                        dia.setIdHoraEnt(ent.getIdEntrada());
                                        dia.setAsistencia(DiaLaboral.Asistencia.Falta);
                                        dia.insertarDiaBD(this.conexion);
                                        MessageBox.Show("Día laboral registrado como falta por no tener registro de entrada del día.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("La salida no pudo ser registrada.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                MessageBox.Show("Es imposible registrar una entrada o salida una hora despues del horario registrado.", "Mensaje de Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Empleado no identificado de manera correcta", "Mesaje de error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }