// GET: Libs/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } Lib lib = null; var vm = new LibViewModel(); var listeCat = await _context.Categorie.ToListAsync(); if (listeCat == null || listeCat.Count <= 0) { return(NotFound("la liste des catégories est vide")); } vm.SetModel(listeCat.OrderBy(x => x.Nom).ToList()); if (id == 0) { lib = new Lib(); vm.CategorieSelected = listeCat[0].IdCategorie.ToString(); } else { lib = await _context.Lib.FindAsync(id); var cat = await _context.Categorie.FindAsync(lib.IdCategorie); vm.CategorieSelected = cat.IdCategorie.ToString(); } vm.Lib = lib; return(View(vm)); }
public async Task <IActionResult> Edit(LibViewModel model) { model.SetModel(await _context.Categorie.ToListAsync()); model.Lib.IdCategorie = Convert.ToInt32(model.CategorieSelected); if (ModelState.IsValid) { try { if (model.Lib.IdLib != 0) { _context.Update(model.Lib); } else { _context.Lib.Add(model.Lib); } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LibExists(model.Lib.IdLib)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); }