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