// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Find(id); if (samourai == null) { return(HttpNotFound()); } VmSamourai vm = new VmSamourai(); vm.samourai = samourai; // vm.armes = db.Armes.ToList(); vm.artMartials = db.ArtMartials.ToList(); this.getListeArmesDisposDb(vm); // vm.armesId = vm.samourai.Arme.Id; return(View(vm)); }
// GET: Samourais/Create public ActionResult Create() { VmSamourai vm = new VmSamourai(); vm.artMartials = db.ArtMartials.ToList(); this.getListeArmesDisposDb(vm); // vm.armes = db.Armes.ToList(); return(View(vm)); }
public ActionResult Create(VmSamourai vm) { if (ModelState.IsValid) { vm.samourai.Arme = db.Armes.Find(vm.armesId); vm.samourai.artMartials = db.ArtMartials.Where(x => vm.artMatialIdSelected.Contains(x.Id)).ToList(); db.Samourais.Add(vm.samourai); db.SaveChanges(); return(RedirectToAction("Index")); } this.getListeArmesDisposDb(vm); vm.artMartials = db.ArtMartials.ToList(); return(View(vm)); }
private List <Arme> getListeArmesDisposDb(VmSamourai vm) { // vm.armes = new List<Arme>(); foreach (var arme in db.Armes.ToList()) { List <int> armeIds = db.Samourais.Where(x => x.Arme != null && x.Id != vm.samourai.Id).Select(x => x.Arme.Id).ToList(); vm.armes = db.Armes.Where(x => !armeIds.Contains(x.Id)).ToList(); if (db.Samourais.Where(x => x.Arme.Id == arme.Id).ToList().Count() == 0) { vm.armes.Add(arme); } } return(vm.armes); }
public ActionResult Edit(VmSamourai vm) { if (ModelState.IsValid) { Samourai samourai = db.Samourais.FirstOrDefault(x => x.Id == vm.samourai.Id); samourai.Nom = vm.samourai.Nom; samourai.Force = vm.samourai.Force; // samourai.Arme = vm.samourai.Arme; var a = samourai.Arme; if (vm.armesId != null) { samourai.Arme = db.Armes.Find(vm.armesId); } else { samourai.Arme = null; } samourai.artMartials.Clear(); foreach (var art in vm.artMatialIdSelected) { ArtMartial artMartial = db.ArtMartials.Find(art); samourai.artMartials.Add(artMartial); } db.Entry(samourai).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vm)); }