Example #1
0
        public async Task <bool> Adicionar(Sala Sala)
        {
            if (!ExecutarValidacao(new SalaValidation(), Sala))
            {
                return(false);
            }

            if (_SalaRepository.Buscar(f => f.Nome == Sala.Nome).Result.Any())
            {
                Notificar("Já existe uma sala com este nome infomado.");
                return(false);
            }

            await _SalaRepository.Adicionar(Sala);

            return(true);
        }
Example #2
0
        public async Task <IEnumerable <Sala> > BuscarSalasDisponiveis(DateTime dataInicio, DateTime dataFim, TimeSpan horaInicio, TimeSpan horaFim)
        {
            var salasDisponiveis = new List <Sala>();

            try
            {
                var salasReservadas = _reservaRepository
                                      .Buscar(x => x.DataInicio == dataInicio && x.DataFim == dataFim && x.HoraInicio == horaInicio && x.HoraFim == horaFim).Result
                                      .Select(x => x.SalaId)
                                      .ToArray();

                salasDisponiveis = _salaRepository.Buscar(x => !salasReservadas.Contains(x.Id)).Result.ToList();
            }
            catch (Exception)
            {
                throw;
            }

            return(salasDisponiveis);
        }