private RegistroFrequencia RegistraFrequenciaTurma(Aula aula, RegistroFrequencia registroFrequencia) { if (registroFrequencia == null) { registroFrequencia = new RegistroFrequencia(aula); repositorioFrequencia.Salvar(registroFrequencia); } else { repositorioRegistroAusenciaAluno.MarcarRegistrosAusenciaAlunoComoExcluidoPorRegistroFrequenciaId(registroFrequencia.Id); } return(registroFrequencia); }
private FrequenciaDto ObterRegistroFrequencia(long aulaId, Aula aula, Turma turma) { var registroFrequencia = servicoFrequencia.ObterRegistroFrequenciaPorAulaId(aulaId); if (registroFrequencia == null) { registroFrequencia = new RegistroFrequencia(aula); } var registroFrequenciaDto = new FrequenciaDto(aulaId) { AlteradoEm = registroFrequencia.AlteradoEm, AlteradoPor = registroFrequencia.AlteradoPor, AlteradoRF = registroFrequencia.AlteradoRF, CriadoEm = registroFrequencia.CriadoEm, CriadoPor = registroFrequencia.CriadoPor, CriadoRF = registroFrequencia.CriadoRF, Id = registroFrequencia.Id, Desabilitado = !aula.PermiteRegistroFrequencia(turma) }; return(registroFrequenciaDto); }
private void RegistraAusenciaAlunos(IEnumerable <RegistroAusenciaAluno> registroAusenciaAlunos, IEnumerable <AlunoPorTurmaResposta> alunos, RegistroFrequencia registroFrequencia, int quantidadeAulas, DateTime dataAula) { foreach (var ausencia in registroAusenciaAlunos) { if (ausencia.NumeroAula > quantidadeAulas) { throw new NegocioException($"O número de aula informado: Aula {ausencia.NumeroAula} não foi encontrado."); } var aluno = alunos.Where(c => c.CodigoAluno == ausencia.CodigoAluno && c.EstaAtivo(dataAula)).Any() ? alunos.FirstOrDefault(c => c.CodigoAluno == ausencia.CodigoAluno && c.EstaAtivo(dataAula)) : alunos.FirstOrDefault(c => c.CodigoAluno == ausencia.CodigoAluno); if (aluno == null) { throw new NegocioException("O aluno informado na frequência não pertence a essa turma."); } if (aluno.EstaInativo(dataAula)) { throw new NegocioException($"Não foi possível registrar a frequência pois o aluno: '{aluno.NomeAluno}' está com a situação: '{aluno.SituacaoMatricula}'."); } ausencia.RegistroFrequenciaId = registroFrequencia.Id; repositorioRegistroAusenciaAluno.Salvar(ausencia); } }