Exemplo n.º 1
0
        public void addTZInterval(int v_TZnum, TZInterval v_Interval)
        {
            if (!TZDefinition.ContainsKey(v_TZnum))
            {
                TZDefinition.Add(v_TZnum, new List<TZInterval>());
            }

            TZDefinition[v_TZnum].Add(v_Interval);
        }
Exemplo n.º 2
0
        // Chequea si el acceso esta incluido en el intervalo especificado
        private bool incluidoEnIntervalo(TZInterval v_intervalo, DateTime fechaHora, int v_OrgID)
        {
            bool res = false;

            if (!incluidoEnHolidays(fechaHora, v_OrgID, v_intervalo))                 // Si no estamos en una de las vacaciones definidas para la organizacion
            {

                DateTime RangoInicio = GenerarRango(v_intervalo.horaIni, v_intervalo.minIni);
                DateTime RangoFin = GenerarRango(v_intervalo.horaFin, v_intervalo.minFin);

                string listadias = v_intervalo.obtenerListaDias();      // Devuelve la lista de dias del intervalo, separados por coma.

                if (listadias.Contains(((int)fechaHora.DayOfWeek).ToString()) )      // Estamos en uno de los dias de la semana del intervalo?
                {
                    DateTime fechaAComparar = new DateTime(1, 1, 1, fechaHora.Hour, fechaHora.Minute, 0);
                    if ((RangoInicio.CompareTo(fechaAComparar) <= 0) && (RangoFin.CompareTo(fechaAComparar) >= 0))
                    {
                        res = true;
                    }
                }
            }
            return res;
        }
Exemplo n.º 3
0
        // Chequea si el acceso esta incluido en las Holidays.
        private bool incluidoEnHolidays(DateTime fechaHoraAcceso, int v_OrgID, TZInterval intervalo)
        {
            Dictionary<int, List<HolidayData>> ListaHolidays = AccessLevelLogic.ListaHolidays;
            bool res = false;

            if (ListaHolidays.ContainsKey(v_OrgID))
            {
                List<int> tiposHol = intervalo.obtenerListaTiposHoilidays();

                // Obtengo las holidays de la organizacion
                List<HolidayData> LENELHolidays = ListaHolidays[v_OrgID];

                foreach (int tipoToAdd in tiposHol)
                {
                    foreach (HolidayData holi in LENELHolidays)
                    {
                        if (holi.contieneBit(tipoToAdd))
                        {
                            DateTime FechaIni = new DateTime(holi.año,holi.mes,holi.dia);
                            DateTime FechaFin = FechaIni.AddDays(holi.cantDias);

                            if ((FechaIni.CompareTo(fechaHoraAcceso) <= 0) && (FechaFin.CompareTo(fechaHoraAcceso) >= 0))
                            {
                                res = true;
                            }
                        }
                    }
                }
            }
            return res;
        }