Beispiel #1
0
 public MatriculaOferta ObterInformacoesDaMatricula(int IdMatriculaOferta)
 {
     try
     {
         //TODO: verificar motivo pelo qual ele não está carregando a oferta;
         var mo = new MatriculaOferta();
         mo        = _bmMatriculaOferta.ObterPorID(IdMatriculaOferta);
         mo.Oferta = new BMOferta().ObterPorId(mo.Oferta.ID);
         return(mo);
     }
     catch (AcademicoException ex)
     {
         throw ex;
     }
 }
Beispiel #2
0
        public string CancelaMatriculaSolucaoEducacionalGestorUC(int idMatriculaOferta, string solicitante)
        {
            BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta();
            MatriculaOferta   matriculaOferta   = bmMatriculaOferta.ObterPorID(idMatriculaOferta);

            if (matriculaOferta.StatusMatricula == enumStatusMatricula.Inscrito)
            {
                matriculaOferta.StatusMatricula = enumStatusMatricula.CanceladoAdm;
                if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0)
                {
                    matriculaOferta.MatriculaTurma.Clear();
                }
                matriculaOferta.Auditoria = new Auditoria(solicitante);
                bmMatriculaOferta.Salvar(matriculaOferta);
            }
            else if (matriculaOferta.StatusMatricula == enumStatusMatricula.CanceladoAdm || matriculaOferta.StatusMatricula == enumStatusMatricula.CanceladoAluno)
            {
                throw new AcademicoException("A matrícula já se encontra cancelada");
            }
            else
            {
                throw new AcademicoException("O status atual da matrícula não permite o cancelamento.");
            }

            return(string.Empty);
        }
Beispiel #3
0
        public bool ManterMatriculaTurma(int idMatriculaOferta, int idTurma, double mediaFinal, AuthenticationProviderRequest autenticacao)
        {
            try
            {
                RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor()
                {
                    Login = autenticacao.Login
                }).FirstOrDefault(), "ManterMatriculaTurma");

                var bmMatriculaTurma  = new BMMatriculaTurma();
                var bmMatriculaOferta = new BMMatriculaOferta();
                var bmTurma           = new BMTurma();

                MatriculaTurma matriculaTurma = new MatriculaTurma();
                matriculaTurma.MatriculaOferta    = new MatriculaOferta();
                matriculaTurma.Turma              = new Turma();
                matriculaTurma.MatriculaOferta.ID = idMatriculaOferta;
                matriculaTurma.Turma.ID           = idTurma;

                matriculaTurma = bmMatriculaTurma.ObterPorFiltro(matriculaTurma).FirstOrDefault();

                if (matriculaTurma != null)
                {
                    MatriculaOferta matriculaOferta = bmMatriculaOferta.ObterPorID(idMatriculaOferta);
                    Turma           turma           = bmTurma.ObterPorID(idTurma);

                    matriculaTurma.MediaFinal = matriculaOferta.StatusMatricula == enumStatusMatricula.Abandono
                        ? null
                        : (double?)mediaFinal;

                    if (matriculaTurma.MediaFinal == 0)
                    {
                        matriculaTurma.MediaFinal = null;
                    }

                    if (!matriculaTurma.DataTermino.HasValue)
                    {
                        matriculaTurma.DataTermino = DateTime.Now;
                    }

                    decimal notaMinima = turma.NotaMinima.HasValue ? turma.NotaMinima.Value : 7;
                    decimal notaFinal  = matriculaTurma.MediaFinal.HasValue ? Convert.ToDecimal(matriculaTurma.MediaFinal.Value) : decimal.Zero;

                    if (notaFinal >= notaMinima)
                    {
                        matriculaOferta.StatusMatricula = enumStatusMatricula.Aprovado;
                    }
                    else
                    {
                        // Se já tiver terminada a turma vamos reprovar o aluno e ele não obteve nota para ser aprovado vamos reprovar ele
                        if (matriculaTurma.DataLimite < DateTime.Now)
                        {
                            // Se não obteve nenhuma nota é abandono
                            if (notaFinal == 0)
                            {
                                matriculaOferta.StatusMatricula = enumStatusMatricula.Abandono;
                            }
                            // Do contrário é deve ser reprovado
                            else
                            {
                                matriculaOferta.StatusMatricula = enumStatusMatricula.Reprovado;
                            }
                        }
                    }

                    matriculaTurma.Auditoria.UsuarioAuditoria = matriculaOferta.Auditoria.UsuarioAuditoria = autenticacao.Login;
                    matriculaOferta.Auditoria.DataAuditoria   = matriculaTurma.Auditoria.DataAuditoria = DateTime.Now;

                    bmMatriculaTurma.Salvar(matriculaTurma);
                    bmMatriculaOferta.Salvar(matriculaOferta);

                    //CASO A OFERTA FOR CONTINUA, VERIFICA E ATUALIZA O ITEM TRILHA DO USUARIO
                    new BP.ManterItemTrilhaParticipacao().vinculaMatriculaOferta(matriculaOferta);

                    new BP.ManterItemTrilhaParticipacao().AtualizarStatusParticipacoesTrilhas(matriculaOferta);
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }