Example #1
0
        public async Task <IActionResult> CadastrarCartaoCredito([FromBody, SwaggerParameter("Informações de cadastro do cartão.", Required = true)] CartaoCreditoViewModel model)
        {
            var entrada = new CartaoCreditoEntrada(
                base.ObterIdUsuarioClaim(),
                model.Nome,
                model.ValorLimite.Value,
                model.DiaVencimentoFatura.Value);

            return(new ApiResult(await _cartaoCreditoServico.CadastrarCartaoCredito(entrada)));
        }
Example #2
0
        public void Alterar(CartaoCreditoEntrada entrada)
        {
            if (entrada.Invalido)
            {
                return;
            }

            this.Nome                = entrada.Nome;
            this.ValorLimite         = entrada.ValorLimite;
            this.DiaVencimentoFatura = entrada.DiaVencimentoFatura;
        }
Example #3
0
        public CartaoCredito(CartaoCreditoEntrada cadastrarEntrada)
            : this()
        {
            if (cadastrarEntrada.Invalido)
            {
                return;
            }

            this.IdUsuario           = cadastrarEntrada.IdUsuario;
            this.Nome                = cadastrarEntrada.Nome;
            this.ValorLimite         = cadastrarEntrada.ValorLimite;
            this.DiaVencimentoFatura = cadastrarEntrada.DiaVencimentoFatura;
        }
Example #4
0
        public async Task <ISaida> AlterarCartaoCredito(int idCartaoCredito, CartaoCreditoEntrada entrada)
        {
            // Verifica se as informações para alteração foram informadas corretamente
            if (entrada.Invalido)
            {
                return(new Saida(false, entrada.Mensagens, null));
            }

            var cartao = await _cartaoCreditoRepositorio.ObterPorId(idCartaoCredito);

            // 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, entrada.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(entrada.IdUsuario, entrada.Nome, idCartaoCredito), CartaoCreditoMensagem.Cartao_Com_Mesmo_Nome);

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

            cartao.Alterar(entrada);

            _cartaoCreditoRepositorio.Atualizar(cartao);

            await _uow.Commit();

            return(new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Alterado_Com_Sucesso }, new CartaoCreditoSaida(cartao)));
        }
Example #5
0
        public async Task <ISaida> CadastrarCartaoCredito(CartaoCreditoEntrada entrada)
        {
            // Verifica se as informações para cadastro foram informadas corretamente
            if (entrada.Invalido)
            {
                return(new Saida(false, entrada.Mensagens, null));
            }

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

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

            var cartao = new CartaoCredito(entrada);

            await _cartaoCreditoRepositorio.Inserir(cartao);

            await _uow.Commit();

            return(new Saida(true, new[] { CartaoCreditoMensagem.Cartao_Cadastrado_Com_Sucesso }, new CartaoCreditoSaida(cartao)));
        }