public async Task <ActionResult> DeleteConfirmed(int id) { VendaLoja vendaLoja = await db.VendasLojas.FindAsync(id); db.VendasLojas.Remove(vendaLoja); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: VendasLojas/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } VendaLoja vendaLoja = await db.VendasLojas.FindAsync(id); if (vendaLoja == null) { return(HttpNotFound()); } return(View(vendaLoja)); }
public async Task <ActionResult> Create([Bind(Include = "VendaLojaId,LojaId,VendaLojaProdutos,Data")] VendaLoja vendaLoja) { if (ModelState.IsValid) { db.VendasLojas.Add(vendaLoja); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.Lojas = await db.Lojas.ToListAsync(); ViewBag.ProdutosLojas = await db.ProdutosLojas .Include(pj => pj.Loja) .Include(pj => pj.Produto) .ToListAsync(); return(View(vendaLoja)); }
// GET: VendasLojas/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } VendaLoja vendaLoja = await db.VendasLojas.FindAsync(id); if (vendaLoja == null) { return(HttpNotFound()); } ViewBag.ProdutosLojas = await db.ProdutosLojas .Include(pj => pj.Produto) .Include(pj => pj.Loja) .Where(pj => pj.LojaId == vendaLoja.LojaId) .ToListAsync(); return(View(vendaLoja)); }
public async Task <ActionResult> Edit([Bind(Include = "VendaLojaId,LojaId,Data,VendaLojaProdutos")] VendaLoja vendaLoja) { if (ModelState.IsValid) { using (var scope = new TransactionScope()) { //Produtos Apagados var produtosOriginais = await db.VendasLojasProdutos .AsNoTracking() .Where(vlp => vlp.VendaLojaId == vendaLoja.VendaLojaId) .ToListAsync(); foreach (var produto in produtosOriginais) { var existe = vendaLoja.VendaLojaProdutos.Any(vlp => vlp.VendaLojaProdutoId == produto.VendaLojaProdutoId); if (!existe) { var produtoExcluido = await db.VendasLojasProdutos .FirstOrDefaultAsync(vlp => vlp.VendaLojaProdutoId == produto.VendaLojaProdutoId); db.VendasLojasProdutos.Remove(produtoExcluido); } } await db.SaveChangesAsync(); foreach (var produto in vendaLoja.VendaLojaProdutos) { //Produtos Editados if (produto.VendaLojaProdutoId > 0) { db.Entry(produto).State = EntityState.Modified; } else { //Produtos Criados produto.VendaLojaId = vendaLoja.VendaLojaId; db.VendasLojasProdutos.Add(produto); } } await db.SaveChangesAsync(); db.Entry(vendaLoja).State = EntityState.Modified; await db.SaveChangesAsync(); scope.Complete(); return(RedirectToAction("Index")); } } ViewBag.ProdutosLojas = db.ProdutosLojas .Include(pj => pj.Produto) .Include(pj => pj.Loja) .Where(pj => pj.LojaId == vendaLoja.LojaId) .ToListAsync(); return(View(vendaLoja)); }