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)); }
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); }
public TipoCalendarioCompletoDto BuscarPorId(long id) { var entidade = repositorio.ObterPorId(id); TipoCalendarioCompletoDto dto = new TipoCalendarioCompletoDto(); if (entidade != null) { dto = EntidadeParaDtoCompleto(entidade); } return(dto); }
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()); }