예제 #1
0
        // Metodos privados
        private List <TiemposDia> extraerDiasDeTokens(string[] tokens)
        {
            Acceso   entrada1 = new Acceso();
            Acceso   salida1  = new Acceso();
            Acceso   entrada2 = new Acceso();
            Acceso   salida2  = new Acceso();
            DateTime dia      = DateTime.Now;

            List <TiemposDia> diasList = new List <TiemposDia>();

            TiemposDia[] diasInfo = new TiemposDia[tokens.Length];

            for (int i = 0; i < tokens.Length; i++)
            {
                string[] grupoDia = tokens[i].Split('\n');

                entrada1 = new Acceso();
                salida1  = new Acceso();
                entrada2 = new Acceso();
                salida2  = new Acceso();

                for (int j = 0; j < grupoDia.Length; j++)
                {
                    // Separa elementos
                    string[] diaElementos = grupoDia[j].Split(' ');

                    Acceso temp = new Acceso();

                    // Obtiene la fecha del día
                    if (j == 0)
                    {
                        dia = DateTime.Parse(diaElementos[0]);
                    }

                    if (!diaElementos.Contains("A"))
                    {
                        // En caso de nuevo dia
                        if (j == 0)
                        {
                            temp.Hora = DateTime.Parse(diaElementos[1]);
                            // Asigna status
                            temp.status = diaElementos[4];
                            // Observaciones
                            if (diaElementos.Length > 5)
                            {
                                temp.observaciones = diaElementos[5];
                            }
                        }
                        else
                        {
                            temp.Hora = DateTime.Parse(diaElementos[0]);
                            // Asigna status
                            temp.status = diaElementos[3];
                            // Observaciones
                            if (diaElementos.Length > 4)
                            {
                                temp.observaciones = diaElementos[4];
                            }
                        }
                    }
                    else
                    {
                        if (j == 0)
                        {
                            // status
                            temp.status = diaElementos[3];
                            // observaciones
                            if (diaElementos.Length > 4)
                            {
                                string[] observaciones = new string[diaElementos.Length - 4];
                                Array.Copy(diaElementos, 4, observaciones, 0, observaciones.Length);
                                temp.observaciones = string.Join(" ", observaciones);
                            }
                        }
                        else
                        {
                            // Asigna status
                            temp.status = diaElementos[2];
                            // Observaciones
                            if (diaElementos.Length > 3)
                            {
                                string[] observaciones = new string[diaElementos.Length - 3];
                                Array.Copy(diaElementos, 3, observaciones, 0, observaciones.Length);
                                temp.observaciones = string.Join(" ", observaciones);
                            }
                        }
                    }

                    if (diaElementos.Contains("ENTRADA1") || diaElementos.Contains("ENTRADA"))
                    {
                        entrada1 = temp;
                    }
                    else if (diaElementos.Contains("SALIDA1") || diaElementos.Contains("SALIDA"))
                    {
                        salida1 = temp;
                    }
                    else if (diaElementos.Contains("ENTRADA2"))
                    {
                        entrada2 = temp;
                    }
                    else if (diaElementos.Contains("SALIDA2"))
                    {
                        salida2 = temp;
                    }
                }

                diasInfo[i] = new TiemposDia(dia, entrada1, salida1, entrada2, salida2);
            }

            foreach (TiemposDia t in diasInfo)
            {
                diasList.Add(t);
            }

            return(diasList);
        }
예제 #2
0
 public void setDia(TiemposDia nuevoHorario, int index)
 {
     this.Dias[index] = nuevoHorario;
 }