From 99df058a665ea04065a23e729ec79a2f23f79881 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 20 五月 2025 16:59:43 +0800
Subject: [PATCH] 优化

---
 HMI.MenuManage/Modal/UserModal.xaml.cs |  110 ++++++++++++++++++++++--------------------------------
 1 files changed, 45 insertions(+), 65 deletions(-)

diff --git a/HMI.MenuManage/Modal/UserModal.xaml.cs b/HMI.MenuManage/Modal/UserModal.xaml.cs
index 04cef20..749b2a1 100644
--- a/HMI.MenuManage/Modal/UserModal.xaml.cs
+++ b/HMI.MenuManage/Modal/UserModal.xaml.cs
@@ -1,18 +1,12 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel;
-using System.Linq;
-using System.Reflection;
-using System.Windows;
-using Microsoft.Win32;
-using Panuon.WPF.UI;
-using HMI.Core.Annotation;
-using HMI.Core.Entity;
-using HMI.Core.Exceptions;
-using HMI.Core.Util;
+锘縰sing HMI.Core.Util;
 using HMI.MenuManage.Entity;
 using HMI.MenuManage.Util;
+using HMI.UI.DpUtil;
+using HMI.UI.Util;
+using Panuon.WPF.UI;
+using System;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
 
 namespace HMI.MenuManage
 {
@@ -63,7 +57,7 @@
                 }
                 catch (Exception ex)
                 {
-                    Panuon.WPF.UI.Toast.Show(this, "Error锛�", ToastPosition.Top);
+                    ToastHelper.Error(this, $"Error锛亄ex.Message}");
                     e.Cancel = true;
                     return;
                 }
@@ -76,62 +70,50 @@
             base.OnClosing(e);
         }
 
-        private bool ValidateForm()
+        private bool ValidateUsername(object value, out string err)
         {
-            try
+            err = null;
+            string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'";
+            string sql = $"SELECT 1 FROM user WHERE username='{TbUsername.Text}'{segment};";
+            if (sqliteHelper.HasData(sql))
             {
-                FormValidateException ex = new FormValidateException();
-                string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'";
-                string sql = $"SELECT 1 FROM user WHERE username='{TbUsername.Text}'{segment};";
-                if (string.IsNullOrEmpty(TbUsername.Text))
-                {
-                    ex.Result.Add(new FormGroupValidateResult("璇疯緭鍏ヨ处鍙�", FgUsername));
-                }
-                else if (sqliteHelper.HasData(sql))
-                {
-                    ex.Result.Add(new FormGroupValidateResult("璐﹀彿涓嶈兘閲嶅", FgUsername));
-                }
-                else
-                {
-                    FgUsername.ValidateResult = ValidateResult.None;
-                    FgUsername.Message = null;
-                }
-
-                if (string.IsNullOrEmpty(TbName.Text))
-                {
-                    ex.Result.Add(new FormGroupValidateResult("璇疯緭鍏ョ敤鎴峰悕绉�", FgName));
-                }
-                else
-                {
-                    FgName.ValidateResult = ValidateResult.None;
-                    FgName.Message = null;
-                }
-
-                if (!ex.Success)
-                {
-                    throw ex;
-                }
-            }
-            catch (FormValidateException ex)
-            {
-                foreach (var data in ex.Result)
-                {
-                    var fg = (FormGroup)data.Sender;
-                    fg.ValidateResult = ValidateResult.Error;
-                    fg.Message = data.Message;
-                }
+                err = string.Format(LangUtil.Get("App.MustBeUnique"), LangUtil.Get("HMI.User.Account"));
                 return false;
             }
-
-            Data.Username = TbUsername.Text;
-            Data.Name = TbName.Text;
-            Data.Password = TbPassword.Text;
             return true;
+        }
+
+        private bool ValidateCode(object value, out string err)
+        {
+            err = null;
+            string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'";
+            string sql = $"SELECT 1 FROM user WHERE code='{TbCode.Text}'{segment};";
+            if (sqliteHelper.HasData(sql))
+            {
+                err = string.Format(LangUtil.Get("App.MustBeUnique"), LangUtil.Get("HMI.User.Code"));
+                return false;
+            }
+            return true;
+        }
+
+        private bool ValidateForm()
+        {
+            bool flag = FormGroupHelper.ValidateForm(formPanel);
+            if (flag)
+            {
+                Data.Code = TbCode.Text;
+                Data.Username = TbUsername.Text;
+                Data.Name = TbName.Text;
+                Data.Password = TbPassword.Text;
+            }
+
+            return flag;
         }
 
         public bool? Open(UserData data)
         {
             Data = data;
+            TbCode.Text = Data.Code;
             TbUsername.Text = Data.Username;
             TbName.Text = Data.Name;
             TbPassword.Text = Data.Password;
@@ -155,17 +137,15 @@
 
         public void InsertData(UserData data)
         {
-            string sql = $@"INSERT INTO user (username,password,name) 
+            string sql = $@"INSERT INTO user (code, username,password,name) 
                 VALUES
-                ('{data.Username}','{data.Password}','{data.Name}');";
+                ('{data.Code}', '{data.Username}','{data.Password}','{data.Name}');";
             UserRoleRelHelper.SaveUserRoleRel(sqliteHelper, Roles, data, sql, null);
         }
 
-
-
         public void UpdateData(UserData data)
         {
-            string sql = $@"UPDATE user SET username='{data.Username}',password='{data.Password}',name='{data.Name}' 
+            string sql = $@"UPDATE user SET code='{data.Code}', username='{data.Username}',password='{data.Password}',name='{data.Name}' 
 WHERE id='{data.Id}';";
             UserRoleRelHelper.SaveUserRoleRel(sqliteHelper, Roles, data, sql, null);
         }

--
Gitblit v1.9.1