private void HydrateSamouraiViewModelLists(SamouraiViewModel vm, Samourai editedSamourai = null) { // selection des armes non attribuées vm.Armes = db.Armes .Where(a => !db.Samourais.Select(s => s.Arme.Id).Contains(a.Id)) .Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }) .ToList(); // si un samourai est impliqué (edit), ajout de sa propre arme à la liste if (editedSamourai != null && editedSamourai.Arme != null) { vm.Armes.Add(new SelectListItem { Text = editedSamourai.Arme.Nom, Value = editedSamourai.Arme.Id.ToString() }); } // selection des arts martiaux. vm.ArtMartials = db.ArtMartials .Select(x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); if (editedSamourai != null) { AddPotentialValue(vm.Samourai); } }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Find(id); SamouraiViewModel vm = new SamouraiViewModel(); vm.Samourai = samourai; vm.Armes = db.Armes.Select(x => new SelectListItem() { Text = x.Nom, Value = x.Id.ToString() }).ToList(); if (samourai.Arme != null) { vm.IdArme = samourai.Arme.Id; } if (samourai == null) { return(HttpNotFound()); } vm.Armes = db.Armes.Select(x => new SelectListItem() { Text = x.Nom, Value = x.Id.ToString() }).ToList(); return(View(vm)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Include(s => s.ArtMartials).FirstOrDefault(s => s.Id == id); if (samourai == null) { return(HttpNotFound()); } List <SelectListItem> ArmesListItems = getArmesSelectListItems(samourai.Id); SamouraisViewModel vm = new SamouraisViewModel { Samourai = samourai, Armes = ArmesListItems, ArtMartials = db.ArtMartials.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList() }; if (samourai.Arme != null) { vm.IdArme = samourai.Arme.Id; } if (samourai.ArtMartials != null && samourai.ArtMartials.Count() > 0) { vm.IdArtMartials = samourai.ArtMartials.Select(a => a.Id).ToList(); } return(View(vm)); }
public ActionResult Edit(SamouraiVM sVM) { if (ModelState.IsValid) { Samourai samourai = db.Samourais.Include(x => x.Arme).Include(x => x.ArtMartials).FirstOrDefault(x => x.Id == sVM.Samourai.Id); //samourai.Force = sVM.Samourai.Force; //samourai.Nom = sVM.Samourai.Nom; samourai.SetObjectProp(sVM.Samourai); Samourai SamouraiAvecArme = db.Samourais.Where(x => x.Arme.Id == sVM.ArmeId).FirstOrDefault(); if (sVM.ArmeId != null) { samourai.Arme = db.Armes.Find(sVM.ArmeId); } else { samourai.Arme = null; } if (sVM.ListeArtMartialsId.Any()) { samourai.ArtMartials = db.ArtMartials.Where(x => sVM.ListeArtMartialsId.Contains(x.Id)).ToList(); } db.SaveChanges(); return(RedirectToAction("Index")); } this.getListeArmesDisposDb(sVM); sVM.ListeArtMartials = db.ArtMartials.ToList(); return(View(sVM)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SamouraiVM sVM = new SamouraiVM(); Samourai samourai = db.Samourais.Find(id); if (samourai == null) { return(HttpNotFound()); } else { this.getListeArmesDisposDb(sVM); sVM.ListeArtMartials = db.ArtMartials.ToList(); sVM.Samourai = samourai; if (samourai.Arme != null) { sVM.ArmeId = samourai.Arme.Id; sVM.ListeArmes.Add(db.Armes.Where(x => x.Id == sVM.ArmeId).FirstOrDefault()); } if (samourai.ArtMartials.Any()) { sVM.ListeArtMartialsId = samourai.ArtMartials.Select(x => x.Id).ToList(); } return(View(sVM)); } }
// 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()); } var svm = new SamouraiViewModel(); svm.Samourai = samourai; svm.Armes = db.Armes.Except(db.Samourais.Select(s => s.Arme)).ToList(); svm.ArtsMartiaux = db.ArtsMartiaux.ToList(); if (samourai.Arme != null) { svm.Armes.Add(samourai.Arme); svm.IdSelectedArme = samourai.Arme.Id; } if (samourai.ArtsMartiaux != null) { svm.IdSelectedArtMartiaux = samourai.ArtsMartiaux.Select(am => am.Id).ToList(); } return(View(svm)); }
// 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()); } var armesUsed = this.getArmesUsed(); var samouraiVM = new SamouraiVM { Samourai = samourai, Armes = db.Armes.Where(a => !armesUsed.Contains(a.Id)).ToList(), ArtMartiaux = db.ArtMartials.ToList(), IdSelectedArtMartiaux = samourai.ArtsMartiaux.Select(ar => ar.Id).ToList() }; if (samourai.Arme != null) { samouraiVM.IdSelectedArme = samourai.Arme.Id; samouraiVM.Armes.Add(samourai.Arme); } return(View(samouraiVM)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Include("Arme").Include("ArtsMartiaux").Where(s => s.Id == id).SingleOrDefault(); if (samourai == null) { return(HttpNotFound()); } SamouraiVM vm = new SamouraiVM { Samourai = samourai, SelectedWeapon = samourai.Arme?.Id, SelectedMartialArts = samourai.ArtsMartiaux.Select(am => am.Id).ToList(), WeaponsListItems = getAvailableWeapons(samourai.Id), MartialArtsListItems = db.ArtMartiaux.Select(am => new SelectListItem { Text = am.Nom, Value = am.Id.ToString() }).ToList() }; return(View(vm)); }
// 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/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()); } var vm = new SamouraiVM(); vm.Armes = db.Armes.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.ArtsMartiaux = db.ArtMartiaux.ToList(); vm.Samourai = samourai; if (samourai.Arme != null) { // Si le samourai avait une arme, on affecte l'Id de cette arme à notre VIewModel, ansi elle sera préselectionnée dans notre liste d'armes vm.IdSelectedArme = samourai.Arme.Id; } return(View(vm)); }
public ActionResult Edit(SamouraiVM samouraiVM) { try { if (ModelState.IsValid) { Samourai samourai = db.Samourais.Include("Arme").Include("ArtsMartiaux").Where(s => s.Id == samouraiVM.Samourai.Id).SingleOrDefault(); if (samourai == null) { return(RedirectToAction("Index")); } samourai.Nom = samouraiVM.Samourai.Nom; samourai.Force = samouraiVM.Samourai.Force; samourai.Arme = db.Armes.Find(samouraiVM.SelectedWeapon); samourai.ArtsMartiaux = db.ArtMartiaux.Where(am => samouraiVM.SelectedMartialArts.Contains(am.Id)).ToList(); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(samouraiVM)); } catch { return(View(samouraiVM)); } }
// 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()); } SamouraiVM samouraiVM = new SamouraiVM(); samouraiVM.Samourai = samourai; samouraiVM.Armes = db.Armes.ToList(); if (samouraiVM.Samourai.Arme != null) { samouraiVM.IdArmeSamourai = samouraiVM.Samourai.Arme.Id; } samouraiVM.ArtMartials = db.ArtMartials.ToList(); samouraiVM.IdArtmartials = samouraiVM.Samourai.ArtMartials.Select(m => m.Id).ToList(); return(View(samouraiVM)); }
public ActionResult Create(SamouraisVM vm) { if (ModelState.IsValid) { if (vm.IdArme != null) { Samourai samAvecArme = db.Samourais.FirstOrDefault(s => s.Arme.Id == vm.IdArme); if (samAvecArme != null) { samAvecArme.Arme = null; db.Entry(samAvecArme).State = EntityState.Modified; } vm.Samourai.Arme = db.Armes.Find(vm.IdArme); } vm.Samourai.ArtMartials = db.ArtMartials.Where(am => vm.IdsArtMartial.Contains(am.Id)).ToList(); db.Samourais.Add(vm.Samourai); db.SaveChanges(); return(RedirectToAction("Index")); } this.getArmesAndArtMartials(vm); return(View(vm)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Find(id); AddPotentialValue(samourai); SamouraiViewModel vm = new SamouraiViewModel(); vm.Samourai = samourai; if (samourai == null) { return(HttpNotFound()); } if (samourai.Arme != null) { vm.IdArme = samourai.Arme.Id; } if (samourai.ArtMartiaux != null) { vm.IdsArtMartials = samourai.ArtMartiaux.Select(a => a.Id).ToList(); } HydrateSamouraiViewModelLists(vm, samourai); return(View(vm)); }
public ActionResult Edit(SamouraiVM samouraiVm) { if (ModelState.IsValid) { Samourai samourai = db.Samourais.Include(s => s.Arme).Include(s => s.ArtsMartiaux).FirstOrDefault(s => s.Id == samouraiVm.Samourai.Id); /*db.Samourais.Attach(samourai);*/ foreach (ArtMartial item in samourai.ArtsMartiaux) { db.Entry(item).State = EntityState.Modified; } samourai.Nom = samouraiVm.Samourai.Nom; samourai.Force = samouraiVm.Samourai.Force; if (samouraiVm.IdArme != 0) { samourai.Arme = db.Armes.SingleOrDefault(a => a.Id == samouraiVm.IdArme); } else { samourai.Arme = null; } if (samouraiVm.IdsSelectedArts.Count > 0) { samourai.ArtsMartiaux = db.ArtMartials.Where(adb => samouraiVm.IdsSelectedArts.Any(avm => avm == adb.Id)).ToList(); } db.Entry(samourai).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(samouraiVm)); }
public ActionResult Edit(SamouraiVM vm) { if (ModelState.IsValid) { Samourai samourai = db.Samourais.Find(vm.Samourai.Id); samourai.Force = vm.Samourai.Force; samourai.Nom = vm.Samourai.Nom; if (vm.IdSelectedArme != null) { samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == vm.IdSelectedArme.Value); } if (vm.IdsArtMartial != null) { foreach (var artMartial in samourai.ArtMartials) { foreach (var idArtMartial in vm.IdsArtMartial) { if (!(artMartial.Id == idArtMartial)) { samourai.ArtMartials = db.ArtMartials.Where(a => vm.IdsArtMartial.Contains(a.Id)).ToList(); } } } } db.Entry(samourai).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vm)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } /*Samourai samourai = db.Samourais.Find(id);*/ Samourai samourai = db.Samourais.Include(s => s.Arme).FirstOrDefault(s => s.Id == id); if (samourai == null) { return(HttpNotFound()); } SamouraiVM samouraiVm = new SamouraiVM() { Samourai = samourai, ArmesDisponibles = db.Armes.Where(a => (a.Samourai == null || a.Samourai.Id == samourai.Id)).ToList(), ArtsDisponibles = db.ArtMartials.ToList(), // Ajout preselect artsmartiaux IdsSelectedArts = samourai.ArtsMartiaux.Select(a => a.Id).ToList() }; if (samourai.Arme != null) { samouraiVm.IdArme = samourai.Arme.Id; } return(View(samouraiVm)); }
public ActionResult DeleteConfirmed(int id) { Samourai samourai = db.Samourais.Find(id); db.Samourais.Remove(samourai); db.SaveChanges(); return RedirectToAction("Index"); }
// 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()); } SamouraiVM samouraiVM = new SamouraiVM() { Samourai = samourai }; samouraiVM = InitListSamouraiVM(samouraiVM); if (samourai.Arme != null) { samouraiVM.IdArme = samourai.Arme.Id; samouraiVM.ListeArmes.Add(samourai.Arme); } return(View(samouraiVM)); }
public ActionResult Create(SamouraiViewModel unSamouraiVM) { try { Samourai unSamourai = unSamouraiVM.Samourai; if (!db.Samourais.Any(s => s.Arme.Id == unSamouraiVM.IdArme)) { unSamourai.Arme = db.Armes.Find(unSamouraiVM.IdArme); } foreach (var idArtMartial in unSamouraiVM.IdsArtMartiaux) { unSamourai.ArtMartiaux.Add(db.ArtMartials.Find(idArtMartial)); } db.Samourais.Add(unSamourai); db.SaveChanges(); return(RedirectToAction("Index")); } catch { return(View()); } }
// GET: CRUDcontroller/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SamouraiViewModel vm = new SamouraiViewModel(); Samourai samourai = db.Samourais.Find(id); vm.Samourai = samourai; if (samourai.Arme != null) { vm.IdArmes = samourai.Arme.Id; } List <int> armeIds = db.Samourais.Where(x => x.Arme != null).Select(x => x.Arme.Id).ToList(); vm.Armes = db.Armes.Where(x => !armeIds.Contains(x.Id)).ToList(); if (samourai.ArtMartials != null) { vm.IdsArtMartials = samourai.ArtMartials.Select(x => x.Id).ToList(); } vm.ArtMartials = db.ArtMartials.ToList(); if (samourai == null) { return(HttpNotFound()); } return(View(vm)); }
public ActionResult Edit(SamouraiVM vm) { if (ModelState.IsValid) { //var sam = db.Samourais.Include(x => x.Arme).FirstOrDefault(x => x.Id == vm.Samourai.Id); Samourai sam = db.Samourais.Include(s => s.Arme).FirstOrDefault(s => s.Id == vm.Samourai.Id); sam.Artmartials.Clear(); sam.Force = vm.Samourai.Force; sam.Nom = vm.Samourai.Nom; if (vm.ArmesId != null) { sam.Arme = db.Armes.Find(vm.ArmesId); } else { sam.Arme = null; } if (vm.ArtMartialsId != null) { foreach (var item in vm.ArtMartialsId) { sam.Artmartials = db.ArtMartials.Where(x => vm.ArtMartialsId.Contains(x.Id)).ToList(); } } db.Entry(sam).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vm)); }
// GET: Samourais/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SamouraiVM sVM = new SamouraiVM(); Samourai samourai = db.Samourais.Find(id); if (samourai == null) { return(HttpNotFound()); } else { sVM.Samourai = samourai; if (samourai.Arme != null) { sVM.ArmeId = samourai.Arme.Id; } if (samourai.ArtMartials.Any()) { sVM.ListeArtMartials = samourai.ArtMartials.ToList(); } return(View(sVM)); } }
// GET: Samourais/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Find(id); if (samourai == null) { return(HttpNotFound()); } SamouraiVM samouraiVM = new SamouraiVM(); samouraiVM.Samourai = samourai; if (samourai.Arme != null) { samouraiVM.potentiel = samourai.Force * samourai.Arme.Degats * (samourai.ArtMartiaux.Count + 1); } else { samouraiVM.potentiel = samourai.Force * (samourai.ArtMartiaux.Count + 1); } return(View(samouraiVM)); }
public ActionResult Create(SamouraiViewModel vm) { try { if (ModelState.IsValid) { Samourai samourai = new Samourai(); samourai.Nom = vm.Samourai.Nom; samourai.Force = vm.Samourai.Force; samourai.Arme = db.Armes.Find(vm.IdArme); db.Samourais.Add(samourai); db.SaveChanges(); return(RedirectToAction("Index")); } vm.Armes = db.Armes.Select(x => new SelectListItem() { Text = x.Nom, Value = x.Id.ToString() }).ToList(); return(View(vm)); } catch (Exception) { vm.Armes = db.Armes.Select(x => new SelectListItem() { Text = x.Nom, Value = x.Id.ToString() }).ToList(); ModelState.AddModelError("", "Problème de connexion avec la base de données."); return(View(vm)); } }
// 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()); } var samouraiVM = new SamouraiVM(); samouraiVM.ListArmes = db.Armes.Where(a => a.Samourai == null).ToList(); samouraiVM.ListArtM = db.ArtMartials.ToList(); samouraiVM.Samourai = samourai; if (samourai.Arme != null) { samouraiVM.IdSelected = samourai.Arme.Id; } if (samourai.ArtMartiaux.Count > 0) { samourai.ArtMartiaux.ForEach(a => samouraiVM.IdSelectedArtM.Add(a.Id)); } return(View(samouraiVM)); }
public ActionResult Create(SamouraiCreateEditVM svm) { if (ModelState.IsValid && ArmeNotBelongToMoreThanOneSamourai(svm)) //Vérifier qu'une arme ne peut appartenir qu'à un seul samourai { Samourai samourai = new Samourai(); samourai.Nom = svm.Samourai.Nom; samourai.Force = svm.Samourai.Force; //on vérifie si une arme est sélectionnée pour le samourai if (svm.IdSelectedArme != null) { samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == svm.IdSelectedArme); } //on vérifie si des arts martiaux sont associés au samourai if (svm.IdSelectedArtMartials.Count > 0) { samourai.ArtMartials = db.ArtMartials.Where(a => svm.IdSelectedArtMartials.Contains(a.Id)).ToList(); } db.Samourais.Add(samourai); db.SaveChanges(); return(RedirectToAction("Index")); } //si ModelState non valide, on renvoie la vue Create avec la liste d'armes et d'arts martiaux svm.ArtMartials = db.ArtMartials.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }); svm.Armes = db.Armes.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }); return(View(svm)); }
public ActionResult Edit(SamouraiVM vm) { if (ModelState.IsValid) { Samourai sm = db.Samourais.Find(vm.Samourai.Id); if (sm == null) { return(HttpNotFound()); } Arme arme = db.Armes.Find(vm.ArmeId); if (arme != sm.Arme) { sm.Arme = arme; } sm.Nom = vm.Samourai.Nom; sm.Force = vm.Samourai.Force; sm.ArtMartials.Clear(); foreach (var item in vm.ArtMartialsIds) { ArtMartial am = db.ArtMartials.Find(item); sm.ArtMartials.Add(am); } db.Entry(sm).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vm)); }
// 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()); } var vm = new SamouraiVM(); vm.Samourai = samourai; vm.Armes = GetArmesLibres(); vm.ArtMartiaux = db.ArtMartials.ToList(); vm.SelectedArtMartiaux = samourai.ArtsMartiaux.Select(ar => ar.Id).ToList(); if (samourai.Arme != null) { vm.SelectedArme = samourai.Arme.Id; vm.Armes.Add(samourai.Arme); } return(View(vm)); }
public ActionResult Edit(SamouraiViewModel vm) { if (ModelState.IsValid) { // Lazy loading, demander explicitement, passer en eager Samourai samouraiToUpdate = db.Samourais .Include(x => x.Arme) .Include(s => s.ArtMartiaux) .FirstOrDefault(s => s.Id == vm.Samourai.Id); samouraiToUpdate.Nom = vm.Samourai.Nom; samouraiToUpdate.Force = vm.Samourai.Force; // unicité de l'arme if (db.Armes.Find(vm.IdArme) != null) { foreach (Samourai samourai in db.Samourais.Include(s => s.Arme).Where(s => s.Arme.Id == vm.IdArme)) { samourai.Arme = null; } samouraiToUpdate.Arme = db.Armes.Find(vm.IdArme); } if (vm.IdsArtMartials != null) { samouraiToUpdate.ArtMartiaux = db.ArtMartials.Where(am => vm.IdsArtMartials.Contains(am.Id)).ToList(); } db.Entry(samouraiToUpdate).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } HydrateSamouraiViewModelLists(vm, db.Samourais.Include(s => s.Arme).FirstOrDefault(s => s.Id == vm.IdArme)); return(View(vm)); }