public IActionResult Update([FromBody] GroupStudentViewModel model)
 {
     try
     {
         _services.UsersServices.SetStudentsToGroup(model);
         return(Created("", new object()));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemplo n.º 2
0
        public ActionResult _StudentGroupAndStudents(int term_id, int group_id, int?class_id)
        {
            checkLogin();

            GroupStudentViewModel GSVM = new GroupStudentViewModel();

            GSVM.TermList     = CP.termSelectList;
            GSVM.SelectedTerm = term_id;

            GSVM.Groups        = term_id == CP.currentTerm.ID? DBS.findActiveCurrentRecords <STUDENT_GROUP>() : DBS.findActiveRecordsBySingleParm <STUDENT_GROUP>("TERM", term_id);
            GSVM.Classes       = term_id == CP.currentTerm.ID ? DBS.findActiveCurrentRecords <QE_CLASS>() : DBS.findActiveRecordsBySingleParm <QE_CLASS>("TERM", term_id);
            GSVM.Teachers      = CP.AllUser;
            GSVM.SelectedGroup = group_id;
            GSVM.SelectedClass = class_id != null ? (int)class_id : 0;

            //--------------------//
            //   gen bool list    //
            //------------------//--------------------//-------------------------------------------------------------

            // get student per class
            List <STUDENT> students = GSVM.Students = class_id != null && (int)class_id > 0? StudentService.GetStudentsByClass((int)class_id): new List <STUDENT>();

            //get group student map
            List <STUDENT_GROUP_STUDENT_LIST> Map = DBS.findActiveRecordsBySingleParm <STUDENT_GROUP_STUDENT_LIST>("STUDENT_GROUP", group_id);

            //student with bool list
            List <GroupAndStudent> GnSs = new List <GroupAndStudent>();

            if (students != null && students.Any())
            {
                for (int s = 0; s < students.Count; s++) //check each subject if they mapped to chosen group
                {
                    GroupAndStudent GS = new GroupAndStudent();
                    GS.StudentID    = students[s].ID;
                    GS.Student_Name = students[s].STUDENT_NAME;
                    GS.GroupID      = group_id;
                    if (Map != null && Map.Any() && Map.Exists(m => (m.STUDENT == students[s].ID) && (m.STUDENT_GROUP == group_id))) // check if any map record matches chosen group
                    {
                        GS.Contain = true;                                                                                           //bool
                        GS.MapID   = Map.Where(m => (m.STUDENT == students[s].ID) && (m.STUDENT_GROUP == group_id)).First().ID;
                    }
                    GnSs.Add(GS);
                }
            }
            //--------------------------------------------------------------------------------------------------------------------

            GSVM.Student = GnSs;

            ModelState.Clear();
            return(View("StudentGroupAndStudents", GSVM));
        }
Exemplo n.º 3
0
        public void SetStudentsToGroup(GroupStudentViewModel model)
        {
            var students = _repo.UsersRepo.GetStudentsList().Where(x => x.Class_Id == model.GroupId && !model.StudentsId.Contains(x.Id));

            foreach (var student in students)
            {
                student.Class_Id = 0;
                _repo.UsersRepo.Update(student.Id, student);
            }

            foreach (var id in model.StudentsId)
            {
                var student = _repo.UsersRepo.Get(id);
                student.Class_Id = model.GroupId;
                _repo.UsersRepo.Update(id, student);
            }
        }
Exemplo n.º 4
0
        public ActionResult StudentGroupAndStudents(int?term_id)
        {
            checkLogin();

            GroupStudentViewModel GSVM = new GroupStudentViewModel();

            GSVM.TermList = CP.termSelectList;
            GSVM.Map      = new List <STUDENT_GROUP_STUDENT_LIST>(); //gen empty map list
            GSVM.Students = new List <STUDENT>();                    //gen empty student list
            GSVM.Student  = new List <GroupAndStudent>();            //gen empty student with bool list

            GSVM.Teachers     = CP.AllUser;
            GSVM.SelectedTerm = term_id != null ? (int)term_id: CP.currentTerm.ID;
            GSVM.Groups       = GSVM.SelectedTerm != CP.currentTerm.ID ? DBS.findActiveRecordsBySingleParm <STUDENT_GROUP>("TERM", GSVM.SelectedTerm) : DBS.findActiveCurrentRecords <STUDENT_GROUP>();;
            Session["currentStudentGroups"] = GSVM.Groups;
            ModelState.Clear();
            return(View(GSVM));
        }
Exemplo n.º 5
0
        public ActionResult StudentGroupAndStudents(GroupStudentViewModel GSVM)
        {
            checkLogin();

            bool result = true;

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

            GSVM.TermList = CP.termSelectList;
            ModelState.Clear();
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }
            return(RedirectToAction("_StudentGroupAndStudents", new{ term_id = GSVM.SelectedTerm, group_id = GSVM.SelectedGroup, class_id = GSVM.SelectedClass }));
        }