Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public partial class SelectUserViewModel : ViewModelBase
- {
- public List<string> _currentUsers;
- public string? _selectedUsername;
- public string? _newUser;
- public SelectUserViewModel()
- {
- CurrentUsers = UserQuery.GetUsernames();
- IObservable<bool> selectedUserOk = this.WhenAnyValue(
- x => x.SelectedUsername,
- x => !string.IsNullOrEmpty(x) && x != "Select One"));
- IObservable<bool> newUserOk = this.WhenAnyValue(
- x => x.NewUser,
- x => !string.IsNullOrEmpty(x));
- IObservable<bool> okSelectedEnabled = selectedUserOk;
- IObservable<bool> okNewUserEnabled = newUserOk;
- Login = ReactiveCommand.Create(
- ReturnSelectedUser,
- okSelectedEnabled);
- CreateUser = ReactiveCommand.Create(
- ReturnNewUser,
- okNewUserEnabled);
- }
- public User ReturnSelectedUser()
- {
- return new User
- {
- UserName = SelectedUsername
- };
- }
- public User ReturnNewUser()
- {
- return new User
- {
- UserName = NewUser
- };
- }
- public List<string> CurrentUsers
- {
- get => _currentUsers;
- set => this.RaiseAndSetIfChanged(ref _currentUsers, value);
- }
- public string? SelectedUsername
- {
- get => _selectedUsername;
- set => this.RaiseAndSetIfChanged(ref _selectedUsername, value);
- }
- public string? NewUser
- {
- get => _newUser;
- set => this.RaiseAndSetIfChanged(ref _newUser, value);
- }
- public ReactiveCommand<Unit, User> Login { get; }
- public ReactiveCommand<Unit, User> CreateUser { get; }
- }
Advertisement
Add Comment
Please, Sign In to add comment