// GET: Vendas/Create
        public ActionResult Create()
        {
            InterfaceBazar        bazar = new InterfaceBazar();
            VendasCreateViewModel model = new VendasCreateViewModel();
            var compradores             = bazar.GetCompradores();

            if (!compradores.ProccessOk)
            {
                return(View(model));
            }
            foreach (var item in compradores.ListaComprador)
            {
                CompradorModel comprador = new CompradorModel();
                comprador.Id        = item.Id;
                comprador.Nome      = item.Nome;
                comprador.Sobrenome = item.Sobrenome;
                model.ListaCompradores.Add(comprador);
            }

            var produtos = bazar.GetProdutos();

            if (!produtos.ProccessOk)
            {
                return(View(model));
            }
            foreach (var item in produtos.ListaProduto)
            {
                if (item.Quantidade < 1)
                {
                    continue;
                }
                ProdutosModel produto = new ProdutosModel();
                produto.Id         = item.Id;
                produto.Nome       = item.Nome;
                produto.Preco      = item.Preco;
                produto.Quantidade = item.Quantidade;
                var vendedor = bazar.GetVendedor(item.IdVendedor);
                if (!produtos.ProccessOk)
                {
                    return(View(model));
                }
                //produto.Vendedor = vendedor.Vendedor.Nome;
                produto.IdVendedor = vendedor.Vendedor.Id;
                model.ListaProdutos.Add(produto);
            }

            return(View(model));
        }
        public ActionResult Create(VendasCreateViewModel model)
        {
            InterfaceBazar bazar = new InterfaceBazar();

            //Botão Cadastrar
            if (model.ProdutoSelecionado == 0)
            {
                Venda venda = new Venda();
                List <ProdutoVendido> listaProdutos = new List <ProdutoVendido>();
                if (model.Comprador == null)
                {
                    return(View(model));
                }
                venda.IdComprador = int.Parse(model.Comprador);
                foreach (var item in model.ListaProdutosEscolhidos)
                {
                    ProdutoVendido produto = new ProdutoVendido();
                    produto.IdProduto  = item.Id;
                    produto.PrecoPago  = item.Preco;
                    produto.Quantidade = item.Quantidade;
                    listaProdutos.Add(produto);
                }

                venda.ValorTotal          = model.ValorTotal;
                venda.ListaProdutoVendido = listaProdutos;
                var cadastroVenda = bazar.AdicionarVenda(venda);
                if (!cadastroVenda.ProccessOk)
                {
                    return(View(model));
                }

                foreach (var item in listaProdutos)
                {
                    ProdutoVendido produtoVendido = new ProdutoVendido();
                    item.Quantidade = 1;
                    var produto = bazar.GetProduto(item.IdProduto);
                    if (!produto.ProccessOk)
                    {
                        return(View(model));
                    }

                    var diminuirProduto = bazar.DiminuirQuantidadeProduto(produto.Produto, item.Quantidade);
                }

                TempData["MensagemSucesso"] = "Venda cadastrada com sucesso!";
                return(RedirectToAction("Index"));
            }
            else
            {
                int quantidadeFront = 1;
                // Adicionar da Lista de Compras
                if (model.ListaProdutos.Any(x => x.Id == model.ProdutoSelecionado))
                {
                    var produto = model.ListaProdutos.Where(a => a.Id == model.ProdutoSelecionado).ToList().First();
                    produto.Quantidade = quantidadeFront;
                    model.ListaProdutos.Remove(produto);
                    model.ListaProdutosEscolhidos.Add(produto);
                    model.ValorTotal += produto.Preco;
                }
                //Removar da Lista de Compras
                else
                {
                    var produto = model.ListaProdutosEscolhidos.Where(a => a.Id == model.ProdutoSelecionado).ToList().First();
                    produto.Quantidade = quantidadeFront;
                    model.ListaProdutos.Add(produto);
                    model.ListaProdutosEscolhidos.Remove(produto);
                    model.ValorTotal -= produto.Preco;
                }

                ModelState.Clear();

                return(View(model));
            }
        }