Example #1
0
        public static List <TurnoLibre> ObtenerDisponibilidad(long clienteId, DateTime dI, DateTime dF, int minutosDuracionTurno)
        {
            List <TurnoLibre> lResultado = new List <TurnoLibre>();
            DateTime          diaBase;

            TimeSpan ticksIniciales = new TimeSpan(dI.Ticks);
            TimeSpan ticksFinales   = new TimeSpan(dF.Ticks);
            TimeSpan duracionTurno  = new TimeSpan(0, minutosDuracionTurno, 0);


            //Traigo los recursos activos para ese cliente
            List <Recurso> lRecursos = Recursos.Buscar(clienteId, true);

            if (lRecursos.Count == 0)
            {
                return(lResultado);
            }
            //Recorro todos los recursos encontrados
            foreach (Recurso oR in lRecursos)
            {
                bool libre = true;
                //Dia base sobre el que construyo los turnos disponibles del dia
                diaBase = new DateTime(dI.Year, dI.Month, dI.Day, dI.Hour, dI.Minute, 0);

                for (TimeSpan horario = ticksIniciales;
                     horario < ticksFinales; horario += duracionTurno)
                {
                    libre = oR.TieneTurnoDisponible(diaBase, duracionTurno);
                    lResultado.Add(new TurnoLibre(oR.Id, oR.Nombre, diaBase, libre));
                    diaBase += duracionTurno;
                }
            }
            return(lResultado);
        }
Example #2
0
        static public List <String> ObtenerRecursosDelCliente(long clienteId)
        {
            var            recursos      = new List <string>();
            List <Recurso> listaRecursos = Recursos.Buscar(clienteId, true);

            listaRecursos.ForEach(o => recursos.Add(o.Nombre));
            return(recursos);
        }
Example #3
0
        static private List <Turnos.BO.disponibilidad> obtenerTurnosDelCliente(long idCliente, DateTime fechaI, DateTime fechaF, int duracion)
        {
            //Lectura parametros de los campos y obtiene los recursos disponibles en ese horario
            List <TurnoLibre> lTL = Recursos.ObtenerDisponibilidad(idCliente, fechaI, fechaF, duracion);

            //Pivotea la lista de turnos disponibles
            List <Turnos.BO.disponibilidad> lResultado = pivotearDisponibilidad(lTL, fechaI, fechaF, duracion);

            return(lResultado);
        }