Visual CSharp .NET - Como obtener todas las fechas de una tabla con un Foreach en C#?

   
Vista:

Como obtener todas las fechas de una tabla con un Foreach en C#?

Publicado por Molitaa (1 intervención) el 02/06/2017 22:20:38
Hola,
Tengo en una tabla los registros de las Fechas de Salidas de los Empleados que han trabajado, lo que deseo hacer en mi pantalla de C# es traer todas las fechas de salidas y compararlas si la fecha esta entre el día que le tocaba descansar colocarlo en color amarillo en el calendario.

Lo que realizo hasta el momento es que por empleado obtiene la FechaSalida y si es en día de descanso me la marca en amarillo lo cual es correcto, pero me faltan otras 2 fechas que deben de marcarse en color amarillo.

He colocado un foreach para traer todas las fechas de salidas que tiene el empleado y comparar para marcar en color amarillo, pero solo me trae el ultimo registro y es el que me compara y me lo marca en amarillo.

Comparto mi Código, para ver si me pueden apoyar en ver si me falta para poder marcar las 3 fechas que tengo en mi FechaSalida
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
private void calFecha_DayRender(object source, DayRenderEventArgs e)  //Colores en Calendario
        {
            bool final = true;
            if (ddloperadores.SelectedValue != "Todos")
            {
                DataTable asistencia = OperadoresBL.OperadoresForaneosAsistencia((int)WAPS.Globals.ConvertTo(txtNumOperador.Text, 0)).Tables[0];    //Datos de Store 
                if (asistencia.Rows.Count > 0)
                {
                    DataRow iRow = asistencia.Rows[0];
                    string Tipo = iRow["TipoJornada"].ToString();
                    DateTime FechaJornada = Convert.ToDateTime(iRow["Jornada_Ini"]);
 
                    if (Tipo == "1") //Tipos de Jornadas
                    {
                        if (FechaJornada <= e.Day.Date)
                        {
                            int rem = (e.Day.Date - FechaJornada).Days % 10; //Total de días 
 
                                if (rem >= 0 && rem <= 7) //Días Laborales  
                                {
                                    e.Cell.BackColor = System.Drawing.Color.White;
                                }
                                else
                                {
 
                                    foreach (DataRow row in asistencia.Rows)
                                    {
                                        DateTime FechaSalida = Convert.ToDateTime(Row["FechaSalida"]);
                                        if (e.Day.Date == FechaSalida.Date)
                                        {
                                            e.Cell.BackColor = System.Drawing.Color.Yellow;
                                        }
                                        else
                                        {
                                            e.Cell.BackColor = System.Drawing.Color.DarkOrange;
                                        }
                                    }
                                }
                        }
                        else
                        {
                            e.Cell.BackColor = System.Drawing.Color.White;
                        }
 
 
                    }
              }
        }
  }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder