public AccountView(User user) { _user = new UserViewModel(); _user.CurrentUser = user; _accounts = new AccountViewModel(user); this.DataContext = _accounts; this.InitializeComponent(); }
public AccountViewModel(PWManager.Models.User user) { if (DesignerProperties.GetIsInDesignMode( new System.Windows.DependencyObject())) { return; } Accounts = new ObservableCollection <Account>(_repository.GetAccountsAsync(user.Id).Result); SaveCommand = new RelayCommand(AddAccount); UpdateCommand = new RelayCommand(Update); }
/// <summary> /// /// </summary> /// <param name="user"></param> /// <returns></returns> public async Task<User> UpdateUserAsync(User user) { try { if (!_context.Users.Local.Any(u => u.Id == user.Id)) { _context.Users.Attach(user); } _context.Entry(user).State = EntityState.Modified; await _context.SaveChangesAsync(); return user; } catch (Exception) { return null; } return null; }
/// <summary> /// /// </summary> /// <param name="user"></param> /// <returns></returns> public async Task<User> AddUserAsync(User user) { _context.Users.Add(user); await _context.SaveChangesAsync(); return user; }
private void NavigateToAccountView(User usr) { _accountViewModel = new AccountViewModel(usr); CurrentViewModel = _accountViewModel; }
/// <summary> /// /// </summary> private void AddOrUpdateUser(object pwBox) { PasswordBox pw = pwBox as PasswordBox; if (CurrentUser.Id == Guid.Empty) { CurrentUser = new User { Id = Guid.NewGuid(), Username = this.Username, Password = Security.Security.HashPassword(pw.Password), Firstname = this.Firstname, Lastname = this.Lastname, Email = this.Email }; _repo.AddUserAsync(CurrentUser); Navigator.Navigate(new Login()); } else { CurrentUser.Password = Security.Security.HashPassword(pw.Password); _repo.UpdateUserAsync(CurrentUser); Navigator.Navigate(new AccountView(CurrentUser)); } }