Example #1
0
        public static RealSubArea SubAreaToRealSubArea(SubArea subArea, SubAreaController subAreaController, UserController userController)
        {
            List <int>    allStudentIds   = subAreaController.GetAllStudentsIds(subArea.Id);
            List <string> allStudentNames = new List <string>();
            List <User>   allStudents     = new List <User>();

            foreach (int studentId in allStudentIds)
            {
                User user = userController.GetById(studentId);
                if (user.role == "Student")
                {
                    allStudentNames.Add(user.username);
                    allStudents.Add(user);
                }
            }
            RealSubArea realSubArea = new RealSubArea
            {
                parentAreaId = subArea.parentAreaId,
                name         = subArea.name,
                Id           = subArea.Id,
                created      = subArea.created.ToShortDateString(),
                students     = allStudentNames.ToArray(),
                studentsObj  = allStudents.ToArray(),
            };

            return(realSubArea);
        }
        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);
        }
        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);
        }