public ActionResult AssignApplicationDropdown(int index, int id) { InterviewViewModel ViewModel = new InterviewViewModel(); Interview interview = db.Interviews.Find(id); ViewModel.interview = interview; ViewBag.index = index; var applicationIds = interview.Applications.Where(a => a.ApplicationStatus.name == "Processed").Select(x => x.id); ViewBag.applicationList = new SelectList(db.Applications.Where(a => a.program_id == interview.program_id && (a.Interviews.Count() == 0 || applicationIds.Contains(a.id))), "id", "StudentProfile.name"); return PartialView(ViewModel); }
public ActionResult Edit(InterviewViewModel ViewModel) { Interview interview = db.Interviews.Find(ViewModel.interview.id); db.Entry(interview).CurrentValues.SetValues(ViewModel.interview); interview.Applications.Clear(); if (ViewModel.applications != null) { foreach (var application in ViewModel.applications) { interview.Applications.Add(db.Applications.Find(application.id)); } } try { db.SaveChanges(); } catch (Exception e) { Session["FlashMessage"] = "Failed to edit interview timeslot." + e.Message; ViewBag.statusList = new SelectList(db.InterviewStatus, "id", "name", interview.status_id); ViewBag.programList = new SelectList(db.Programs.Where(p => p.require_interview), "id", "name"); ViewBag.venueList = new SelectList(db.InterviewVenues.Where(v => v.status), "id", "name"); return View(ViewModel); } return RedirectToAction("Index"); }
public ActionResult Edit(int id = 0) { InterviewViewModel ViewModel = new InterviewViewModel(); Interview interview = db.Interviews.Find(id); if (interview == null) { return HttpNotFound(); } ViewModel.interview = interview; ViewModel.applications = interview.Applications.ToList(); ViewBag.statusList = new SelectList(db.InterviewStatus, "id", "name", interview.status_id); ViewBag.programList = new SelectList(db.Programs.Where(p => p.require_interview), "id", "name"); var applicationIds = interview.Applications.Select(x => x.id); ViewBag.applicationList = new SelectList(db.Applications.Where(a => a.program_id == interview.program_id && (a.Interviews.Count() == 0 || applicationIds.Contains(a.id))), "id", "StudentProfile.name"); ViewBag.venueList = new SelectList(db.InterviewVenues.Where(v => v.status), "id", "name"); return View(ViewModel); }