This commit is contained in:
parent
81f6ac9523
commit
8994cb0164
|
@ -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
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -76,7 +76,11 @@
|
|||
|
||||
</Grid>
|
||||
<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.Columns>
|
||||
<DataGridTextColumn Header="功能Id" Binding="{Binding Id}" IsReadOnly="True"/>
|
||||
|
@ -90,7 +94,7 @@
|
|||
</StackPanel>
|
||||
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<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>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
|
|
@ -42,18 +42,7 @@ namespace CeramicProjectTool.Pages
|
|||
var datas = ((ListView)sender).ItemsSource as List<ModuleModel>;
|
||||
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<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_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(
|
||||
JoinType.Left, rp.FeatureId == p.Id,
|
||||
JoinType.Left, rp.RuleId == r.Id))
|
||||
|
|
|
@ -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<List<ModuleModel>> GetModuleList()
|
||||
{
|
||||
var result = await _db.Queryable<ModuleModel>().ToListAsync();
|
||||
var result = await Db.Queryable<ModuleModel>().OrderBy(mt => mt.ModuleName).ToListAsync();
|
||||
return result;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
var result = await _db.Queryable<PermissonModel>().ToListAsync();
|
||||
var result = await Db.Queryable<PermissonModel>().ToListAsync();
|
||||
return result;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
public static async Task UpdatePermissons(List<PermissonModel> permissons)
|
||||
{
|
||||
var ids = permissons.Select(x => x.Id).ToList();
|
||||
var db = Db;
|
||||
try
|
||||
{
|
||||
_db.BeginTran();
|
||||
db.BeginTran();
|
||||
//await _db.Deleteable<PermissonModel>().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<List<RuleModel>> GetRules()
|
||||
{
|
||||
var result = await _db.Queryable<RuleModel>().ToListAsync();
|
||||
var result = await Db.Queryable<RuleModel>().ToListAsync();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,22 +9,18 @@ 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()
|
||||
{
|
||||
if (_db == null)
|
||||
public static void NewDB()
|
||||
{
|
||||
_db = new SqlSugar.SqlSugarClient(new SqlSugar.ConnectionConfig()
|
||||
{
|
||||
|
@ -35,7 +31,6 @@ namespace CeramicProjectTool.Util
|
|||
});
|
||||
isInit = true;
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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