public async Task <ActionResult> RealizarVenda(Models.Request.RealizarVendaRequest.RealizarVendaPersonalizado request)
        {
            try
            {
                Models.TbVenda tabela = conversor.ParaTabelaVenda(request);
                await estoquebusiness.RetirarQuantidadeVendidaBusiness(tabela.TbVendaLivro.ToList());

                carrinhobusiness.ValidarRetirarDoCarrinho(request.IdCliente);
                tabela = await business.InserirBusiness(tabela);

                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(400, ex.Message)));
            }
        }
        public Models.TbVenda ParaTabelaVenda(Models.Request.RealizarVendaRequest.RealizarVendaPersonalizado request)
        {
            Models.TbVenda tabela = new Models.TbVenda();
            tabela.IdCliente   = request.IdCliente;
            tabela.IdEndereco  = request.IdEndereco;
            tabela.TpPagamento = request.TipoDePagamento;
            tabela.NrParcela   = request.NumeroParcela;
            if (request.TipoDePagamento == "Dinheiro")
            {
                tabela.DsStatusPagamento = "Aguardando Pagamento";
            }
            else if (request.TipoDePagamento == "Credito" || request.TipoDePagamento == "Debito")
            {
                tabela.DsStatusPagamento = "Pago";
            }
            tabela.VlFrete              = request.ValorFrete;
            tabela.DtVenda              = DateTime.Now;
            tabela.DsCodigoRastreio     = "a definir";
            tabela.DtPrevistaEntrega    = request.DataPrevistaEntrega;
            tabela.BtConfirmacaoEntrega = 0;
            tabela.DsNf = "..";

            tabela.TbVendaStatus = new List <Models.TbVendaStatus>();
            tabela.TbVendaStatus.Add(new Models.TbVendaStatus()
            {
                NmStatus      = "Em Andamento",
                DsVendaStatus = "Aguardando pagamento cair no sistema",
                DtAtualizacao = DateTime.Now
            }
                                     );

            tabela.TbVendaLivro = request.Livros.Select(x => new Models.TbVendaLivro()
            {
                IdLivro      = x.IdLivro,
                NrLivros     = x.NumeroLivro,
                VlVendaLivro = x.VendaLivro,
                BtDevolvido  = 0
            }).ToList();
            return(tabela);
        }