コード例 #1
0
        // 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));
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
 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());
     }
 }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
        // 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));
        }
コード例 #6
0
        // 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));
        }
コード例 #7
0
        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));
            }
        }