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; }
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; } }
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; } }
public SafeUserModel(User user) { _user = user; UserGroup = new UserGroupModel(user.UserGroup); }
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; } }