// GET: EncomendaProduto public ActionResult Create(int?id) { EncomendaProdutoView EncomendaProdutoView = new EncomendaProdutoView() { encomenda = getStandBy(), encomendaHasProduto = new Encomenda_has_Produto(), produto = db.Produtoes.Find(id) }; return(View(EncomendaProdutoView)); }
public ActionResult Create([Bind(Include = "encomenda,encomendaHasProduto,produto")] EncomendaProdutoView encomendaProduto, int?id) { if (encomendaProduto != null) { encomendaProduto.encomenda = getStandBy(); encomendaProduto.produto = db.Produtoes.Find(id); var EncomendaId = encomendaProduto.encomenda.id; var ProdCodBarras = encomendaProduto.produto.codBarras; var encomendasHasProduto = db.Encomenda_has_Produto.Where(x => x.Encomenda.Equals(EncomendaId) && x.Produto.Equals(ProdCodBarras)); if (!encomendasHasProduto.Any()) { encomendaProduto.encomendaHasProduto.Encomenda = encomendaProduto.encomenda.id; encomendaProduto.encomendaHasProduto.Produto = encomendaProduto.produto.codBarras; encomendaProduto.encomendaHasProduto.custo = encomendaProduto.produto.preco * encomendaProduto.encomendaHasProduto.quantidade; //encomendaProduto.encomenda.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto); //encomendaProduto.produto.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto); if (ModelState.IsValid) { db.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto); db.SaveChanges(); return(RedirectToAction("Index", "Produtoes")); } } else { encomendasHasProduto.First().quantidade += encomendaProduto.encomendaHasProduto.quantidade; encomendasHasProduto.First().custo += encomendaProduto.encomendaHasProduto.custo; if (ModelState.IsValid) { db.Encomenda_has_Produto.AddOrUpdate(encomendasHasProduto.First()); db.SaveChanges(); return(RedirectToAction("Index", "Produtoes")); } } } return(View(encomendaProduto)); }