Exemplo n.º 1
0
        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)
            {
            }
        }
Exemplo n.º 2
0
        /// <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());
            }
        }