public void AtualizarMatriculas() { try { // Atualiza as matrículas de acordo com a data atual var presencas = ObterPresencasEventoFinalizado(DateTime.Now); AtualizarPresencas(presencas); using (var manter = new ManterMatriculaTurma()) { // Filtrando matriculas que contem algum dos eventos vinculado var matriculasTurma = manter.ObterMatriculasComEventos(presencas.ToList()); foreach (var matricula in matriculasTurma) { var evento = presencas.FirstOrDefault(x => x.UsuarioCPF == matricula.MatriculaOferta.Usuario.CPF && x.ID == matricula.MatriculaOferta.Oferta.SolucaoEducacional.IDEvento); if (evento != null) { if (evento.Presencas == 0) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Abandono; } if (evento.Presencas < evento.PresencasMinimas) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Reprovado; } if (evento.Presencas > evento.PresencasMinimas) { matricula.MatriculaOferta.StatusMatricula = enumStatusMatricula.Aprovado; } } } manter.Salvar(matriculasTurma.ToList()); } } catch (Exception) { } }
/// <summary> /// Atualiza Matriculas de acordo com os dados dos eventos do sistema de credenciamento /// </summary> /// <param name="presencas"></param> private void AtualizarPresencas(IEnumerable <DTOEvento> presencas) { using (var manter = new ManterMatriculaTurma()) { // Filtrando matriculas que contem algum dos eventos vinculado var matriculasTurma = manter.ObterMatriculasComEventos(presencas.ToList()); foreach (var matricula in matriculasTurma) { var evento = presencas.FirstOrDefault(x => x.ID == matricula.MatriculaOferta.Oferta.SolucaoEducacional.IDEvento); matricula.Presencas = evento.Presencas; matricula.TotalPresencas = evento.PresencasMinimas != null ? evento.PresencasMinimas.Value : 0; } manter.Salvar(matriculasTurma.ToList()); } }