// GET: ProgDec/Edit/5 public ActionResult Edit(int id) { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); BL.ProgDec progdec = new BL.ProgDec(); progdec.Id = id; progdec.LoadById(); pps.ProgDec = progdec; ProgramList programs = new ProgramList(); programs.Load(); pps.Programs = programs; StudentList students = new StudentList(); students.Load(); pps.Students = students; // Load all pps.Advisors = new AdvisorList(); pps.Advisors.Load(); // Deal with the existing advisors IEnumerable <int> existingAdvisorsIds = new List <int>(); // Select only the Ids existingAdvisorsIds = pps.ProgDec.Advisors.Select(a => a.Id); pps.AdvisorIds = existingAdvisorsIds; Session["advisorids"] = existingAdvisorsIds; return(View(pps)); }
// GET: ProgDec/Create public ActionResult Create() { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); pps.ProgDec = new BL.Models.ProgDec(); pps.Programs = ProgramManager.Load(); pps.Students = StudentManager.Load(); pps.Advisors = AdvisorManager.Load(); //load them all return(View(pps)); }
public ActionResult Create(ProgDecProgramsStudents pps) { try { ProgDecManager.Insert(pps.ProgDec); pps.AdvisorIds.ToList().ForEach(a => ProgDecAdvisorManager.Add(pps.ProgDec.Id, a)); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Create(ProgDecProgramsStudents pps) { try { pps.ProgDec.Insert(); int id = pps.ProgDec.Id; pps.AdvisorIds.ToList().ForEach(a => ProgDecAdvisor.Add(id, a)); return(RedirectToAction("Index")); } catch { return(View(pps)); } }
// GET: ProgDec/Edit/5 public ActionResult Edit(int id) { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); pps.ProgDec = ProgDecManager.LoadById(id); pps.Programs = ProgramManager.Load(); pps.Students = StudentManager.Load(); pps.Advisors = AdvisorManager.Load(); //load them all pps.ProgDec.Advisors = ProgDecManager.LoadAdvisors(id); pps.AdvisorIds = pps.ProgDec.Advisors.Select(a => a.Id); //Select the ids //Put Existing Advisors into Session Session["advisorids"] = pps.AdvisorIds; return(View(pps)); }
// GET: ProgDec/Create public ActionResult Create() { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); BL.ProgDec progdec = new BL.ProgDec(); pps.ProgDec = progdec; ProgramList programs = new ProgramList(); programs.Load(); pps.Programs = programs; StudentList students = new StudentList(); students.Load(); pps.Students = students; pps.Advisors = new AdvisorList(); pps.Advisors.Load(); return(View(pps)); }
public ActionResult Edit(int id, ProgDecProgramsStudents pps) { try { // Deal with the advisors IEnumerable <int> oldadvisorsid = new List <int>(); if (Session["advisorids"] != null) { oldadvisorsid = (IEnumerable <int>)Session["advisorids"]; } IEnumerable <int> newadvisorids = new List <int>(); if (pps.AdvisorIds != null) { newadvisorids = pps.AdvisorIds; } // Identify the deletes IEnumerable <int> deletes = oldadvisorsid.Except(newadvisorids); // Identify the adds IEnumerable <int> adds = newadvisorids.Except(oldadvisorsid); // Do the deletes deletes.ToList().ForEach(d => ProgDecAdvisor.Delete(id, d)); // Do the adds adds.ToList().ForEach(a => ProgDecAdvisor.Add(id, a)); pps.ProgDec.Update(); return(RedirectToAction("Index")); } catch { return(View(pps)); } }