Esempio n. 1
0
        public async Task <Evento> Adicionar(Evento entity)
        {
            var sala = salaRepository.Find(entity.IdSala);

            if (sala != null)
            {
                var eventos = repository.Find(ev => (entity.DataInicio.Date >= ev.DataInicio.Date && entity.DataInicio.Date <= ev.DataFim.Date) || // Evento novo inicia durante outro evento
                                              (entity.DataFim.Date >= ev.DataInicio.Date && entity.DataFim.Date <= ev.DataFim.Date) ||             // Evento novo termina durante outro evento
                                              (entity.DataInicio.Date <ev.DataInicio.Date && entity.DataFim.Date> ev.DataFim.Date)).ToList();      // Evento novo começa antes e termina depois de um evento
                if (!eventos.Any())
                {
                    return(await repository.Add(entity));
                }
                else
                {
                    throw new Exception("A duração de um evento não pode sobrepor outro");
                }
            }
            else
            {
                throw new Exception("Sala não encontrada");
            }
        }
Esempio n. 2
0
        public Sala ObtenerSala(int id)
        {
            Sala Sala = new Sala();

            try
            {
                Sala = _SalaRepository.Find(id);
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
            }
            return(Sala);
        }