public ActionResult Create([Bind(Include = "Id,StudentId,Area")] AreaInterest areaInterest) { if (ModelState.IsValid) { List <AreaInterest> areaList = TempData.Peek("AreaList") == null ? new List <AreaInterest>() : (List <AreaInterest>)TempData.Peek("AreaList"); areaInterest.Id = Guid.NewGuid(); areaList.Add(areaInterest); TempData["AreaList"] = areaList; } return(View()); }
public ActionResult Edit(AreaInterest userInput) { if (!ModelState.IsValid) { return(View(userInput)); } List <AreaInterest> areaList = TempData.Peek("AreaList") == null ? new List <AreaInterest>() : (List <AreaInterest>)TempData.Peek("AreaList"); areaList.Remove(areaList.Where(x => x.Id == userInput.Id).First()); areaList.Add(userInput); TempData["AreaList"] = areaList; return(RedirectToAction("Create")); }
public ActionResult Proceed() { List <AreaInterest> areaList = TempData.Peek("AreaList") == null ? new List <AreaInterest>() : (List <AreaInterest>)TempData.Peek("AreaList"); Guid studentId = (Guid)TempData.Peek("studentId"); Student student = db.Students.Where(x => x.Id == studentId).First(); var studentArea = student.AreaInterests; for (int i = 0; i < studentArea.Count; i++) { var currentArea = student.AreaInterests.ToArray()[i]; if (areaList.Where(x => x.Id == currentArea.Id).Count() == 0) { db.Entry(currentArea).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); } } foreach (AreaInterest areaInterest in areaList) { if (db.AreaInterests.Find(areaInterest.Id) != null) { AreaInterest sh = db.AreaInterests.Find(areaInterest.Id); sh.Area = areaInterest.Area; db.AreaInterests.Attach(sh); db.Entry(sh).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { student.AreaInterests.Add(areaInterest); db.SaveChanges(); } } TempData["studentId"] = student.Id; TempData.Remove("AreaList"); //if ((bool)TempData["isEditing"]) //{ // TempData.Remove("isEditing"); // return RedirectToAction("CreateScheme", "Scheme"); //} return(RedirectToAction("CreateSyllabus", "SyllabusType")); }