| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 | using PunkHPX8_Core;using MECF.Framework.Common.ControlDataContext;using MECF.Framework.Common.DataCenter;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using WPF.Themes.UserControls;using GlobalEvents = PunkHPX8_MainPages.Unity.GlobalEvents;namespace PunkHPX8_MainPages.Views{    /// <summary>    /// UserItemView.xaml 的交互逻辑    /// </summary>    public partial class UserItemView :Window    {        #region 内部变量        private UserItem _selectedUser;        #endregion        public UserItemView(UserItem selectedUser = null)        {            InitializeComponent();            if (selectedUser != null) _selectedUser = selectedUser;        }        /// <summary>        /// 窗口加载事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Window_Loaded(object sender, RoutedEventArgs e)        {            if (_selectedUser != null)            {                textBoxName.Text = _selectedUser.Name;                textBoxName.IsEnabled = false;                textBoxPassword.Text = _selectedUser.Password;                textBoxPassword.IsEnabled = false;                textBoxNotes.Text = _selectedUser.Notes;                textBoxConfirePassword.Text = _selectedUser.Password;                textBoxConfirePassword.IsEnabled = false;                comBoboxRole.SelectedIndex = (int)Enum.Parse(typeof(Role), _selectedUser.Role);                button2.Visibility = Visibility.Visible;                button1.Visibility = Visibility.Collapsed;                self.Title = "Edit User";            }            else            {                button1.Visibility = Visibility.Visible;                button2.Visibility = Visibility.Collapsed;            }            name_img.Visibility = Visibility.Collapsed;            cpwd_img.Visibility = Visibility.Collapsed;            pwd_img.Visibility = Visibility.Collapsed;        }        /// <summary>        /// 创建按钮        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private async void CreateButton_Click(object sender, RoutedEventArgs e)        {            PwdBox_LostFocus(null, null);            PwdBoxConfirm_LostFocus(null, null);            UserNameBox_LostFocus(null, null);            if (!string.IsNullOrEmpty(pwd1.Text) || !string.IsNullOrEmpty(pwd2.Text) || !string.IsNullOrEmpty(username.Text))            {                WPFMessageBox.ShowError("Please enter the correct user information!");                return;            }                                   var users = new ObservableCollection<UserItem>(QueryDataClient.Instance.Service.QueryAllUsers());            if (users.Where(x => x.Name == textBoxName.Text).FirstOrDefault() != null)            {                WPFMessageBox.ShowError("User Name exists");                return;            }            QueryDataClient.Instance.Service.InserUser(new UserItem() { Name = textBoxName.Text, Password = textBoxConfirePassword.Password, Role = (comBoboxRole.SelectedItem as ComboBoxItem).Content.ToString(), Notes = textBoxNotes.Text });            await Task.Delay(500);            GlobalEvents.Instance.OnUserViewUpdateEvent();            this.Close();        }        /// <summary>        /// Edit保存        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private async void SaveButton_Click(object sender, RoutedEventArgs e)        {            QueryDataClient.Instance.Service.EditUser(new UserItem() { Name = _selectedUser.Name, Password = _selectedUser.Password, Role = (comBoboxRole.SelectedItem as ComboBoxItem).Content.ToString(), Notes = textBoxNotes.Text });            await Task.Delay(500);            GlobalEvents.Instance.OnUserViewUpdateEvent();            this.Close();        }        /// <summary>        /// 密码输入格式提示        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void PwdBox_LostFocus(object sender, RoutedEventArgs e)        {            Regex regex = new Regex(@"^[a-zA-Z0-9_]{6,16}$");//6~16位字符            if (!regex.IsMatch(textBoxPassword.Password))            {                pwd1.Text = "Please enter a password of 6 ~ 16 characters, including letters, numbers, or underline!";                pwd_img.Visibility = Visibility.Visible;            }            else            {                pwd1.Text = "";                pwd_img.Visibility = Visibility.Collapsed;            }        }        /// <summary>        /// 二次密码确认提示        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void PwdBoxConfirm_LostFocus(object sender, RoutedEventArgs e)        {            if (textBoxConfirePassword.Password != textBoxPassword.Password)            {                pwd2.Text = "The password is not same!";                cpwd_img.Visibility = Visibility.Visible;            }            else            {                pwd2.Text = "";                cpwd_img.Visibility = Visibility.Collapsed;            }        }        /// <summary>        /// 用户名输入提示        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void UserNameBox_LostFocus(object sender, RoutedEventArgs e)        {            if (textBoxName.Text == "")            {                username.Text = "User name can not be empty!";                name_img.Visibility = Visibility.Visible;            }            else            {                username.Text = "";                name_img.Visibility = Visibility.Collapsed;            }        }    }}
 |