コード例 #1
0
        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;
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        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;
                }
            }
        }