public void Post(PedidoPostDto dto)
        {
            if (_repository.GetByIdCarrinho(dto.IdCarrinho).Any())
            {
                throw new Exception("Pedido já realizado");
            }

            var carrinho = _repositoryCarrinho.GetById(dto.IdCarrinho).FirstOrDefault();

            if (carrinho == null)
            {
                throw new Exception("Carrinho inválido.");
            }

            var listaItensCarrinho = _repositoryCarrinhoItens.GetByCarrinho(carrinho.Id).ToList();

            Pedido pedido = new Pedido
            {
                DataCadastro = DateTime.Now,
                IdCarrinho   = carrinho.Id,
                Valor        = carrinho.Total
            };

            List <PedidoItens> listaItensPedido = new List <PedidoItens>();

            foreach (var itemCarrinho in listaItensCarrinho)
            {
                PedidoItens itemPedido = new PedidoItens
                {
                    DataCadastro = DateTime.Now,
                    Quantidade   = itemCarrinho.Quantidade,
                    ValorTotal   = itemCarrinho.ValorTotalItem,
                    ValorUnidade = itemCarrinho.ValorUnitario,
                    IdProduto    = itemCarrinho.IdProduto,
                    Pedido       = pedido
                };

                listaItensPedido.Add(itemPedido);
            }

            pedido.PedidoItens = listaItensPedido;

            _repository.Add(pedido);
            _repository.Commit();
        }