Exemplo n.º 1
0
        public async Task <bool> AulaDentroPeriodo(string turmaId, DateTime dataAula)
        {
            var turma = await consultasTurma.ObterComUeDrePorCodigo(turmaId);

            if (turma == null)
            {
                throw new NegocioException($"Não foi possivel obter a turma da aula");
            }

            var bimestreAtual = await consultasPeriodoEscolar.ObterBimestre(DateTime.Now, turma.ModalidadeCodigo, turma.Semestre);

            var bimestreAula = await consultasPeriodoEscolar.ObterBimestre(dataAula, turma.ModalidadeCodigo, turma.Semestre);

            var bimestreForaPeriodo = bimestreAtual == 0 || bimestreAula == 0;

            if (!bimestreForaPeriodo && bimestreAula >= bimestreAtual)
            {
                return(true);
            }

            return(await consultasPeriodoFechamento.TurmaEmPeriodoDeFechamentoAula(turma, DateTime.Now, bimestreAtual, bimestreAula));
        }