public List <DiaLaboral> reporteEmpleadoAsistencia(int idemp, Date fechaIni, Date fechaFin, String asist, SqlConnection con)
        {
            List <DiaLaboral> lista = new List <DiaLaboral>();

            using (var cmd = con.CreateCommand())
            {
                con.Open();
                cmd.CommandText = "reporteEmpleadoAsistencia";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Empleado", idemp);
                cmd.Parameters.AddWithValue("@FechaInicio", fechaIni.ToShortString());
                cmd.Parameters.AddWithValue("@FechaFinal", fechaFin.ToShortString());
                cmd.Parameters.AddWithValue("@Asistencia", asist);
                SqlDataReader rd = cmd.ExecuteReader();

                while (rd.Read())
                {
                    DiaLaboral d = new DiaLaboral();
                    d.setIdDia(rd.GetInt32(rd.GetOrdinal("IdDiaLaboral")));
                    d.setIdEmpleado(rd.GetInt32(rd.GetOrdinal("Empleado")));
                    d.setIdHoraEnt(rd.GetInt32(rd.GetOrdinal("HoraEntrada")));
                    d.setIdHoraSal(rd.GetInt32(rd.GetOrdinal("HoraSalida")));
                    d.setFecha(new Date(rd.GetDateTime(rd.GetOrdinal("FechaDia"))));
                    switch (rd.GetString(rd.GetOrdinal("Asistencia")))
                    {
                    case "Presente": d.setAsistencia(Asistencia.Presente); break;

                    case "Falta": d.setAsistencia(Asistencia.Falta); break;

                    case "Retardo": d.setAsistencia(Asistencia.Retardo); break;

                    case "Justificada": d.setAsistencia(Asistencia.Justificada); break;
                    }
                    lista.Add(d);
                }
                con.Close();
            }
            Empleado      emp; EntradaLaboral ent;
            SalidaLaboral sal; int i = 0;

            foreach (DiaLaboral d in lista)
            {
                emp = new Empleado(d.getIdEmpleado(), con);
                lista[i].setNomEmpleado(emp.getNombreCompleto());
                ent = new EntradaLaboral(d.getIdHoraEnt(), con);
                lista[i].setHoraEnt(ent.getHoraEnt());
                sal = new SalidaLaboral(d.getIdHoraSal(), con);
                lista[i].setHoraSal(sal.getHoraSal());
                i++;
            }
            return(lista);
        }
        public List <DiaLaboral> ListarDiasLaborales(SqlConnection con)
        {
            List <DiaLaboral> lista = new List <DiaLaboral>();

            using (var cmd = con.CreateCommand())
            {
                con.Open();
                cmd.CommandText = "listarDias";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataReader rd = cmd.ExecuteReader();
                while (rd.Read())
                {
                    DiaLaboral d = new DiaLaboral();
                    d.setIdDia(rd.GetInt32(rd.GetOrdinal("IdDiaLaboral")));
                    d.setIdEmpleado(rd.GetInt32(rd.GetOrdinal("Empleado")));
                    d.setIdHoraEnt(rd.GetInt32(rd.GetOrdinal("HoraEntrada")));
                    d.setIdHoraSal(rd.GetInt32(rd.GetOrdinal("HoraSalida")));
                    d.setFecha(new Date(rd.GetDateTime(rd.GetOrdinal("FechaDia"))));
                    switch (rd.GetString(rd.GetOrdinal("Asistencia")))
                    {
                    case "Presente": d.setAsistencia(Asistencia.Presente); break;

                    case "Falta": d.setAsistencia(Asistencia.Falta); break;

                    case "Retardo": d.setAsistencia(Asistencia.Retardo); break;

                    case "Justificada": d.setAsistencia(Asistencia.Justificada); break;
                    }
                    Empleado e = new Empleado(d.getIdEmpleado(), con);
                    d.setNomEmpleado(e.getNombreCompleto());
                    EntradaLaboral ent = new EntradaLaboral(d.getIdHoraEnt(), con);
                    d.setHoraEnt(ent.getHoraEnt());
                    SalidaLaboral sal = new SalidaLaboral(d.getIdHoraSal(), con);
                    d.setHoraSal(sal.getHoraSal());
                    lista.Add(d);
                }
            }
            return(lista);
        }