Exemple #1
0
        public async Task <ISaida> AlterarCartaoCredito([FromBody, SwaggerParameter("Informações para alteração do cartão.", Required = true)] AlterarCartaoCreditoViewModel model)
        {
            var alterarEntrada = new AlterarCartaoCreditoEntrada(
                model.IdCartao,
                model.Nome,
                base.ObterIdUsuarioClaim(),
                model.ValorLimite.Value,
                model.DiaVencimentoFatura.Value);

            return(await _cartaoCreditoServico.AlterarCartaoCredito(alterarEntrada));
        }
Exemple #2
0
        public void Alterar(AlterarCartaoCreditoEntrada alterarEntrada)
        {
            if (alterarEntrada.Invalido || alterarEntrada.IdCartaoCredito != this.Id)
            {
                return;
            }

            this.Nome                = alterarEntrada.Nome;
            this.ValorLimite         = alterarEntrada.ValorLimite;
            this.DiaVencimentoFatura = alterarEntrada.DiaVencimentoFatura;
        }
Exemple #3
0
        public void Nao_Deve_Alterar_Cartao_Credito_Com_Parametros_Invalidos()
        {
            var idCartaoCredito = 0;
            var idUsuario       = 0;

            var alterarEntrada = new AlterarCartaoCreditoEntrada(idCartaoCredito, string.Empty, idUsuario, -5000, 32);

            _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow);

            var saida = _cartaoCreditoServico.AlterarCartaoCredito(alterarEntrada).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == Mensagem.Id_Usuario_Invalido), string.Join(", ", saida.Mensagens));
        }
Exemple #4
0
        public void Nao_Deve_Alterar_Cartao_Credito_Com_Id_Inexistente()
        {
            var idUsuario       = 1;
            var idCartaoCredito = 1;

            _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito, true)
            .Returns((CartaoCredito)null);

            var alterarEntrada = new AlterarCartaoCreditoEntrada(idCartaoCredito, "Cartão 1", idUsuario, 5000, 5);

            _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow);

            var saida = _cartaoCreditoServico.AlterarCartaoCredito(alterarEntrada).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == string.Format(CartaoCreditoMensagem.Id_Cartao_Nao_Existe, idCartaoCredito)), string.Join(", ", saida.Mensagens));
        }
        public async Task <ISaida> AlterarCartaoCredito(AlterarCartaoCreditoEntrada alterarEntrada)
        {
            // Verifica se as informações para alteração foram informadas corretamente
            if (alterarEntrada.Invalido)
            {
                return(new Saida(false, alterarEntrada.Mensagens, null));
            }

            var cartao = await _cartaoCreditoRepositorio.ObterPorId(alterarEntrada.IdCartaoCredito, true);

            // Verifica se o cartão existe
            this.NotificarSeNulo(cartao, CartaoCreditoMensagem.Id_Cartao_Nao_Existe);

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

            // Verifica se o cartão pertece ao usuário informado.
            this.NotificarSeDiferentes(cartao.IdUsuario, alterarEntrada.IdUsuario, CartaoCreditoMensagem.Cartao_Alterar_Nao_Pertence_Usuario);

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

            // Verifica se o usuário já possui algum cartão com o nome informado
            this.NotificarSeVerdadeiro(await _cartaoCreditoRepositorio.VerificarExistenciaPorNome(alterarEntrada.IdUsuario, alterarEntrada.Nome, alterarEntrada.IdCartaoCredito), CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome);

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

            cartao.Alterar(alterarEntrada);

            _cartaoCreditoRepositorio.Atualizar(cartao);

            await _uow.Commit();

            return(_uow.Invalido
                ? new Saida(false, _uow.Mensagens, null)
                : new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Alterado_Com_Sucesso }, new CartaoCreditoSaida(cartao)));
        }
Exemple #6
0
        public void Deve_Alterar_Cartao_Credito()
        {
            var idUsuario       = 1;
            var idCartaoCredito = 1;

            var cartao = new CartaoCredito(new CadastrarCartaoCreditoEntrada(idUsuario, "Cartão 1", 5000, 5));

            typeof(CartaoCredito).GetProperty("Id").SetValue(cartao, idCartaoCredito);

            _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito, true)
            .Returns(cartao);

            var alterarEntrada = new AlterarCartaoCreditoEntrada(idCartaoCredito, "Cartão 1 alterado", idUsuario, 5000, 5);

            _cartaoCreditoServico = Substitute.For <CartaoCreditoServico>(_cartaoCreditoRepositorio, _uow);

            var saida = _cartaoCreditoServico.AlterarCartaoCredito(alterarEntrada).Result;

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