using NEIntelligentControl2.Models; using NEIntelligentControl2.Models.Pages; using NEIntelligentControl2.Models.User; using NEIntelligentControl2.Service.User; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace NEIntelligentControl2.Pages.User { /// /// 用户编辑页面 /// public partial class PageUserEdit : Page, IPageMessage { private UserInfo userInfo; /// /// 用户信息 /// public UserInfo UserInfo { get => userInfo ?? (userInfo = new UserInfo()); set => userInfo = value; } /// /// 是否是编辑模式 /// private bool _IsEdit; private UserManager _UserManager; private int _FingerIndex = 0; public PageUserEdit(UserManager um) { InitializeComponent(); _UserManager = um; Init(); } private void Init() { _CBMain.ItemsSource = new string[] { "选择指纹", "指纹1", "指纹2", "指纹3", "指纹4", "指纹5", "指纹6", "指纹7", "指纹8", "指纹9", "指纹10" }; _CBMain.SelectedIndex = 0; _gd.DataContext = this.UserInfo; } public Action OnMessage { get; set; } private void Button_Click(object sender, RoutedEventArgs e) { switch (((Control)sender).Tag) { case "submit":// 提交 Submit(); break; default:return; } } /// /// 提交 /// private void Submit() { _TBTitle.Text = ""; if (string.IsNullOrWhiteSpace(_TBPassword.Password) || string.IsNullOrWhiteSpace(_TBUserName.Text)) { _TBTitle.Text = "用户名或密码不能为空!"; return; } this.UserInfo.Password = _TBPassword.Password; string message = ""; if (_IsEdit) { message = _UserManager.UpdateUser(this.UserInfo); } else { message = _UserManager.RegisterUser(this.UserInfo); } if (message=="success") { OnMessage?.Invoke(message); } else { _TBTitle.Text = message; } } /// /// 编辑用户 /// internal void EditUser(UserInfo user) { UserInfo = user; _IsEdit = true; _TBUserName.Text = user.UserName; _TBUserName.IsReadOnly = true; _TBName.Text = user.Name; _Phone.Text = user.Telephone; _TBPageTitle.Text = "用户编辑"; _gd.DataContext = this.UserInfo; } private void _CBMain_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (_CBMain.SelectedIndex <= 0) return; _fi1.IsActive = true; _FingerIndex = 0; } private void InitFingerPoint(byte[] fs) { int index = _CBMain.SelectedIndex; if (index <= 0) return; var pt = UserInfo.GetType().GetProperty($"Finger{index}"); if (pt == null) return; pt.SetValue(this.UserInfo, Convert.ToBase64String(fs)); } private void CapturedPicture(Bitmap obj) { Dispatcher.Invoke(() => { switch (_FingerIndex) { case 0: _fi1.ShowImage(obj.GetBitmapImage()); _fi2.IsActive = true; break; case 1: _fi2.ShowImage(obj.GetBitmapImage()); _fi3.IsActive = true; break; case 2: _fi3.ShowImage(obj.GetBitmapImage()); break; default: _FingerIndex = 0; return; } ++_FingerIndex; }); } } }