This commit is contained in:
parent
81f6ac9523
commit
8994cb0164
|
@ -33,7 +33,7 @@ namespace CeramicProjectTool
|
||||||
dbUserNameBox.Text = dbConfig["dbUserName"];
|
dbUserNameBox.Text = dbConfig["dbUserName"];
|
||||||
dbPwdBox.Password = dbConfig["dbUserPwd"];
|
dbPwdBox.Password = dbConfig["dbUserPwd"];
|
||||||
DBHelper.SetConnStr(dbConfig);
|
DBHelper.SetConnStr(dbConfig);
|
||||||
DBHelper.Init();
|
DBHelper.NewDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ namespace CeramicProjectTool
|
||||||
if (saveResult)
|
if (saveResult)
|
||||||
{
|
{
|
||||||
DBHelper.SetConnStr(dbConfig);
|
DBHelper.SetConnStr(dbConfig);
|
||||||
DBHelper.Init();
|
DBHelper.NewDB();
|
||||||
MessageBox.Show("保存成功!");
|
MessageBox.Show("保存成功!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace CeramicProjectTool.Model
|
||||||
* dbo.nr_z_quanxian.gnid,
|
* dbo.nr_z_quanxian.gnid,
|
||||||
* dbo.nr_z_yhjs.mingcheng*/
|
* dbo.nr_z_yhjs.mingcheng*/
|
||||||
//Id
|
//Id
|
||||||
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
|
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
[SugarColumn(ColumnName = "mokuan")]
|
[SugarColumn(ColumnName = "mokuan")]
|
||||||
public string ModuleName { get; set; }
|
public string ModuleName { get; set; }
|
||||||
|
|
|
@ -76,7 +76,11 @@
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
<StackPanel Grid.Row="1" Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
|
<StackPanel Grid.Row="1" Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
|
||||||
<Button Margin="10,0,0,10" Content="增加权限项" Height="40" Width="100"/>
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||||
|
<Button Margin="10,0,0,10" Content="增加权限项" Height="40" Width="100" x:Name="addPermissonBtn" Click="addPermissonBtn_Click"/>
|
||||||
|
<Button Margin="10,0,0,10" Content="删除选中权限项" Height="40" Width="100" x:Name="delPermissonBtn" Click="delPermissonBtn_Click"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
<DataGrid Margin="10,0,0,0" x:Name="permissonData" AutoGenerateColumns="False" IsReadOnly="False">
|
<DataGrid Margin="10,0,0,0" x:Name="permissonData" AutoGenerateColumns="False" IsReadOnly="False">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="功能Id" Binding="{Binding Id}" IsReadOnly="True"/>
|
<DataGridTextColumn Header="功能Id" Binding="{Binding Id}" IsReadOnly="True"/>
|
||||||
|
@ -90,7 +94,7 @@
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
|
||||||
<Button x:Name="SaveBtn" Content="保存" Width="40" Margin="10" Click="SaveBtn_Click" />
|
<Button x:Name="SaveBtn" Content="保存" Width="40" Margin="10" Click="SaveBtn_Click" />
|
||||||
<Button x:Name="ResetBtn" Content="重置" Width="40" Margin="10" />
|
<Button x:Name="ResetBtn" Content="重置" Width="40" Margin="10" Click="ResetBtn_Click" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -42,18 +42,7 @@ namespace CeramicProjectTool.Pages
|
||||||
var datas = ((ListView)sender).ItemsSource as List<ModuleModel>;
|
var datas = ((ListView)sender).ItemsSource as List<ModuleModel>;
|
||||||
var selectedIndex = ((ListView)sender).SelectedIndex;
|
var selectedIndex = ((ListView)sender).SelectedIndex;
|
||||||
var mkModel = datas?[selectedIndex == -1 ? 0 : selectedIndex];
|
var mkModel = datas?[selectedIndex == -1 ? 0 : selectedIndex];
|
||||||
if (mkModel != null)
|
LoadModuleData(mkModel);
|
||||||
{
|
|
||||||
configViewModel.SetSelectMKModel(mkModel);
|
|
||||||
var permissonList = await configViewModel.GetPermissons(mkModel.ModuleName);
|
|
||||||
if (permissonList != null)
|
|
||||||
{
|
|
||||||
permissonData.Dispatcher.Invoke(() =>
|
|
||||||
{
|
|
||||||
permissonData.ItemsSource = permissonList;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
private async void SaveBtn_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
var module = configViewModel.SelectedModule;
|
var module = configViewModel.SelectedModule;
|
||||||
|
@ -87,6 +96,33 @@ namespace CeramicProjectTool.Pages
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void addPermissonBtn_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
var addedPermissons = new List<PermissonModel>();
|
||||||
|
var permissonList = permissonData.ItemsSource as List<PermissonModel>;
|
||||||
|
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<PermissonModel>;
|
||||||
|
var permissonIds = selectedItems.Cast<PermissonModel>().Select(x => x.Id).ToList();
|
||||||
|
await configViewModel.DeletePermissons(permissonIds);
|
||||||
|
LoadModuleData(null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ResetBtn_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
LoadModuleData(null);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace CeramicProjectTool.Util
|
||||||
left join nr_sys_gn b on a.gnid = b.id
|
left join nr_sys_gn b on a.gnid = b.id
|
||||||
left join nr_z_yhjs c on a.jsid = c.id
|
left join nr_z_yhjs c on a.jsid = c.id
|
||||||
*/
|
*/
|
||||||
var result = await _db.Queryable<RulePermissonModel, PermissonModel, RuleModel>((rp, p, r)
|
var result = await Db.Queryable<RulePermissonModel, PermissonModel, RuleModel>((rp, p, r)
|
||||||
=> new JoinQueryInfos(
|
=> new JoinQueryInfos(
|
||||||
JoinType.Left, rp.FeatureId == p.Id,
|
JoinType.Left, rp.FeatureId == p.Id,
|
||||||
JoinType.Left, rp.RuleId == r.Id))
|
JoinType.Left, rp.RuleId == r.Id))
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace CeramicProjectTool.Util
|
||||||
public static bool Login(string userName, string pwd)
|
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 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)
|
if (result >= 1)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -25,45 +25,46 @@ namespace CeramicProjectTool.Util
|
||||||
|
|
||||||
public static async Task<List<ModuleModel>> GetModuleList()
|
public static async Task<List<ModuleModel>> GetModuleList()
|
||||||
{
|
{
|
||||||
var result = await _db.Queryable<ModuleModel>().ToListAsync();
|
var result = await Db.Queryable<ModuleModel>().OrderBy(mt => mt.ModuleName).ToListAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<ModuleModel> Getodule(int id)
|
public static async Task<ModuleModel> Getodule(int id)
|
||||||
{
|
{
|
||||||
var result = await _db.Queryable<ModuleModel>().Where(i => i.Id == id).FirstAsync();
|
var result = await Db.Queryable<ModuleModel>().Where(i => i.Id == id).FirstAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task UpdateModule(ModuleModel module)
|
public static async Task UpdateModule(ModuleModel module)
|
||||||
{
|
{
|
||||||
await _db.Updateable<ModuleModel>(module).ExecuteCommandAsync();
|
await Db.Updateable<ModuleModel>(module).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<List<PermissonModel>> GetPermissons()
|
public static async Task<List<PermissonModel>> GetPermissons()
|
||||||
{
|
{
|
||||||
var result = await _db.Queryable<PermissonModel>().ToListAsync();
|
var result = await Db.Queryable<PermissonModel>().ToListAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
public static async Task<List<PermissonModel>> GetPermissonsByModule(string moduleName)
|
public static async Task<List<PermissonModel>> GetPermissonsByModule(string moduleName)
|
||||||
{
|
{
|
||||||
var result = await _db.Queryable<PermissonModel>().Where(x => x.ModuleName.Contains(moduleName)).ToListAsync();
|
var result = await Db.Queryable<PermissonModel>().Where(x => x.ModuleName.Contains(moduleName)).ToListAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task UpdatePermissons(List<PermissonModel> permissons)
|
public static async Task UpdatePermissons(List<PermissonModel> permissons)
|
||||||
{
|
{
|
||||||
var ids = permissons.Select(x => x.Id).ToList();
|
var ids = permissons.Select(x => x.Id).ToList();
|
||||||
|
var db = Db;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_db.BeginTran();
|
db.BeginTran();
|
||||||
//await _db.Deleteable<PermissonModel>().Where(x => !ids.Contains(x.Id)).ExecuteCommandAsync();
|
//await _db.Deleteable<PermissonModel>().Where(x => !ids.Contains(x.Id)).ExecuteCommandAsync();
|
||||||
await _db.Updateable(permissons).ExecuteCommandAsync();
|
await db.Updateable(permissons).ExecuteCommandAsync();
|
||||||
_db.CommitTran();
|
db.CommitTran();
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
_db.RollbackTran();
|
db.RollbackTran();
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +73,7 @@ namespace CeramicProjectTool.Util
|
||||||
|
|
||||||
public static async Task<List<RuleModel>> GetRules()
|
public static async Task<List<RuleModel>> GetRules()
|
||||||
{
|
{
|
||||||
var result = await _db.Queryable<RuleModel>().ToListAsync();
|
var result = await Db.Queryable<RuleModel>().ToListAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,22 +9,18 @@ namespace CeramicProjectTool.Util
|
||||||
{
|
{
|
||||||
public static partial class DBHelper
|
public static partial class DBHelper
|
||||||
{
|
{
|
||||||
private static SqlSugar.SqlSugarClient _db;
|
private static SqlSugar.SqlSugarClient? _db;
|
||||||
public static SqlSugar.SqlSugarClient Db
|
public static SqlSugar.SqlSugarClient Db
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_db == null)
|
NewDB();
|
||||||
{
|
|
||||||
Init();
|
|
||||||
}
|
|
||||||
return _db;
|
return _db;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static bool isInit = false;
|
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()
|
||||||
{
|
{
|
||||||
|
@ -35,7 +31,6 @@ namespace CeramicProjectTool.Util
|
||||||
});
|
});
|
||||||
isInit = true;
|
isInit = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetConnStr(Dictionary<string, string> dbConfig)
|
public static void SetConnStr(Dictionary<string, string> dbConfig)
|
||||||
{
|
{
|
||||||
|
@ -43,7 +38,7 @@ namespace CeramicProjectTool.Util
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static string connStr = "";
|
private static string connStr = "";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,5 +74,37 @@ namespace CeramicProjectTool.ViewModel
|
||||||
{
|
{
|
||||||
await DBHelper.UpdatePermissons(permissons);
|
await DBHelper.UpdatePermissons(permissons);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal async Task InsertPermissons(List<PermissonModel> 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<int> permissonIds)
|
||||||
|
{
|
||||||
|
var _db = DBHelper.Db;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_db.Ado.BeginTran();
|
||||||
|
await _db.Deleteable<PermissonModel>().Where(x => permissonIds.Contains(x.Id)).ExecuteCommandAsync();
|
||||||
|
_db.Ado.CommitTran();
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
_db.Ado.RollbackTran();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue