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); }
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); }
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); }