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)); }
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)); }