private void ChangeSubAreaUsers(int subAreaId, User[] actualUsers)
        {
            List <int> oldSubAreaUsers = subAreaController.GetAllStudentsIds(subAreaId);
            List <int> actualUsersIds  = UserUtils.UserToUserIds(actualUsers);
            List <int> usersToAssign   = UserUtils.OneWayCompareUsers(actualUsersIds, oldSubAreaUsers);
            List <int> usersToDelete   = UserUtils.OneWayCompareUsers(oldSubAreaUsers, actualUsersIds);

            SubAreaAssignUtils.AssignUsersToSubArea(usersToAssign.ToArray(), subAreaController, subAreaId);
            SubAreaAssignUtils.UnAssignUsersToSubArea(usersToDelete.ToArray(), subAreaController, subAreaId);
        }
Beispiel #2
0
        private void ChangeUserSubAreas(int userId, List <string> newSubAreas, bool changedName)
        {
            List <SubArea> UserSubAreas = subAreaController.GetUserSubAreas(userId);

            if (changedName)
            {
                ResetSubAreasProxy(UserSubAreas);
            }
            List <string> oldSubAreas      = SubAreaUtils.GetSubAreasStrings(UserSubAreas).ToList();
            List <string> subAreasToAssign = SubAreaUtils.OneWayCompareSubAreas(newSubAreas, oldSubAreas);
            List <string> subAreasToDelete = SubAreaUtils.OneWayCompareSubAreas(oldSubAreas, newSubAreas);

            SubAreaAssignUtils.AssignSubAreasToUser(userId, subAreaController, subAreasToAssign.ToArray());
            SubAreaAssignUtils.UnAssignSubAreasToUser(userId, subAreaController, subAreasToDelete.ToArray());
        }
        private void ChangeSubAreaUsers(int subAreaId, User[] actualStudents, User[] actualTeachers)
        {
            List <int> oldSubAreaUsers = subAreaController.GetAllStudentsIds(subAreaId);

            foreach (int userId in oldSubAreaUsers)
            {
                StudentTeacherProxy.UpdateStudent(userId);
            }
            List <int> actualUsersIds = UserUtils.UserToUserIds(actualStudents.Concat(actualTeachers).ToArray());
            List <int> usersToAssign  = UserUtils.OneWayCompareUsers(actualUsersIds, oldSubAreaUsers);
            List <int> usersToDelete  = UserUtils.OneWayCompareUsers(oldSubAreaUsers, actualUsersIds);

            SubAreaAssignUtils.AssignUsersToSubArea(usersToAssign.ToArray(), subAreaController, subAreaId);
            SubAreaAssignUtils.UnAssignUsersToSubArea(usersToDelete.ToArray(), subAreaController, subAreaId);
        }
Beispiel #4
0
        public void DeleteStudent(int userId)
        {
            List <SubArea> userSubAreas = subAreaController.GetUserSubAreas(userId);

            ResetSubAreasProxy(userSubAreas);
            List <string> assignmentsToDelete = SubAreaUtils.GetSubAreasStrings(userSubAreas).ToList();

            SubAreaAssignUtils.UnAssignSubAreasToUser(userId, subAreaController, assignmentsToDelete.ToArray());
            StudentExamController         studentExamController         = new StudentExamController();
            StudentExamQuestionController studentExamQuestionController = new StudentExamQuestionController();
            List <StudentExam>            allStudentExamIds             = studentExamController.GetAllStudentExams(userId);

            foreach (StudentExam studentExam in allStudentExamIds)
            {
                studentExamQuestionController.DeleteAllStudentExamQuestions(studentExam.Id);
                studentExamController.DeleteStudentExam(studentExam.Id);
            }
            userController.DeleteStudent(userId);
        }
        // POST: api/EditSubArea
        public void Post(object refurbishedSubArea, bool edit)
        {
            JObject     juser            = refurbishedSubArea as JObject;
            RealSubArea recievingSubArea = juser.ToObject <RealSubArea>();
            SubArea     subArea          = new SubArea();

            if (edit == false)
            {
                subArea = SubAreaUtils.NewSubToSubArea(recievingSubArea, subAreaController);
                int   subAreaId   = subAreaController.AddSubArea(subArea);
                int[] studentsIds = UserUtils.UserToUserIds(recievingSubArea.studentsObj).ToArray();
                SubAreaAssignUtils.AssignUsersToSubArea(studentsIds, subAreaController, subAreaId);
            }
            else
            {
                subArea = SubAreaUtils.EditedSubToSubArea(recievingSubArea, subAreaController);
                subAreaController.EditSubArea(recievingSubArea.Id, subArea);
                ChangeSubAreaUsers(recievingSubArea.Id, recievingSubArea.studentsObj);
            }
        }
Beispiel #6
0
        public void AddStudent(User model, string[] subareas)
        {
            int userId = userController.AddUser(model);

            SubAreaAssignUtils.AssignSubAreasToUser(userId, subAreaController, subareas);
        }