public ActionResult Create(SamouraisVM samVM) { if (ModelState.IsValid) { Samourai samourai = new Samourai(); samourai.Nom = samVM.Nom; samourai.Force = samVM.Force; // Enregistre le nouveau propriétaire d'une arme si une arme à été seléctionnée if (samVM.ArmeId != null) { Arme arme = db.Armes.FirstOrDefault(a => a.Id == samVM.ArmeId); arme.Samourai = samourai; samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == samVM.ArmeId); } if (samVM.ArtMartialsSelected != null) { samourai.ArtMartials = db.ArtMartials.Where(a => samVM.ArtMartialsSelected.Contains(a.Id)).ToList(); } db.Samourais.Add(samourai); db.SaveChanges(); return(RedirectToAction("Index")); } samVM.Armes = db.Armes.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); return(View(samVM)); }
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/Create public ActionResult Create() { SamouraisVM vm = new SamouraisVM(); this.getArmesAndArtMartials(vm); return(View(vm)); }
// GET: Samourais/Create public ActionResult Create() { SamouraisVM samVM = new SamouraisVM(); //stock dans le SamouraiVM la liste des armes disponibles et la liste des arts martiaux samVM.Armes = db.Armes.Include(a => a.Samourai).Where(a => a.Samourai == null).Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); samVM.ArtMartials = db.ArtMartials.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); return(View(samVM)); }
private SamouraisVM getArmesAndArtMartials(SamouraisVM vm) { List <int> listeArmesId = db.Samourais.Where(s => s.Arme != null).Select(s => s.Arme.Id).ToList(); vm.ArmeItems = db.Armes.Where(a => !listeArmesId.Contains(a.Id)).Select(a => new SelectListItem() { Text = a.Nom, Value = a.Id.ToString() }) .ToList(); vm.ArtMartialItems = db.ArtMartials.Select(am => new SelectListItem() { Text = am.Nom, Value = am.Id.ToString() }) .ToList(); return(vm); }
// GET: Samourais/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SamouraisVM vm = new SamouraisVM(); vm.Samourai = db.Samourais.Find(id); if (vm.Samourai == null) { return(HttpNotFound()); } return(View(vm)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SamouraisVM vm = new SamouraisVM(); vm.Samourai = db.Samourais.Find(id); if (vm.Samourai == null) { return(HttpNotFound()); } // List <int> listeArmesId = db.Samourais.Where(x => x.Arme != null && x.Id != id).Select(x => x.Arme.Id).ToList(); vm.ArmeItems = db.Armes.Where(a => !listeArmesId.Contains(a.Id)).Select(a => new SelectListItem() { Text = a.Nom, Value = a.Id.ToString() }) .ToList(); // vm.ArtMartialItems = db.ArtMartials.Select(am => new SelectListItem() { Text = am.Nom, Value = am.Id.ToString() }) .ToList(); // vm.IdsArtMartial = vm.Samourai.ArtMartials.Select(s => s.Id).ToList(); // if (vm.Samourai.Arme != null) { vm.IdArme = vm.Samourai.Arme.Id; } return(View(vm)); }
public ActionResult Edit(SamouraisVM samVM) { if (ModelState.IsValid) { Samourai samourai = db.Samourais.Include(s => s.Arme).Include(s => s.ArtMartials).FirstOrDefault(s => s.Id == samVM.Id); samourai.Nom = samVM.Nom; samourai.Force = samVM.Force; if (samVM.ArmeId != null) { Arme arme = db.Armes.FirstOrDefault(a => a.Id == samVM.ArmeId); arme.Samourai = samourai; samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == samVM.ArmeId); } else { samourai.Arme = null; } if (samVM.ArtMartialsSelected != null) { samourai.ArtMartials = db.ArtMartials.Where(a => samVM.ArtMartialsSelected.Contains(a.Id)).ToList(); } else { samourai.ArtMartials = null; } db.SaveChanges(); return(RedirectToAction("Index")); } samVM.Armes = db.Armes.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); samVM.ArtMartials = db.ArtMartials.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); return(View(samVM)); }
public ActionResult Edit(SamouraisVM vm) { if (ModelState.IsValid) { // Samourai modifiedSam = db.Samourais.Include(x => x.Arme).FirstOrDefault(x => x.Id == vm.Samourai.Id); // modifiedSam.Nom = vm.Samourai.Nom; // modifiedSam.Force = vm.Samourai.Force; // foreach (var am in modifiedSam.ArtMartials) { db.Entry(am).State = EntityState.Modified; } modifiedSam.ArtMartials = db.ArtMartials.Where(am => vm.IdsArtMartial.Contains(am.Id)).ToList(); // if (vm.IdArme != null) { modifiedSam.Arme = db.Armes.FirstOrDefault(a => a.Id == vm.IdArme); } else { var samouraisAvecMonArme = db.Samourais.FirstOrDefault(x => x.Arme.Id == vm.IdArme); samouraisAvecMonArme.Arme = null; db.Entry(samouraisAvecMonArme).State = EntityState.Modified; modifiedSam.Arme = null ?? db.Armes.FirstOrDefault(x => x.Id == vm.IdArme); } db.Entry(modifiedSam).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } // List <int> listeArmesId = db.Samourais.Where(x => x.Arme != null && x.Id != vm.Samourai.Id).Select(x => x.Arme.Id).ToList(); vm.ArmeItems = db.Armes.Where(a => !listeArmesId.Contains(a.Id)).Select(a => new SelectListItem() { Text = a.Nom, Value = a.Id.ToString() }) .ToList(); // vm.ArtMartialItems = db.ArtMartials.Select(am => new SelectListItem() { Text = am.Nom, Value = am.Id.ToString() }) .ToList(); // if (vm.Samourai.Arme != null) { vm.IdArme = vm.Samourai.Arme.Id; } // vm.IdsArtMartial = vm.Samourai.ArtMartials.Select(s => s.Id).ToList(); return(View(vm)); }
// GET: Samourais/Edit/5 public ActionResult Edit(int?id, bool?addWeapon, bool?disarm) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Samourai samourai = db.Samourais.Include(s => s.ArtMartials).Include(s => s.Arme).FirstOrDefault(s => s.Id == id); if (samourai == null) { return(HttpNotFound()); } SamouraisVM samVM = new SamouraisVM(); samVM.Id = samourai.Id; samVM.Nom = samourai.Nom; samVM.Arme = samourai.Arme; samVM.Force = samourai.Force; samVM.AddWeapon = false; samVM.Disarm = false; if (samourai.Arme != null) { samVM.ArmeId = samourai.Arme.Id; } // permet d'afficher la liste d'armes disponibles si le samourai veut en équiper une if (addWeapon == true) { samVM.AddWeapon = true; } // permet de déséquiper une arme if (disarm == true) { samVM.ArmeId = null; samVM.Disarm = true; } // construction de la liste d'armes à afficher List <Arme> armes = db.Armes.Include(a => a.Samourai).Where(a => a.Samourai == null).ToList(); if (samourai.Arme != null) { armes.Add(samourai.Arme); } if (armes.Count() > 0) { samVM.Armes = armes.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); } else { TempData["NoWeapon"] = "Il n'y a aucune arme disponible"; } samVM.ArtMartials = db.ArtMartials.Select(a => new SelectListItem { Text = a.Nom, Value = a.Id.ToString() }).ToList(); samVM.ArtMartialsSelected = samourai.ArtMartials.Select(a => a.Id).ToList(); return(View(samVM)); }