// GET: Risques public ActionResult Index() { ContratTravailSoumis contratsTrav = Session["contratTravSelectionne"] as ContratTravailSoumis; if(contratsTrav != null) { ContratTravailSoumis contratsTravAvecRisques = db.ContratTravailSoumis .Include("Risque") .Where(r => r.contrat_id == contratsTrav.contrat_id) .Single(); if (contratsTravAvecRisques != null) { List<Risque> tousLesRisques = db.Risque.ToList(); List<Risque> lesRisquesDuTravailleur = contratsTravAvecRisques.Risque.ToList(); tousLesRisques.RemoveAll(x => lesRisquesDuTravailleur.Exists(y => y.code == x.code)); var modelRisque = new RisqueViewModel() { ListRisquesSelected = tousLesRisques }; return View(modelRisque); } } return HttpNotFound(); }
public ActionResult SelectedRisques(RisqueViewModel risquesSelected) { if (risquesSelected.ListRisquesSelected.Count > 0) { ContratTravailSoumis contratsTrav = Session["contratTravSelectionne"] as ContratTravailSoumis; var contratTravChoisiBd = db.ContratTravailSoumis.Find(contratsTrav.contrat_id); foreach (Risque risque in risquesSelected.ListRisquesSelected) { if (risque.isSelected) { var risqueChoisiBd = db.Risque.Single(x => x.code == risque.code); db.Entry(contratTravChoisiBd).Collection(x => x.Risque).Load(); contratTravChoisiBd.Risque.Add(risqueChoisiBd); } } db.SaveChanges(); return RedirectToAction("Index", "Recapitulatif"); } return HttpNotFound(); }