public ApplicationUser CreateUser(string username, SecureString password, bool isAdmin = false, bool isReadOnly = false) { string unsecuredPasswordString = password.ConvertToUnsecureString(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(unsecuredPasswordString)) return null; ApplicationUser user = new ApplicationUser(); using (var db = new TestcaseManagerDB()) { user.Username = username; string encryptedValue = cryptoService.Encrypt(unsecuredPasswordString); user.Password = encryptedValue; if(isReadOnly) user.IsReadOnly = true; if(isAdmin) user.IsAdmin = true; user.CreatedBy = AuthenticationManager.Instance().GetCurrentUsername; user.CreatedOn = DateTime.UtcNow; db.ApplicationUsers.Add(user); db.SaveChanges(); } return user; }
private void DeleteUser_Click(object sender, RoutedEventArgs e) { if(this.selectedUser != null) { UserManager manager = new UserManager(); manager.DeleteUser(this.selectedUser.UserId); this.users.Remove(selectedUser); this.AutoCompleteBox.RemoveItem(this.selectedUser.Username); this.selectedUser = null; this.ClearFields(); } }
private void EditUser_Click(object sender, RoutedEventArgs e) { string username = this.Username.Text; if(string.IsNullOrWhiteSpace(username) == false && this.selectedUser != null) { UserManager manager = new UserManager(); var updatedUser = manager.UpdateUser(this.selectedUser.UserId, username, this.Password.SecurePassword, this.IsAdminCheckBox.IsChecked.Value); this.users.Remove(selectedUser); this.users.Add(updatedUser); this.selectedUser = updatedUser; this.MessageLabel.Content = "User is successfuly updated."; this.MessageLabel.Foreground = new SolidColorBrush(Color.FromRgb(0, 204, 0)); this.ClearFields(); } }
private void SelectUser_Click(object sender, RoutedEventArgs e) { this.MessageLabel.Content = string.Empty; string username = this.AutoCompleteBox.Text; if (string.IsNullOrWhiteSpace(username) == false) { if (this.users.Any(user => user.Username.Equals(username))) { selectedUser = this.users.Where(user => user.Username.Equals(username)).First(); this.Username.Text = selectedUser.Username; this.IsAdminCheckBox.IsChecked = selectedUser.IsAdmin; } } }