Beispiel #1
0
        private void AddUserGroupCommandExecuted()
        {
            var group = new UserGroup()
                {
                    ID = Guid.NewGuid(),
                    Name = "New User Group",
                    Colour = "#808080",
                    AuthCode = ""
                };

            _adminDataUnit.UserGroupsRepository.Add(group);
            _adminDataUnit.SaveChanges();

            var groupModel = new UserGroupModel(group);

            LoadPermissions(groupModel);
            LoadAuthorisationPermissions(groupModel);

            UserGroups.Add(groupModel);

            SelectedUserGroup = groupModel;
        }
Beispiel #2
0
        private void LoadAuthorisationPermissions(UserGroupModel groupModel)
        {
            groupModel.PermissionGroups = new ObservableCollection<PermissionGroupModel>();

            var groupPermissions = groupModel.UserGroup.UserGroupPermissions.Select(x => x.Permission);

            foreach (var permissionGroup in PermissionGroups)
            {
                var premissionGroupModel = new PermissionGroupModel(permissionGroup);
                premissionGroupModel.Permissions = new ObservableCollection<PermissionModel>();

                foreach (Permission permission in permissionGroup.Permissions)
                {
                    var permissionModel = new PermissionModel(permission)
                        {
                            IsChecked = groupPermissions.Contains(permission)
                        };

                    permissionModel.PropertyChanged += PermissionModelOnPropertyChanged;
                    permissionModel.Permission.PropertyChanged += OnPropertyChanged;

                    premissionGroupModel.Permissions.Add(permissionModel);
                }

                premissionGroupModel.IsChecked = premissionGroupModel.Permissions.Any() && premissionGroupModel.Permissions.All((x) => x.IsChecked);
                premissionGroupModel.PropertyChanged += PremissionGroupModelOnPropertyChanged;
                premissionGroupModel.PermissionGroup.PropertyChanged += PremissionGroupOnPropertyChanged;

                groupModel.PermissionGroups.Add(premissionGroupModel);
                groupModel.PropertyChanged += OnPropertyChanged;
                groupModel.UserGroup.PropertyChanged += OnPropertyChanged;
            }
        }
Beispiel #3
0
        private void LoadPermissions(UserGroupModel groupModel)
        {
            groupModel.Permissions = new ObservableCollection<PermissionModel>();

            var groupPermissions = groupModel.UserGroup.UserGroupPermissions.Select(x => x.Permission);
            foreach (Permission permission in Permissions)
            {
                var permissionModel = new PermissionModel(permission)
                    {
                        IsChecked = groupPermissions.Contains(permission)
                    };

                permissionModel.PropertyChanged += PermissionModelOnPropertyChanged;
                permissionModel.Permission.PropertyChanged += OnPropertyChanged;

                groupModel.Permissions.Add(permissionModel);

                groupModel.PropertyChanged += OnPropertyChanged;
                groupModel.UserGroup.PropertyChanged += OnPropertyChanged;
            }
        }
Beispiel #4
0
 public SafeUserModel(User user)
 {
     _user     = user;
     UserGroup = new UserGroupModel(user.UserGroup);
 }
Beispiel #5
0
 public SafeUserModel(User user)
 {
     _user = user;
     UserGroup = new UserGroupModel(user.UserGroup);
 }
Beispiel #6
0
        private void LoadUsers(UserGroupModel groupModel)
        {
            groupModel.Users =
                new ObservableCollection<SafeUserModel>(groupModel.UserGroup.Users.Select(x => new SafeUserModel(x)));

            foreach (var userModel in groupModel.Users)
            {
                userModel.UserGroup = groupModel;
                userModel.UserJobType = userModel.User.UserJobType;
                userModel.UserDepartment = userModel.User.UserDepartment;

                LoadUserPermissions(userModel);
                LoadAuthorisationPermissions(userModel);

                userModel.PropertyChanged += OnUserModelPropertyChanged;
                userModel.User.PropertyChanged += OnPropertyChanged;
            }
        }