Exemplo n.º 1
0
        public void Alterar(AlterarPessoaEntrada alterarEntrada)
        {
            if (alterarEntrada.Invalido || alterarEntrada.IdPessoa != this.Id)
            {
                return;
            }

            this.Nome = alterarEntrada.Nome;
        }
Exemplo n.º 2
0
        public async Task <ISaida> AlterarPessoa([FromBody, SwaggerParameter("Informações para alteração de uma pessoa.", Required = true)] AlterarPessoaViewModel model)
        {
            var alterarEntrada = new AlterarPessoaEntrada(
                model.IdPessoa,
                model.Nome,
                base.ObterIdUsuarioClaim());

            return(await _pessoaServico.AlterarPessoa(alterarEntrada));
        }
Exemplo n.º 3
0
        public void Nao_Deve_Alterar_Pessoa_Com_Parametros_Invalidos()
        {
            var idUsuario = 0;

            var alterarEntrada = new AlterarPessoaEntrada(0, string.Empty, idUsuario);

            _pessoaServico = Substitute.For <PessoaServico>(_pessoaRepositorio, _uow);

            var saida = _pessoaServico.AlterarPessoa(alterarEntrada).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == Mensagem.Id_Usuario_Invalido), string.Join(", ", saida.Mensagens));
        }
Exemplo n.º 4
0
        public void Nao_Deve_Alterar_Pessoa_Com_Id_Inexistente()
        {
            var idUsuario = 1;
            var idPessoa  = 1;

            _pessoaRepositorio.ObterPorId(idPessoa, true)
            .Returns((Pessoa)null);

            var alterarEntrada = new AlterarPessoaEntrada(idPessoa, "Pessoa 1", idUsuario);

            _pessoaServico = Substitute.For <PessoaServico>(_pessoaRepositorio, _uow);

            var saida = _pessoaServico.AlterarPessoa(alterarEntrada).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == string.Format(PessoaMensagem.Id_Pessoa_Nao_Existe, idPessoa)), string.Join(", ", saida.Mensagens));
        }
Exemplo n.º 5
0
        public async Task <ISaida> AlterarPessoa(AlterarPessoaEntrada alterarEntrada)
        {
            // Verifica se as informações para alteração foram informadas corretamente
            if (alterarEntrada.Invalido)
            {
                return(new Saida(false, alterarEntrada.Mensagens, null));
            }

            var pessoa = await _pessoaRepositorio.ObterPorId(alterarEntrada.IdPessoa, true);

            // Verifica se a pessoa existe
            this.NotificarSeNulo(pessoa, string.Format(PessoaMensagem.Id_Pessoa_Nao_Existe, alterarEntrada.IdPessoa));

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            // Verifica se a pessoa pertece ao usuário informado.
            this.NotificarSeDiferentes(pessoa.IdUsuario, alterarEntrada.IdUsuario, PessoaMensagem.Pessoa_Alterar_Nao_Pertence_Usuario);

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            // Verifica se já existe uma pessoa com o mesmo nome informado
            this.NotificarSeVerdadeiro(await _pessoaRepositorio.VerificarExistenciaPorNome(alterarEntrada.IdUsuario, alterarEntrada.Nome, alterarEntrada.IdPessoa), PessoaMensagem.Pessoa_Com_Mesmo_Nome);

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            pessoa.Alterar(alterarEntrada);

            _pessoaRepositorio.Atualizar(pessoa);

            await _uow.Commit();

            return(_uow.Invalido
                ? new Saida(false, _uow.Mensagens, null)
                : new Saida(true, new[] { PessoaMensagem.Pessoa_Alterada_Com_Sucesso }, new PessoaSaida(pessoa)));
        }
Exemplo n.º 6
0
        public void Deve_Alterar_Pessoa()
        {
            var idUsuario = 1;
            var idPessoa  = 1;

            var periodo = new Pessoa(new CadastrarPessoaEntrada(idUsuario, "Pessoa 1"));

            typeof(Pessoa).GetProperty("Id").SetValue(periodo, idPessoa);

            _pessoaRepositorio.ObterPorId(idPessoa, true)
            .Returns(periodo);

            var alterarEntrada = new AlterarPessoaEntrada(idPessoa, "Pessoa 1 alterada", idUsuario);

            _pessoaServico = Substitute.For <PessoaServico>(_pessoaRepositorio, _uow);

            var saida = _pessoaServico.AlterarPessoa(alterarEntrada).Result;

            Assert.IsTrue(saida.Sucesso && saida.Mensagens.Any(x => x == PessoaMensagem.Pessoa_Alterada_Com_Sucesso), string.Join(", ", saida.Mensagens));
        }