예제 #1
0
        public CancelarMatriculaOutput Processar(CancelarMatriculaInput input)
        {
            var retorno    = new CancelarMatriculaOutput();
            var aluno      = _alunoDAO.GetAluno(input.AlunoId);
            var disciplina = _disciplinaDAO.GetDisciplina(input.DisciplinaId);

            if (aluno.PossuiDisciplina(disciplina) && disciplina.PodeSerCancelada())
            {
                aluno.RemoverDisciplina(disciplina);
                _alunoDAO.Update(aluno);
                retorno.Sucesso = true;
            }
            else
            {
                retorno.Sucesso      = false;
                retorno.CodigoErro   = "ABC123";
                retorno.MensagemErro = "Matrícula não pode ser cancelada após início";
            }

            return(retorno);
        }
예제 #2
0
        public MatricularOutput Processar(MatricularInput input)
        {
            var retorno    = new MatricularOutput();
            var aluno      = _alunoDAO.GetAluno(input.AlunoId);
            var disciplina = _disciplinaDAO.GetDisciplina(input.DisciplinaId);
            var turma      = _turmaDAO.GetTurma(input.TurmaId);

            if (turma.PodeMatricular())
            {
                _alunoDAO.Update(aluno);
                _turmaDAO.Update(turma);
                retorno.Sucesso = true;
            }
            else
            {
                retorno.Sucesso      = false;
                retorno.CodigoErro   = "ABC123";
                retorno.MensagemErro = "Ocorreu um erro durante a matrícula.";
            }

            return(retorno);
        }