// 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)); } }