123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using CyberX8_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 = CyberX8_MainPages.Unity.GlobalEvents;
- namespace CyberX8_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;
- }
- }
- }
- }
|