public IActionResult Update([FromBody] GroupStudentViewModel model) { try { _services.UsersServices.SetStudentsToGroup(model); return(Created("", new object())); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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)); }
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); } }
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)); }
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 })); }