public async Task Registrar(FrequenciaDto frequenciaDto)
        {
            List <RegistroAusenciaAluno> registrosAusenciaAlunos = ObtemListaDeAusencias(frequenciaDto);
            await servicoFrequencia.Registrar(frequenciaDto.AulaId, registrosAusenciaAlunos);

            var alunos = frequenciaDto.ListaFrequencia.Select(a => a.CodigoAluno).ToList();

            if (alunos == null || !alunos.Any())
            {
                throw new NegocioException("A lista de alunos a turma e a disciplina devem ser informados para calcular a frequência.");
            }

            var aula = await consultasAula.BuscarPorId(frequenciaDto.AulaId);

            Cliente.Executar <IServicoCalculoFrequencia>(c => c.CalcularFrequenciaPorTurma(alunos, aula.DataAula, aula.TurmaId, aula.DisciplinaId));
        }
예제 #2
0
        public async Task Registrar(FrequenciaDto frequenciaDto)
        {
            List <RegistroAusenciaAluno> registrosAusenciaAlunos = ObtemListaDeAusencias(frequenciaDto);
            await servicoFrequencia.Registrar(frequenciaDto.AulaId, registrosAusenciaAlunos);

            var alunos = frequenciaDto.ListaFrequencia.Select(a => a.CodigoAluno).ToList();

            if (alunos == null || !alunos.Any())
            {
                throw new NegocioException("A lista de alunos a turma e a disciplina devem ser informados para calcular a frequência.");
            }

            var aula = await consultasAula.BuscarPorId(frequenciaDto.AulaId);

            var bimestre = await mediator.Send(new ObterBimestrePorTurmaCodigoQuery(aula.TurmaId, aula.DataAula));

            await mediator.Send(new IncluirFilaCalcularFrequenciaPorTurmaCommand(alunos, aula.DataAula, aula.TurmaId, aula.DisciplinaId, bimestre));

            await mediator.Send(new ExcluirPendenciaAulaCommand(aula.Id, TipoPendencia.Frequencia));
        }