From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.MenuManage/Util/RoleHelper.cs |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/HMI.MenuManage/Util/RoleHelper.cs b/HMI.MenuManage/Util/RoleHelper.cs
new file mode 100644
index 0000000..66145cc
--- /dev/null
+++ b/HMI.MenuManage/Util/RoleHelper.cs
@@ -0,0 +1,71 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Markup;
+using DatabaseHelper;
+using HMI.Core.Util;
+using HMI.MenuManage.Entity;
+
+namespace HMI.MenuManage.Util
+{
+    public class RoleHelper
+    {
+        /// <summary>
+        /// 鏍规嵁roleCode鑾峰彇rel鏁版嵁
+        /// </summary>
+        /// <param name="sqliteHelper"></param>
+        /// <param name="roleCode"></param>
+        /// <returns></returns>
+        public static ObservableCollection<RoleData> SelectUserRoleData(SqliteHelper sqliteHelper,
+            string roleCode)
+        {
+            ObservableCollection<RoleData> datas = new ObservableCollection<RoleData>();
+            DataTable dt = sqliteHelper.GetDataTable($@"SELECT * FROM role AS r ;");
+            if (dt != null)
+            {
+                foreach (DataRow dr in dt.Rows)
+                {
+                    var role = new RoleData
+                    {
+                        Id = dr["id"].ToString(),
+                        Code = dr["code"].ToString(),
+                        Name = dr["name"].ToString()
+                    };
+                    datas.Add(role);
+                }
+            }
+            return datas;
+        }
+
+        public static void SaveRelData(SqliteHelper sqliteHelper, ObservableCollection<RoleMenuRel> rels, string roleCode)
+        {
+            List<RoleMenuRel> datas = new List<RoleMenuRel>();
+            GetSelectedMenu(rels, datas);
+            List<string> sqls = new List<string>() {
+                $"DELETE FROM role_menu_rel WHERE roleCode='{roleCode}'"
+            };
+            foreach (var data in datas)
+            {
+                sqls.Add($"INSERT INTO role_menu_rel (roleCode,menuCode) VALUES ('{roleCode}','{data.MenuCode}');");
+            }
+            sqliteHelper.ExecuteBatchSql(sqls);
+        }
+
+        public static void GetSelectedMenu(IEnumerable<RoleMenuRel> rels, List<RoleMenuRel> datas)
+        {
+            foreach (var dr in rels)
+            {
+                if (dr.Selected)
+                {
+                    datas.Add(dr);
+                }
+                GetSelectedMenu(dr.Children, datas);
+            }
+        }
+
+    }
+}

--
Gitblit v1.9.1