public async Task <IActionResult> ObterTipoEventosAulas(FiltroEventosAulasCalendarioMesDto filtro) { var retorno = await consultasEventosAulasCalendario.ObterTipoEventosAulas(filtro); if (!retorno.Any()) { return(StatusCode(204)); } return(Ok(retorno)); }
public async Task Deve_Buscar_Tipos_De_Evento_E_Aulas_Do_Mes_Por_Tipo_Calendario_Dre_Ue() { FiltroEventosAulasCalendarioMesDto filtro = new FiltroEventosAulasCalendarioMesDto { DreId = "1", UeId = "2", TurmaId = "1", TipoCalendarioId = 1, Mes = 11 }; PeriodoEscolar periodoEscolar = new PeriodoEscolar(); PeriodoEscolar periodoEscolar2 = new PeriodoEscolar(); PeriodoEscolar periodoEscolar3 = new PeriodoEscolar(); PeriodoEscolar periodoEscolar4 = new PeriodoEscolar(); AulaDto aula = new AulaDto(); AulaDto aula2 = new AulaDto(); Evento evento = new Evento(); Evento evento2 = new Evento(); NovaAula(aula, new DateTime(2019, 11, 1)); NovaAula(aula2, new DateTime(2019, 11, 2)); NovoEvento(evento, "Teste 1", new DateTime(2019, 11, 21), new DateTime(2019, 12, 1)); NovoEvento(evento2, "Teste 2", new DateTime(2019, 11, 1), new DateTime(2019, 11, 1)); NovoPerioEscolar(periodoEscolar, 1, new DateTime(2019, 02, 01), new DateTime(2019, 03, 30)); NovoPerioEscolar(periodoEscolar2, 2, new DateTime(2019, 04, 01), new DateTime(2019, 06, 30)); NovoPerioEscolar(periodoEscolar3, 3, new DateTime(2019, 07, 01), new DateTime(2019, 09, 30)); NovoPerioEscolar(periodoEscolar4, 4, new DateTime(2019, 10, 01), new DateTime(2019, 11, 30)); IEnumerable <PeriodoEscolar> periodos = new List <PeriodoEscolar> { periodoEscolar, periodoEscolar2, periodoEscolar3, periodoEscolar4 }; IEnumerable <AulaDto> aulas = new List <AulaDto> { aula, aula2 }; IEnumerable <Evento> eventos = new List <Evento> { evento, evento2 }; repositorioAula.Setup(r => r.ObterAulas(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null, null, null)).Returns(Task.FromResult(aulas)); repositorioEvento.Setup(r => r.ObterEventosPorTipoDeCalendarioDreUeMes(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>())).Returns(Task.FromResult(eventos)); repositorioPeriodoEscolar.Setup(r => r.ObterPorTipoCalendario(It.IsAny <long>())).Returns(periodos); var dias = comandosDiasLetivos.BuscarDiasLetivos(1); comandosDiasLetivosMock.Setup(r => r.BuscarDiasLetivos(It.IsAny <long>())).Returns(dias); var eventosAulas = await consultasEventosAulasCalendario.ObterTipoEventosAulas(filtro); Assert.True(eventosAulas.Count() == 11); }
public async Task <IEnumerable <EventosAulasTipoCalendarioDto> > ObterTipoEventosAulas(FiltroEventosAulasCalendarioMesDto filtro) { if (!filtro.TodasTurmas && string.IsNullOrWhiteSpace(filtro.TurmaId)) { throw new NegocioException("É necessario informar uma turma para pesquisa"); } var usuario = await servicoUsuario.ObterUsuarioLogado(); string rf = usuario.TemPerfilGestaoUes() ? string.Empty : usuario.CodigoRf; var eventosAulas = new List <EventosAulasTipoCalendarioDto>(); var periodoEscolar = repositorioPeriodoEscolar.ObterPorTipoCalendario(filtro.TipoCalendarioId); if (periodoEscolar is null || !periodoEscolar.Any()) { throw new NegocioException($"Não existe periodo escolar cadastrado para o tipo de calendario de id {filtro.TipoCalendarioId}"); } var ano = periodoEscolar.FirstOrDefault().PeriodoInicio.Year; var aulas = await repositorioAula.ObterAulas(filtro.TipoCalendarioId, filtro.TurmaId, filtro.UeId, rf, filtro.Mes); var eventos = await repositorioEvento.ObterEventosPorTipoDeCalendarioDreUeMes(filtro.TipoCalendarioId, filtro.DreId, filtro.UeId, filtro.Mes, filtro.EhEventoSme); var atividadesAvaliativas = await repositorioAtividadeAvaliativa.ObterAtividadesPorMes(filtro.DreId, filtro.UeId, filtro.Mes, ano, rf, filtro.TurmaId); var diasAulas = ObterDiasAulas(aulas); var diasEventos = ObterDiasEventos(eventos, filtro.Mes); var diasAtividade = ObterDiasAtividades(atividadesAvaliativas); diasAulas.AddRange(diasEventos); diasAulas.AddRange(diasAtividade); return(MapearParaDtoTipo(eventosAulas, diasAulas)); }