Exemple #1
0
        private async Task <PeriodoEscolar> BuscaUltimoPeriodoEscolar(TipoCalendarioCompletoDto tipoCalendario)
        {
            // Caso não esteja em periodo de fechamento ou escolar busca o ultimo existente
            var periodosEscolares = await ObterPeriodosEscolares(tipoCalendario.Id)
                                    ?? throw new NegocioException("Não foram encontrados periodos escolares cadastrados para a turma");

            return(ObterPeriodoPorData(periodosEscolares, DateTime.Today)
                   ?? ObterUltimoPeriodoPorData(periodosEscolares, DateTime.Today));
        }
Exemple #2
0
        public async Task <TipoCalendarioCompletoDto> BuscarPorId(long id)
        {
            var entidade = await repositorio.ObterPorIdAsync(id);

            TipoCalendarioCompletoDto dto = new TipoCalendarioCompletoDto();

            if (entidade != null)
            {
                dto = EntidadeParaDtoCompleto(entidade);
            }

            return(dto);
        }
Exemple #3
0
        public TipoCalendarioCompletoDto BuscarPorId(long id)
        {
            var entidade = repositorio.ObterPorId(id);

            TipoCalendarioCompletoDto dto = new TipoCalendarioCompletoDto();

            if (entidade != null)
            {
                dto = EntidadeParaDtoCompleto(entidade);
            }

            return(dto);
        }
Exemple #4
0
        private PeriodoEscolar FiltraEObtemUltimoPeriodoEmAberto(IEnumerable <PeriodoEscolar> periodosAberto, TipoCalendarioCompletoDto tipoCalendario)
        {
            // Filtra apenas a modalidade desejada
            periodosAberto = periodosAberto
                             .Where(x => tipoCalendario.Id == x.TipoCalendarioId);

            // caso tenha mais de um periodo em aberto (abertura e reabertura) usa o ultimo bimestre
            return(periodosAberto
                   .OrderBy(c => c.Bimestre)
                   .LastOrDefault());
        }