Exemplo n.º 1
0
        public ActionResult _StudentGroupAndSubjects(GroupSubjectViewModel GSVM)
        {
            checkLogin();

            bool result = true;

            for (int i = 0; i < GSVM.GSs.Count; i++)
            {
                if (result)
                {
                    if (GSVM.GSs[i].Contain && GSVM.GSs[i].MapID < 1) // constains a map ID means its an existing record
                    {
                        STUDENT_GROUP_SUBJECT_LIST newMap = new STUDENT_GROUP_SUBJECT_LIST(0, GSVM.GSs[i].GroupID, GSVM.GSs[i].SubjectID, CP.userID, DateTime.Now, 0, Constant.DEF_DATETIME, true);
                        result = false;
                        result = DBS.addRecord(newMap);
                    }
                    else if (!GSVM.GSs[i].Contain && GSVM.GSs[i].MapID > 0) //not contain but have existing id means need to remove
                    {
                        result = false;
                        result = DBS.InactiveRecord("STUDENT_GROUP_SUBJECT_LIST", GSVM.GSs[i].MapID, CP.userID);
                    }
                }
            }

            ModelState.Clear();
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }
            return(RedirectToAction("StudentGroupAndSubjects", "Student", new { term_id = GSVM.SelectedTerm, group_id = GSVM.GSs.FirstOrDefault().GroupID }));
        }
Exemplo n.º 2
0
        public ActionResult StudentGroupAndSubjects(int?term_id, int?group_id)
        {
            checkLogin();


            GroupSubjectViewModel GSVM = new GroupSubjectViewModel();

            GSVM.TermList = CP.termSelectList;
            GSVM.Teachers = CP.AllUser;

            TERM displayingTerm = term_id != null ? CP.termlist[(int)term_id] : CP.currentTerm;

            if (displayingTerm != CP.currentTerm)
            {
                GSVM.Groups       = DBS.findActiveRecordsBySingleParm <STUDENT_GROUP>("TERM", displayingTerm.ID);
                GSVM.SelectedTerm = displayingTerm.ID;
            }
            else
            {
                GSVM.Groups       = Session["currentStudentGroups"] != null? (List <STUDENT_GROUP>)Session["currentStudentGroups"]: DBS.findActiveCurrentRecords <STUDENT_GROUP>();
                GSVM.SelectedTerm = CP.currentTerm.ID;
            }

            List <GroupAndSubject>            GnSs    = new List <GroupAndSubject>();                                                                                                                                               //subject with bool list
            List <SUBJECT>                    subject = DBS.findActiveRecordsBySingleParm <SUBJECT>("TERM", displayingTerm.ID);                                                                                                     // get subject per term
            List <STUDENT_GROUP_SUBJECT_LIST> Map     = group_id != null && group_id > 0? DBS.findActiveRecordsBySingleParm <STUDENT_GROUP_SUBJECT_LIST>("STUDENT_GROUP", (int)group_id) : new List <STUDENT_GROUP_SUBJECT_LIST>(); //get group subject map

            if (subject != null && subject.Any())
            {
                for (int s = 0; s < subject.Count; s++) //check each subject if they mapped to chosen group
                {
                    GroupAndSubject GS = new GroupAndSubject();
                    GS.SubjectID    = subject[s].ID;
                    GS.EBD_CODE     = subject[s].EDB_CODE;
                    GS.Subject_Name = subject[s].NAME;
                    GS.GroupID      = group_id != null? (int)group_id: 0;
                    if (Map != null && Map.Any() && Map.Exists(m => (m.SUBJECT == subject[s].ID) && (m.STUDENT_GROUP == (int)group_id))) // check if any map record matches chosen group
                    {
                        GS.Contain = true;
                        GS.MapID   = Map.Where(m => (m.SUBJECT == subject[s].ID) && (m.STUDENT_GROUP == (int)group_id)).FirstOrDefault().ID;
                    }
                    GnSs.Add(GS);
                }
            }
            GSVM.GSs = GnSs;

            ModelState.Clear();
            ViewData["SelectedTerm"] = GSVM.SelectedTerm;
            return(View(GSVM));
        }