Exemplo n.º 1
0
        public async Task <bool> AtividadeAvaliativaDentroPeriodo(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 bimestreAvaliacao = await consultasPeriodoEscolar.ObterBimestre(dataAula, turma.ModalidadeCodigo, turma.Semestre);

            if (bimestreAtual == 0 || bimestreAvaliacao == 0)
            {
                return(false);
            }

            if (bimestreAvaliacao >= bimestreAtual)
            {
                return(true);
            }

            return(await consultasPeriodoFechamento.TurmaEmPeriodoDeFechamento(turma, DateTime.Now, bimestreAtual));
        }
        private async Task <Turma> ObterTurma(string turmaCodigo)
        {
            var turma = await consultasTurma.ObterComUeDrePorCodigo(turmaCodigo);

            if (turma == null)
            {
                throw new NegocioException("Turma não localizada");
            }

            return(turma);
        }
        private async Task <int> ObterBimestreAtual(DateTime dataReferencia, string turmaId)
        {
            Turma turma = await consultasTurma.ObterComUeDrePorCodigo(turmaId);

            if (turma == null)
            {
                throw new NegocioException("Turma não encontrada para consulta de objetivos de aprendizagem");
            }

            return(await consultasPeriodoEscolar.ObterBimestre(dataReferencia, turma.ModalidadeCodigo, turma.Semestre));
        }