public ActionResult ListarProdutos(string id)
        {
            InterfaceBazar bazar = new InterfaceBazar();
            Venda          venda = new Venda();

            venda.Id = int.Parse(id);
            var listaProdutos = bazar.GetProdutosVendidos(venda);

            if (!listaProdutos.ProccessOk)
            {
                return(View());
            }
            List <ProdutosVendidosModel> model = new List <ProdutosVendidosModel>();

            foreach (var item in listaProdutos.ListaProdutoVendido)
            {
                ProdutosVendidosModel produto = new ProdutosVendidosModel();
                produto.Id         = item.Id;
                produto.PrecoPago  = item.PrecoPago;
                produto.Quantidade = item.Quantidade;
                var nomeProduto = bazar.GetProduto(item.IdProduto);
                if (!nomeProduto.ProccessOk)
                {
                    return(View());
                }
                produto.Produto = nomeProduto.Produto.Nome;
                model.Add(produto);
            }

            return(PartialView(model));
        }
        // GET: Vendas/Details/5
        public ActionResult Details(int id = 0)
        {
            if (id == 0)
            {
                TempData["MensagemErro"] = "Venda não existe!";
                return(RedirectToAction("Index"));
            }
            VendasDetailsViewModel model = new VendasDetailsViewModel();
            InterfaceBazar         bazar = new InterfaceBazar();
            var getVendas = bazar.GetVenda(id);

            if (!getVendas.ProccessOk)
            {
                TempData["MensagemErro"] = "Erro ao capturar venda!";
                return(RedirectToAction("Index"));
            }
            model.Id         = getVendas.Venda.Id;
            model.ValorTotal = getVendas.Venda.ValorTotal;
            var comprador = bazar.GetComprador(getVendas.Venda.IdComprador);

            if (!comprador.ProccessOk)
            {
                TempData["MensagemErro"] = "Erro ao capturar comprador da venda!";
                return(RedirectToAction("Index"));
            }
            model.NomeComprador = comprador.Comprador.Nome + " " + comprador.Comprador.Sobrenome;
            foreach (var item in getVendas.Venda.ListaProdutoVendido)
            {
                ProdutosVendidosModel produto = new ProdutosVendidosModel();
                produto.Id        = item.Id;
                produto.PrecoPago = item.PrecoPago;
                var getProduto = bazar.GetProduto(item.IdProduto);
                if (!getProduto.ProccessOk)
                {
                    TempData["MensagemErro"] = "Erro ao capturar produto da venda!";
                    return(RedirectToAction("Index"));
                }
                produto.Produto    = getProduto.Produto.Nome;
                produto.Quantidade = item.Quantidade;
                produto.Status     = item.Status;
                var getVendedor = bazar.GetVendedor(getProduto.Produto.IdVendedor);
                if (!getVendedor.ProccessOk)
                {
                    TempData["MensagemErro"] = "Erro ao capturar vendedor do produto!";
                    return(RedirectToAction("Index"));
                }
                try
                {
                    var getUser = new AspNetUsersRepository().GetUsuario(getVendedor.Vendedor.IdUser);
                    produto.Vendedor = getUser.Nome + " " + getUser.Sobrenome;
                }
                catch (Exception ex)
                {
                    TempData["MensagemErro"] = "Erro ao capturar nome do vendedor do produto!";
                    return(RedirectToAction("Index"));
                }
                model.ListaProdutos.Add(produto);
            }
            return(View(model));
        }
        // GET: ProdutosVendidos
        public ActionResult Index()
        {
            List <ProdutosVendidosModel> listaProdutosVendidos = new List <ProdutosVendidosModel>();
            InterfaceBazar bazar = new InterfaceBazar();
            var            getProdutosVendidos = bazar.GetProdutosVendidos();

            if (!getProdutosVendidos.ProccessOk)
            {
                return(View(listaProdutosVendidos));
            }
            foreach (var item in getProdutosVendidos.ListaProdutoVendido)
            {
                ProdutosVendidosModel produto = new ProdutosVendidosModel();
                produto.Id         = item.Id;
                produto.PrecoPago  = item.PrecoPago;
                produto.Quantidade = item.Quantidade;
                produto.Status     = item.Status;
                var nomeProduto = bazar.GetProduto(item.IdProduto);
                if (!nomeProduto.ProccessOk)
                {
                    return(View(listaProdutosVendidos));
                }
                produto.Produto = nomeProduto.Produto.Nome;
                var venda = bazar.GetVenda(item.IdVenda);
                if (!venda.ProccessOk)
                {
                    return(View(listaProdutosVendidos));
                }
                var comprador = bazar.GetComprador(venda.Venda.IdComprador);
                if (!comprador.ProccessOk)
                {
                    return(View(listaProdutosVendidos));
                }
                produto.Comprador = comprador.Comprador.Nome + ' ' + comprador.Comprador.Sobrenome;

                var vendedor = bazar.GetVendedor(nomeProduto.Produto.IdVendedor);
                if (!vendedor.ProccessOk)
                {
                    return(View(listaProdutosVendidos));
                }
                try
                {
                    var usuarioVendedor = new AspNetUsersRepository().GetUsuario(vendedor.Vendedor.IdUser);
                    produto.Vendedor = usuarioVendedor.Nome + ' ' + usuarioVendedor.Sobrenome;
                }
                catch (Exception ex)
                {
                    return(View(listaProdutosVendidos));
                }
                listaProdutosVendidos.Add(produto);
            }
            return(View(listaProdutosVendidos));
        }