public ICommandResult Handle(CriarCandidatoCommand command)
        {
            command.Validate();

            if (command.Invalid)
            {
                return(Response(false,
                                "Não foi possível salvar as informações do candidato.",
                                command.Notifications));
            }

            var candidato = _repositorio
                            .ObterEntidade(CandidatoQueries.BuscarPorUsuarioId(command.UsuarioId));

            if (candidato != null)
            {
                return(Response(false, "Já existe um candidato cadastrado para este usuario.", null));
            }

            candidato = new Entidades
                        .Candidato(command.Curriculum,
                                   command.Cargo,
                                   command.Telefone,
                                   command.Cidade,
                                   command.DataNascimento,
                                   command.UsuarioId
                                   );

            _repositorio.Adicionar(candidato);
            _repositorio.SalvarTodos();

            return(Response(true, "Informações do candidato salvas com sucesso.", candidato));
        }
Example #2
0
        public void Sucesso_ao_buscar_por_usuarioid()
        {
            var candidates = new List <Candidato>()
            {
                CreateCandidate("Programador", 1),
                CreateCandidate("Programador", 2),
                CreateCandidate("Analista Full Stack", 3)
            };

            var candidate = candidates.AsQueryable()
                            .FirstOrDefault(CandidatoQueries.BuscarPorUsuarioId(3));

            Assert.IsTrue(candidate != null);
            Assert.IsTrue(candidate.Cargo == "Analista Full Stack");
        }