public ActionResult SelecionaArmazenamentoVenda(int id) { ProdutoDados pDados = new ProdutoDados(); Produto p = pDados.ObterPorId(id); List <ProdutoDto> lista = (List <ProdutoDto>)Session["ListaVenda"]; ProdutoDto pDto = lista.Find(x => x.Produto.Id == p.Id); Session["ProdutoVenda"] = pDto; ViewBag.NomeProd = pDto.Produto.Nome.ToString(); ViewBag.QuantProd = pDto.Quantidade.ToString(); EstoqueDados eDados = new EstoqueDados(); CadastroArmazenamentoVendaModel cam = new CadastroArmazenamentoVendaModel(); cam.listaFreezerDisp = cam.listarFreezerDisp(id); List <SelectListItem> listaCombo = new List <SelectListItem>(); List <Estoque> listaAux = cam.listarFreezerDisp(id); foreach (Estoque e in listaAux) { Estoque estAux = new Estoque(); estAux.Freezer = e.Freezer; estAux.Produto = e.Produto; estAux.Quantidade = e.Quantidade; SelectListItem item = new SelectListItem(); item.Value = estAux.Freezer.Id.ToString(); item.Text = estAux.Freezer.Numeracao; listaCombo.Add(item); } cam.ListaFreezer = listaCombo; return(View(cam)); }
public ActionResult ArmazenaVenda(CadastroArmazenamentoVendaModel model) { if (model.Quantidade > 0) { ProdutoDto pDto = (ProdutoDto)Session["ProdutoVenda"]; EstoqueDados eDados = new EstoqueDados(); Estoque e = eDados.ObterPorIdComposto(pDto.Produto.Id, model.IdFreezer); if (e != null) { if (model.Quantidade <= e.Quantidade) { if (model.Quantidade <= pDto.Quantidade) { e.Quantidade = e.Quantidade - model.Quantidade; eDados.Alterar(e); pDto.Quantidade = pDto.Quantidade - model.Quantidade; Session["ProdutoVenda"] = pDto; List <ProdutoDto> listaProd = (List <ProdutoDto>)Session["ListaVenda"]; List <ProdutoDto> listaProd2 = new List <ProdutoDto>(); Session["ListaVenda"] = null; foreach (ProdutoDto p in listaProd) { if (p.Produto.Id != pDto.Produto.Id) { listaProd2.Add(p); } } if (pDto.Quantidade != 0) { listaProd2.Add(pDto); } Session["ListaVenda"] = listaProd2; } else { ViewBag.MensagemVenda = "A quantidade que você tentou retirar não condiz com a venda efetuada."; if (Session["ListaVenda"] != null) { VendaModel vm = new VendaModel(); vm.ListagemProdutosVenda = (List <ProdutoDto>)Session["ListaVenda"]; return(View("ArmazenamentoVenda", vm)); } } } else { ViewBag.MensagemVenda = "A quantidade que você solicitou não está disponível no freezer selecionado."; if (Session["ListaVenda"] != null) { VendaModel vm = new VendaModel(); vm.ListagemProdutosVenda = (List <ProdutoDto>)Session["ListaVenda"]; return(View("ArmazenamentoVenda", vm)); } } } else { ViewBag.MensagemVenda = "Você deve preencher todo o formulário."; if (Session["ListaVenda"] != null) { VendaModel vm = new VendaModel(); vm.ListagemProdutosVenda = (List <ProdutoDto>)Session["ListaVenda"]; return(View("ArmazenamentoVenda", vm)); } } } else { ViewBag.MensagemVenda = "A quantidade digitada é inválida."; if (Session["ListaVenda"] != null) { VendaModel vm = new VendaModel(); vm.ListagemProdutosVenda = (List <ProdutoDto>)Session["ListaVenda"]; return(View("ArmazenamentoVenda", vm)); } } if (Session["ListaVenda"] != null) { return(RedirectToAction("ArmazenamentoVenda")); } else { return(RedirectToAction("InstanciaConsulta")); } }