#region using System.Collections.Generic; using System.Data; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Interfaces; using CSFrameworkV5.Interfaces.InterfaceModels; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.DataAccess { public class dalPermission : dalBaseDataDict, IBridge_Permission { public dalPermission(Loginer loginer) : base(loginer) { _Database = DatabaseProvider.SystemDatabase; } public int DeleteAllMenu() { var i = _Database.ExecuteSQL("DELETE FROM tb_MyMenu;"); return i; } public DataTable GetActionData() { return new dalActions(_Loginer).GetActionData(); } public DataTable GetChildUser(string account) { var sp = _Database.CreateSqlProc("usp_GetChildUser"); sp.AddParam("Account", DbType.String, account); return _Database.GetTable(sp.Command, tb_MyUser.__TableName); } public List GetDataPermissionConfig(string account) { var cmd = _Database.CreateSqlProc("usp_GetDataPermissionConfigByUser"); cmd.AddParam("DataSetID", Loginer.CurrentUser.DBID); cmd.AddParam("Account", account); return _Database .ExecuteReaderList(cmd.Command); } public DataTable GetDataPermissionConfigByGroup(string groupCode) { var cmd = _Database.CreateSqlProc("usp_GetDataPermissionConfigByGroup"); cmd.AddParam("DataSetID", Loginer.CurrentUser.DBID); cmd.AddParam("GroupCode", groupCode); return _Database.GetTable(cmd.Command, "sys_DataPermission"); } public DataTable GetDataPermissionConfigByUser(string account) { var cmd = _Database.CreateSqlProc("usp_GetDataPermissionConfigByUser"); cmd.AddParam("DataSetID", Loginer.CurrentUser.DBID); cmd.AddParam("Account", account); return _Database.GetTable(cmd.Command, "sys_DataPermission"); } /// /// 获取自定义按钮名称 /// /// public DataTable GetFormTagCustomName() { var sql = $"SELECT * FROM tb_MyFormTagName WHERE DataSetID={_Database.ParamSymboName}DataSetID"; var sp = _Database.CreateCommand(sql); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); return _Database.GetTable(sp.Command, tb_MyFormTagName.__TableName); } public DataTable GetFormTagName() { var sql = $"SELECT * FROM tb_MyFormTagName WHERE DataSetID={_Database.ParamSymboName}DataSetID"; var sp = _Database.CreateCommand(sql); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); return _Database.GetTable(sp.Command, tb_MyFormTagName.__TableName); } public DataTable GetGridPermission(string userID) { var sql = $"SELECT * FROM sys_GridPermission WHERE UserId={_Database.ParamSymboName}UserId"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("UserId", userID); return _Database.GetTable(cmd.Command, "sys_GridPermission"); } public string GetGridPermissionById(string userID, string viewId) { var sql = $"SELECT HiddenColumns FROM sys_GridPermission WHERE UserId={_Database.ParamSymboName}UserId AND GridId={_Database.ParamSymboName}GridId"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("UserId", userID); cmd.AddParam("GridId", viewId); var o = _Database.ExecuteScalar(cmd.Command); return ConvertEx.ToString(o); } public DataTable GetLookupMenu() { var sql = $"SELECT MenuName,MenuCaption FROM tb_MyMenu WHERE DataSetID={_Database.ParamSymboName}DataSetID ORDER BY ParentMenuName,MenuName"; var sp = _Database.CreateCommand(sql); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); return _Database.GetTable(sp.Command, tb_MyMenu.__TableName); } public DataTable GetMenuByUser(string account, string dataSetID) { var sp = _Database.CreateSqlProc("usp_GetMenuByUser"); sp.AddParam("DataSetID", DbType.String, dataSetID); sp.AddParam("Account", DbType.String, account); return _Database.GetTable(sp.Command, tb_MyMenu.__TableName); } public DataTable GetMenuData() { return new dalMenu(_Loginer).GetSummaryData(); } public DataTable GetMenuPicker() { return new dalMenu(_Loginer).GetMenuPicker(); } public DataTable GetModuleData() { var sql = "SELECT * FROM sys_ModuleFileList"; return DatabaseProvider.GetDatabase(_Loginer.DBID) .GetTable(sql, "sys_ModuleFileList"); } public DataSet GetOwnersByMenu(string menuID) { var sp = _Database.CreateSqlProc("usp_GetOwnersByMenu"); sp.AddParam("MenuName", DbType.String, menuID); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); var ds = _Database.GetDataSet(sp.Command); ds.Tables[0].TableName = tb_MyRole.__TableName; ds.Tables[1].TableName = tb_MyGroup.__TableName; ds.Tables[2].TableName = tb_MyUser.__TableName; return ds; } public DataTable GetRoleAction(string roleID) { return new dalRole(_Loginer).GetRoleAction(roleID); } public DataTable GetRoleData() { return new dalRole(_Loginer).GetRoleData(); } public DataSet GetRoleOwners(string roleID) { return new dalRole(_Loginer).GetRoleOwners(roleID); } public int GetUserActions(string account, string menuName) { return new dalUser(_Loginer).GetUserActions(account, menuName); } public DataTable GetUserActionsList(string account) { return new dalUser(_Loginer).GetUserActionsList(account); } public bool Init() { var sp = _Database.CreateSqlProc("usp_InitPermission"); var i = _Database.ExecuteCommand(sp.Command); return true; } public bool IsExistsAction(int actionValue) { return new dalActions(_Loginer).IsExistsAction(actionValue); } public bool IsExistsModule(int moduleID) { var sql = "SELECT COUNT(*) FROM sys_ModuleFileList WHERE ModuleID=" + moduleID.ToStringEx(); var o = DatabaseProvider.GetDatabase(_Loginer.DBID) .ExecuteScalar(sql); return ConvertEx.ToInt(o) > 0; } public bool IsExistsRole(string roleID) { return new dalRole(_Loginer).IsExistsRole(roleID); } public bool IsOwner(string docUser, string leader) { var sp = _Database.CreateSqlProc("usp_IsOwner"); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); sp.AddParam("DocUser", DbType.String, docUser); sp.AddParam("Leader", DbType.String, leader); var dt = _Database.GetTable(sp.Command); return dt.Rows.Count > 0; } public bool IsUserBelongRole(string user, string roleID) { var sp = _Database.CreateSqlProc("usp_IsUserBelongRole"); sp.AddParam("DataSetID", DbType.String, _Loginer.DBID); sp.AddParam("Account", DbType.String, user); sp.AddParam("RoleID", DbType.String, roleID); var dt = _Database.GetTable(sp.Command); return dt.Rows.Count > 0; } public DataTable Query(string roleType, string content) { var sp = _Database.CreateSqlProc("usp_QueryRole"); sp.AddParam("RoleType", DbType.String, roleType); sp.AddParam("Content", DbType.String, content); var dt = _Database.GetTable(sp.Command, "tb_MyRole"); return dt; } public bool SaveDataPermission(DataTable data) { var ds = new DataSet(); ds.Tables.Add(data.Copy()); return new dalBaseDataDict(Loginer.CurrentUser, typeof(sys_DataPermission), Globals.DEF_SYSTEM_DBID) .Update(ds); } public bool SaveGridPermission(DataTable data) { var ds = new DataSet(); ds.Tables.Add(data.Copy()); return new dalBaseDataDict(Loginer.CurrentUser, typeof(sys_GridPermission), Globals.DEF_SYSTEM_DBID) .Update(ds); } } }