public UserManagementViewModel( IDataApiClient dataApiClient, IReadonlyObjectDatabase <UserProfile> userDatabase) { this.dataApiClient = dataApiClient; try { var userProfileLoader = new UserProfileLoader(dataApiClient, userDatabase); var userProfiles = Task.Run(() => userProfileLoader.LoadAsync()).Result .OrderBy(x => x.Username); UserProfiles = new ObservableCollection <UserProfileViewModel>(userProfiles); } catch (Exception e) { StaticMessageBoxSpawner.Show($"Failed to load user profiles: {e.InnermostException().Message}"); UserProfiles = new ObservableCollection <UserProfileViewModel>(); } CreateUserViewModel = new CreateUserViewModel(userDatabase, dataApiClient); CreateUserViewModel.UserCreated += (sender, userProfile) => UserProfiles.Add(userProfile); SaveUserDetailsCommand = new RelayCommand(SaveUserDetails, () => SelectedUserProfile != null); AddRoleCommand = new RelayCommand(AddRole, CanEditUser); RemoveRoleCommand = new RelayCommand(RemoveRole, CanEditUser); DeleteUserCommand = new RelayCommand(DeleteUser, CanEditUser); }
private UserProfile GetProfile(string Profile) { using (var w = new WebClient()) { string Raw; var _url = new Uri(new Uri(WPRoot), Profile); w.Encoding = System.Text.Encoding.UTF8; Raw = w.DownloadString(_url); var _profile = UserProfileLoader.ReadUserProfile(Raw); _profile.Ref = Profile; return(_profile); } }