예제 #1
0
        public async Task <bool> ExisteSalaDisponible(long establecimientoId, DateTime fecha, long?eventoId = null)
        {
            var salas = (IEnumerable <SalaDto>) await _salaServicio.ObtenerPorEstablecimiento(establecimientoId);

            foreach (var sala in salas)
            {
                var existeActividad = await _helperActividad.ExistePorSalaYFecha(sala.Id, fecha, eventoId);

                if (!existeActividad)
                {
                    return(true);
                }
            }

            return(false);
        }
        public async Task <IActionResult> Index(long?establecimientoId = null, string cadenaBuscar = "", bool mostrarTodos = false)
        {
            if (cadenaBuscar == null)
            {
                cadenaBuscar = "";
            }
            ViewBag.EstablecimientoId = null;
            IEnumerable <SalaDto> salas;

            if (!establecimientoId.HasValue)
            {
                salas = (IEnumerable <SalaDto>) await _salaServicio.Obtener(cadenaBuscar, mostrarTodos);
            }
            else
            {
                salas = (IEnumerable <SalaDto>) await _salaServicio.ObtenerPorEstablecimiento(establecimientoId.Value,
                                                                                              cadenaBuscar, mostrarTodos);

                ViewBag.EstablecimientoId = establecimientoId.Value;
            }

            var models = salas.Select(s => new SalaViewModel()
            {
                Id                = s.Id,
                Nombre            = s.Nombre,
                EstablecimientoId = s.EstablecimientoId,
                EstaEliminado     = s.EliminadoStr
            }).ToList();

            foreach (var m in models)
            {
                m.Establecimiento = await _helperEstablecimiento.ObtenerEstablecimiento(m.EstablecimientoId);
            }

            ViewBag.CadenaBuscar = cadenaBuscar;
            ViewBag.MostrarTodos = mostrarTodos;

            return(View(models));
        }