public async Task <IActionResult> ObterEnderecoEntregaUsuario([FromHeader] string authorization)
        {
            var usuario = await _tokenService.ExtractUsuarioToken(authorization);

            return(Ok(await _entregaRepository.EnderecoEntregaUsuario(usuario.Id)));
        }
        public async Task <IActionResult> CriarVenda([FromBody] PagamentoViewModel pagamento, [FromHeader] string authorization)
        {
            var usuario = await _tokenService.ExtractUsuarioToken(authorization);

            if (usuario is null)
            {
                return(BadRequest(""));
            }

            try
            {
                _carrinhoCompras.ItensCarrinho = await _carrinhoCompras.TodosItemsCarrinho();


                if (_carrinhoCompras.ItensCarrinho.Count.Equals(0))
                {
                    ModelState.AddModelError("", "Carro Vazio");
                }

                if (ModelState.IsValid)
                {
                    Parcelamento parcela     = _servico.BuscarParcelamento(await _carrinhoCompras.TotalCompra(), pagamento.CartaoDeCredito.QuantidadeParcelas);
                    Transaction  transaction = _pagarMe.GerarPagCartaoCredito(pagamento.CartaoDeCredito, parcela, await _entregaRepository.EnderecoEntregaUsuario(usuario.Id), pagamento.FreteValor, _carrinhoCompras.ItensCarrinho, usuario);
                    var          pedido      = await _servico.ProcessarPedido(_carrinhoCompras.ItensCarrinho, transaction);

                    var venda = await _vendaRepository.CriarVenda((double)(await _carrinhoCompras.TotalCompra()), _carrinhoCompras.ItensCarrinho, pedido, usuario);

                    await _movimentacaoRepository.MovimentarEstoqueVenda(venda, StatusMovimentacao.SAIDA, TipoMovimentacao.VENDA);

                    _carrinhoCompras.LimparCarrinho();
                }
                return(Ok(true));
            }
            catch (PagarMeException ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Error));
            }
        }