コード例 #1
0
        public ICommandResult Handle(AdicionarAlunoCommand command)
        {
            command.Validar();
            if (!command.IsValid)
            {
                return(new GenericCommandResult(false, "Dados inválidos!", command.Notifications));
            }

            var turma = TurmaRepositorio.Buscar(command.IdTurma);

            if (turma.Alunos.Find(a => a.CPF == command.CPF) != null)
            {
                return(new GenericCommandResult(false, "Já existe um aluno cadastrado nessa turma com o CPF informado!", command.CPF));
            }

            if (turma.Alunos.Find(a => a.Email == command.Email) != null)
            {
                return(new GenericCommandResult(false, "Já existe um aluno cadastrado nessa turma com o email informado!", command.Email));
            }

            if (turma.Alunos.Find(a => a.Nome == command.Nome) != null)
            {
                return(new GenericCommandResult(false, "Já existe um aluno cadastrado nessa turma com o nome informado!", command.Nome));
            }

            var aluno = new Aluno(command.Nome, command.Email, command.DataNascimento, command.UrlFoto, command.CPF, turma.Id);

            AlunoRepositorio.Adicionar(aluno);

            var resultado = new AlunoGenericCommandResult(aluno.Nome, aluno.Email, aluno.DataNascimento, aluno.UrlFoto, aluno.CPF);

            return(new GenericCommandResult(true, "Aluno cadastrado com sucesso!", resultado));
        }
コード例 #2
0
        public IQueryResult Handle(ListarAlunoPorIdQuery query)
        {
            var aluno = Repositorio.Buscar(query.IdAluno);

            var result = new AlunoGenericCommandResult(aluno.Nome, aluno.Email, aluno.DataNascimento, aluno.UrlFoto, aluno.CPF);

            return(new GenericQueryResult(true, "Detalhes do aluno", result));
        }
コード例 #3
0
        public ICommandResult Handle(AlterarAlunoCommand command)
        {
            command.Validar();
            if (!command.IsValid)
            {
                return(new GenericCommandResult(false, "Dados inválidos!", command.Notifications));
            }

            var aluno = Repository.Buscar(command.IdAluno);

            if (aluno == null)
            {
                return(new GenericCommandResult(false, "Aluno inexistente!", command.IdAluno));
            }

            aluno.Alterar(command.Nome, command.Email, command.DataNascimento, command.UrlFoto, command.CPF);

            Repository.Alterar(aluno);

            var result = new AlunoGenericCommandResult(aluno.Nome, aluno.Email, aluno.DataNascimento, aluno.CPF, aluno.UrlFoto);

            return(new GenericCommandResult(true, "Informação(ões) de aluno alterada(s) com sucesso!", result));
        }