From c401a2f2fd1a509cdeb33e850bb5c2827074af48 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 17 三月 2025 08:44:51 +0800
Subject: [PATCH] 完善框架,新增两个close方法;

---
 HMI.MenuManage/Modal/UserModal.xaml.cs |   89 +++++++++++++-------------------------------
 1 files changed, 27 insertions(+), 62 deletions(-)

diff --git a/HMI.MenuManage/Modal/UserModal.xaml.cs b/HMI.MenuManage/Modal/UserModal.xaml.cs
index 04cef20..d88c6c6 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,57 +70,30 @@
             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 ValidateForm()
+        {
+            bool flag = FormGroupHelper.ValidateForm(formPanel);
+            if (flag)
+            {
+                Data.Username = TbUsername.Text;
+                Data.Name = TbName.Text;
+                Data.Password = TbPassword.Text;
+            }
+
+            return flag;
         }
 
         public bool? Open(UserData data)
@@ -160,8 +127,6 @@
                 ('{data.Username}','{data.Password}','{data.Name}');";
             UserRoleRelHelper.SaveUserRoleRel(sqliteHelper, Roles, data, sql, null);
         }
-
-
 
         public void UpdateData(UserData data)
         {

--
Gitblit v1.9.1