// GET: Parcours/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Parcours parcours = await db.Parcours.FindAsync(id); if (parcours == null) { return(HttpNotFound()); } List <Module> modules = db.Modules.ToList(); ViewBag.IdModule = new SelectList(modules, "Id", "Resume"); ParcoursVM parcoursVm = new ParcoursVM(); parcoursVm.Designation = parcours.Designation; parcoursVm.Id = parcours.Id; parcoursVm.NbHeures = parcours.NbHeures; parcoursVm.Modules = parcours.Modules; return(View(parcoursVm)); }
public async Task <ActionResult> AjoutModule(int?IdModule, int?IdParcours) { if (IdModule == null || IdParcours == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Parcours parcours = await db.Parcours.FindAsync(IdParcours); Module module = await db.Modules.FindAsync(IdModule); if (parcours == null || module == null) { return(HttpNotFound()); } if (!parcours.Modules.Any(x => (x.Id == IdModule))) { parcours.Modules.Add(module); } await db.SaveChangesAsync(); ParcoursVM parcoursVm = new ParcoursVM(); parcoursVm.Designation = parcours.Designation; parcoursVm.Id = parcours.Id; parcoursVm.NbHeures = parcours.NbHeures; parcoursVm.Modules = parcours.Modules; return(RedirectToAction("Edit", parcoursVm)); // L'élément sélectionné par défaut doit être resélectionné pour être pris en compte }
/*public async Task<ActionResult> AddModule(int? id) * { * * }*/ public async Task <ActionResult> RetraitModule(int?IdModule, int?IdParcours) { if (IdModule == null || IdParcours == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Parcours parcours = await db.Parcours.FindAsync(IdParcours); Module module = await db.Modules.FindAsync(IdModule); if (parcours == null || module == null) { return(HttpNotFound()); } if (parcours.Modules.Any(x => (x.Id == IdModule))) { parcours.Modules.Remove(module); } await db.SaveChangesAsync(); ParcoursVM parcoursVm = new ParcoursVM(); parcoursVm.Designation = parcours.Designation; parcoursVm.Id = parcours.Id; parcoursVm.NbHeures = parcours.NbHeures; parcoursVm.Modules = parcours.Modules; return(RedirectToAction("Edit", parcoursVm)); }
public async Task <ActionResult> Create([Bind(Include = "Id,Designation,NbHeures,IdModule")] ParcoursVM parcoursVm) { if (ModelState.IsValid) { MapperConfiguration config = new MapperConfiguration(cfg => cfg.CreateMap <ParcoursVM, Parcours>()); // 2 : créer un Mapper Mapper mapper = new Mapper(config); // 3 : mappage Parcours parcours = mapper.Map <Parcours>(parcoursVm); Module module = db.Modules.SingleOrDefault(x => x.Id == parcoursVm.IdModule); parcours.Modules = new List <Module>(); parcours.Modules.Add(module); db.Parcours.Add(parcours); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(parcoursVm)); }