diff --git a/LoginWindow.xaml.cs b/LoginWindow.xaml.cs
index aaea32b..ef35df7 100644
--- a/LoginWindow.xaml.cs
+++ b/LoginWindow.xaml.cs
@@ -33,7 +33,7 @@ namespace CeramicProjectTool
dbUserNameBox.Text = dbConfig["dbUserName"];
dbPwdBox.Password = dbConfig["dbUserPwd"];
DBHelper.SetConnStr(dbConfig);
- DBHelper.Init();
+ DBHelper.NewDB();
}
@@ -105,7 +105,7 @@ namespace CeramicProjectTool
if (saveResult)
{
DBHelper.SetConnStr(dbConfig);
- DBHelper.Init();
+ DBHelper.NewDB();
MessageBox.Show("保存成功!");
}
else
diff --git a/Model/PermissonModel.cs b/Model/PermissonModel.cs
index e517001..ea4950b 100644
--- a/Model/PermissonModel.cs
+++ b/Model/PermissonModel.cs
@@ -18,7 +18,7 @@ namespace CeramicProjectTool.Model
* dbo.nr_z_quanxian.gnid,
* dbo.nr_z_yhjs.mingcheng*/
//Id
- [SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
+ [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
[SugarColumn(ColumnName = "mokuan")]
public string ModuleName { get; set; }
diff --git a/Pages/ModelConfigPage.xaml b/Pages/ModelConfigPage.xaml
index 0f2263b..e49cbdc 100644
--- a/Pages/ModelConfigPage.xaml
+++ b/Pages/ModelConfigPage.xaml
@@ -76,7 +76,11 @@
-
+
+
+
+
+
@@ -90,7 +94,7 @@
-
+
diff --git a/Pages/ModelConfigPage.xaml.cs b/Pages/ModelConfigPage.xaml.cs
index d73060a..f8f3790 100644
--- a/Pages/ModelConfigPage.xaml.cs
+++ b/Pages/ModelConfigPage.xaml.cs
@@ -42,18 +42,7 @@ namespace CeramicProjectTool.Pages
var datas = ((ListView)sender).ItemsSource as List;
var selectedIndex = ((ListView)sender).SelectedIndex;
var mkModel = datas?[selectedIndex == -1 ? 0 : selectedIndex];
- if (mkModel != null)
- {
- configViewModel.SetSelectMKModel(mkModel);
- var permissonList = await configViewModel.GetPermissons(mkModel.ModuleName);
- if (permissonList != null)
- {
- permissonData.Dispatcher.Invoke(() =>
- {
- permissonData.ItemsSource = permissonList;
- });
- }
- }
+ LoadModuleData(mkModel);
}
@@ -70,6 +59,26 @@ namespace CeramicProjectTool.Pages
});
}
+ private async void LoadModuleData(ModuleModel mkModel)
+ {
+ if (mkModel == null)
+ {
+ mkModel = configViewModel.SelectedModule;
+ }
+
+ if (mkModel != null)
+ {
+ configViewModel.SetSelectMKModel(mkModel);
+ var permissonList = await configViewModel.GetPermissons(mkModel.ModuleName);
+ if (permissonList != null)
+ {
+ permissonData.Dispatcher.Invoke(() =>
+ {
+ permissonData.ItemsSource = permissonList;
+ });
+ }
+ }
+ }
private async void SaveBtn_Click(object sender, RoutedEventArgs e)
{
var module = configViewModel.SelectedModule;
@@ -87,6 +96,33 @@ namespace CeramicProjectTool.Pages
}
+ private async void addPermissonBtn_Click(object sender, RoutedEventArgs e)
+ {
+ var addedPermissons = new List();
+ var permissonList = permissonData.ItemsSource as List;
+ addedPermissons = permissonList?.Where(i => i.Id == 0).ToList();
+ if (addedPermissons == null)
+ {
+ return;
+ }
+ await configViewModel.InsertPermissons(addedPermissons);
+ LoadModuleData(null);
+ }
+ private async void delPermissonBtn_Click(object sender, RoutedEventArgs e)
+ {
+ var selectedItems = permissonData.SelectedItems;
+ var permissonList = permissonData.ItemsSource as List;
+ var permissonIds = selectedItems.Cast().Select(x => x.Id).ToList();
+ await configViewModel.DeletePermissons(permissonIds);
+ LoadModuleData(null);
+
+ }
+
+ private void ResetBtn_Click(object sender, RoutedEventArgs e)
+ {
+ LoadModuleData(null);
+
+ }
}
}
diff --git a/Util/DBHelper.Rule.cs b/Util/DBHelper.Rule.cs
index 1568abc..50747cd 100644
--- a/Util/DBHelper.Rule.cs
+++ b/Util/DBHelper.Rule.cs
@@ -23,7 +23,7 @@ namespace CeramicProjectTool.Util
left join nr_sys_gn b on a.gnid = b.id
left join nr_z_yhjs c on a.jsid = c.id
*/
- var result = await _db.Queryable((rp, p, r)
+ var result = await Db.Queryable((rp, p, r)
=> new JoinQueryInfos(
JoinType.Left, rp.FeatureId == p.Id,
JoinType.Left, rp.RuleId == r.Id))
diff --git a/Util/DBHelper.Service.cs b/Util/DBHelper.Service.cs
index bd5e59d..150274d 100644
--- a/Util/DBHelper.Service.cs
+++ b/Util/DBHelper.Service.cs
@@ -12,7 +12,7 @@ namespace CeramicProjectTool.Util
public static bool Login(string userName, string pwd)
{
var sql = $"select top 1 1 from nr_z_yhzh where zhanghao=@userName and mima=@pwd";
- var result = _db.Ado.GetInt(sql, new { userName, pwd });
+ var result = Db.Ado.GetInt(sql, new { userName, pwd });
if (result >= 1)
{
return true;
@@ -25,45 +25,46 @@ namespace CeramicProjectTool.Util
public static async Task> GetModuleList()
{
- var result = await _db.Queryable().ToListAsync();
+ var result = await Db.Queryable().OrderBy(mt => mt.ModuleName).ToListAsync();
return result;
}
public static async Task Getodule(int id)
{
- var result = await _db.Queryable().Where(i => i.Id == id).FirstAsync();
+ var result = await Db.Queryable().Where(i => i.Id == id).FirstAsync();
return result;
}
public static async Task UpdateModule(ModuleModel module)
{
- await _db.Updateable(module).ExecuteCommandAsync();
+ await Db.Updateable(module).ExecuteCommandAsync();
}
public static async Task> GetPermissons()
{
- var result = await _db.Queryable().ToListAsync();
+ var result = await Db.Queryable().ToListAsync();
return result;
}
public static async Task> GetPermissonsByModule(string moduleName)
{
- var result = await _db.Queryable().Where(x => x.ModuleName.Contains(moduleName)).ToListAsync();
+ var result = await Db.Queryable().Where(x => x.ModuleName.Contains(moduleName)).ToListAsync();
return result;
}
public static async Task UpdatePermissons(List permissons)
{
var ids = permissons.Select(x => x.Id).ToList();
+ var db = Db;
try
{
- _db.BeginTran();
+ db.BeginTran();
//await _db.Deleteable().Where(x => !ids.Contains(x.Id)).ExecuteCommandAsync();
- await _db.Updateable(permissons).ExecuteCommandAsync();
- _db.CommitTran();
+ await db.Updateable(permissons).ExecuteCommandAsync();
+ db.CommitTran();
}
catch (Exception)
{
- _db.RollbackTran();
+ db.RollbackTran();
throw;
}
@@ -72,7 +73,7 @@ namespace CeramicProjectTool.Util
public static async Task> GetRules()
{
- var result = await _db.Queryable().ToListAsync();
+ var result = await Db.Queryable().ToListAsync();
return result;
}
}
diff --git a/Util/DBHelper.cs b/Util/DBHelper.cs
index 01cf4ba..23d294e 100644
--- a/Util/DBHelper.cs
+++ b/Util/DBHelper.cs
@@ -9,32 +9,27 @@ namespace CeramicProjectTool.Util
{
public static partial class DBHelper
{
- private static SqlSugar.SqlSugarClient _db;
+ private static SqlSugar.SqlSugarClient? _db;
public static SqlSugar.SqlSugarClient Db
{
get
{
- if (_db == null)
- {
- Init();
- }
+ NewDB();
return _db;
+
}
}
public static bool isInit = false;
- public static void Init()
+ public static void NewDB()
{
- if (_db == null)
+ _db = new SqlSugar.SqlSugarClient(new SqlSugar.ConnectionConfig()
{
- _db = new SqlSugar.SqlSugarClient(new SqlSugar.ConnectionConfig()
- {
- ConnectionString = connStr,
- DbType = SqlSugar.DbType.SqlServer,
- IsAutoCloseConnection = true,
- InitKeyType = SqlSugar.InitKeyType.Attribute
- });
- isInit = true;
- }
+ ConnectionString = connStr,
+ DbType = SqlSugar.DbType.SqlServer,
+ IsAutoCloseConnection = true,
+ InitKeyType = SqlSugar.InitKeyType.Attribute
+ });
+ isInit = true;
}
public static void SetConnStr(Dictionary dbConfig)
@@ -43,7 +38,7 @@ namespace CeramicProjectTool.Util
}
- public static string connStr = "";
+ private static string connStr = "";
}
}
diff --git a/ViewModel/MKConfigViewModel.cs b/ViewModel/MKConfigViewModel.cs
index bca5eef..c15d228 100644
--- a/ViewModel/MKConfigViewModel.cs
+++ b/ViewModel/MKConfigViewModel.cs
@@ -74,5 +74,37 @@ namespace CeramicProjectTool.ViewModel
{
await DBHelper.UpdatePermissons(permissons);
}
+
+ internal async Task InsertPermissons(List addedPermissons)
+ {
+ var _db = DBHelper.Db;
+ try
+ {
+ _db.Ado.BeginTran();
+ await _db.Insertable(addedPermissons).ExecuteCommandAsync();
+ _db.Ado.CommitTran();
+ }
+ catch (Exception)
+ {
+ _db.Ado.RollbackTran();
+ throw;
+ }
+ }
+
+ internal async Task DeletePermissons(List permissonIds)
+ {
+ var _db = DBHelper.Db;
+ try
+ {
+ _db.Ado.BeginTran();
+ await _db.Deleteable().Where(x => permissonIds.Contains(x.Id)).ExecuteCommandAsync();
+ _db.Ado.CommitTran();
+ }
+ catch (Exception)
+ {
+ _db.Ado.RollbackTran();
+ throw;
+ }
+ }
}
}