/// <summary> /// 按操作权限获取列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">目标表</param> /// <param name="permissionCode">操作权限</param> /// <returns>数据表</returns> public DataTable GetDataTableByPermission(BaseUserInfo userInfo, string tableName, string permissionCode = "Resource.ManagePermission") { DataTable result = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); // 管理员取得所有数据 if (BaseUserManager.IsAdministrator(userInfo.Id)) { result = itemDetailsManager.GetDataTable( new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldDeleted, 0) , BaseDictionaryItemEntity.FieldSortCode); } else { // 管理时需要把所有的数据显示出来,所以无效的数据也需要显示的 // , new KeyValuePair<string, object>(BaseDictionaryItemEntity.FieldEnabled, 1) // 按数据权限来过滤数据 var permissionScopeManager = new BasePermissionScopeManager(dbHelper, userInfo); var ids = permissionScopeManager.GetResourceScopeIds(userInfo.SystemCode, userInfo.Id, tableName, permissionCode); result = itemDetailsManager.GetDataTable(ids); } result.TableName = tableName; }); return(result); }
/// <summary> /// 获取系统编号清单 /// </summary> /// <returns>系统编号清单</returns> public static List <BaseDictionaryItemEntity> GetSystemCodes() { var result = new List <BaseDictionaryItemEntity>(); result = new BaseDictionaryItemManager().GetDataTableByDictionaryCode("BaseSystem").ToList <BaseDictionaryItemEntity>(); return(result); }
/// <summary> /// 批量保存更新 /// </summary> /// <param name="userInfo">用户</param> /// <param name="dt">数据表</param> /// <returns>影响行数</returns> public int BatchSave(BaseUserInfo userInfo, DataTable dt) { var result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, dt.TableName); result = itemDetailsManager.BatchSave(dt); }); return(result); }
/// <summary> /// 批量重新生成排序码 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">表名</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int BatchSetSortCode(BaseUserInfo userInfo, string tableName, string[] ids) { var result = 0; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); result = itemDetailsManager.BatchSetSortCode(ids); }); return(result); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">表名</param> /// <param name="id">主键</param> /// <returns>数据表</returns> public BaseDictionaryItemEntity GetEntity(BaseUserInfo userInfo, string tableName, string id) { var dt = new DataTable(BaseDictionaryItemEntity.CurrentTableName); BaseDictionaryItemEntity entity = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); entity = itemDetailsManager.GetEntity(id); }); return(entity); }
/// <summary> /// 绑定下拉列表 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="dropDownList">下拉列表</param> /// <param name="dictionaryCode">字典编码</param> /// <param name="addEmptyItem">是否增加空行</param> public static void BindDictionary(BaseUserInfo userInfo, DropDownList dropDownList, string dictionaryCode, bool addEmptyItem = true) { dropDownList.Items.Clear(); var dt = new BaseDictionaryItemManager(userInfo).GetDataTableByDictionaryCode(dictionaryCode); if (dt != null && dt.Rows.Count > 0) { dropDownList.DataValueField = BaseDictionaryItemEntity.FieldItemValue; dropDownList.DataTextField = BaseDictionaryItemEntity.FieldItemName; dt.DefaultView.Sort = BaseDictionaryItemEntity.FieldSortCode; dropDownList.DataSource = dt.DefaultView; dropDownList.DataBind(); } if (addEmptyItem) { dropDownList.Items.Insert(0, new ListItem()); } }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">表名</param> /// <param name="code">编码</param> /// <returns>数据表</returns> public BaseDictionaryItemEntity GetEntityByCode(BaseUserInfo userInfo, string tableName, string code) { var itemDetailsEntity = new BaseDictionaryItemEntity(); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); var dt = itemDetailsManager.GetDataTable(new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldItemKey, code), BaseDictionaryItemEntity.FieldSortCode); if ((dt != null) && (dt.Rows.Count > 0)) { itemDetailsEntity = (BaseDictionaryItemEntity)itemDetailsEntity.GetFrom(dt.Rows[0]); } }); return(itemDetailsEntity); }
/// <summary> /// 获取列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">目标表</param> /// <returns>列表</returns> public List <BaseDictionaryItemEntity> GetList(BaseUserInfo userInfo, string tableName) { var entityList = new List <BaseDictionaryItemEntity>(); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); entityList = itemDetailsManager.GetList <BaseDictionaryItemEntity>( new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldDeleted, 0) , BaseDictionaryItemEntity.FieldSortCode); // 管理时需要把所有的数据显示出来,所以无效的数据也需要显示的 // , new KeyValuePair<string, object>(BaseDictionaryItemEntity.FieldEnabled, 1) }); return(entityList); }
/// <summary> /// 获取列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">目标表</param> /// <returns>数据表</returns> public DataTable GetDataTable(BaseUserInfo userInfo, string tableName) { var dt = new DataTable(tableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); // 若是系统管理员,那就返回全部数据 dt = itemDetailsManager.GetDataTable(0, BaseDictionaryItemEntity.FieldSortCode); dt.TableName = tableName; // 管理时需要把所有的数据显示出来,所以无效的数据也需要显示的 // , new KeyValuePair<string, object>(BaseDictionaryItemEntity.FieldEnabled, 1) // 管理时需要把被删除的也需要都显示出来,还能恢复数据才可以 // new KeyValuePair<string, object>(BaseDictionaryItemEntity.FieldDeleted, 0) }); return(dt); }
/// <summary> /// 更新实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">表名</param> /// <param name="entity">实体</param> /// <param name="status">状态</param> /// <param name="statusMessage">返回状态信息</param> /// <returns>数据表</returns> public int Update(BaseUserInfo userInfo, string tableName, BaseDictionaryItemEntity entity, out Status status, out string statusMessage) { var result = 0; var returnCode = Status.Ok; var returnMessage = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); // 编辑数据 result = itemDetailsManager.Update(entity); returnMessage = itemDetailsManager.GetStateMessage(returnCode); }); status = returnCode; statusMessage = returnMessage; return(result); }
/// <summary> /// 获取子列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="tableName">目标表</param> /// <param name="parentId">父级主键</param> /// <returns>数据表</returns> public DataTable GetDataTableByParent(BaseUserInfo userInfo, string tableName, string parentId) { var dt = new DataTable(tableName); var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo, tableName); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldParentId, parentId), new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldDeleted, 0) }; dt = itemDetailsManager.GetDataTable(parameters, 0, BaseDictionaryItemEntity.FieldSortCode); // result = itemDetailsManager.GetDataTableByParent(parentId); dt.TableName = tableName; }); return(dt); }
/// <summary> /// GetListByCode /// </summary> /// <param name="dbHelper"></param> /// <param name="userInfo"></param> /// <param name="code"></param> /// <returns></returns> public List <BaseDictionaryItemEntity> GetListByCode(IDbHelper dbHelper, BaseUserInfo userInfo, string code) { List <BaseDictionaryItemEntity> result = null; // 检查有其他目标数据库表存储了数据 var itemsManager = new BaseDictionaryManager(dbHelper, userInfo); var itemsEntity = BaseEntity.Create <BaseDictionaryEntity>(itemsManager.GetDataTable(new KeyValuePair <string, object>(BaseDictionaryEntity.FieldCode, code))); if (itemsEntity != null) { var itemDetailsManager = new BaseDictionaryItemManager(dbHelper, userInfo); // 这里只要有效的,没被删除的 var parameters = new List <KeyValuePair <string, object> > { // 管理的时候无效的也需要被管理 new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldDictionaryId, itemsEntity.Id), new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldEnabled, 1), new KeyValuePair <string, object>(BaseDictionaryItemEntity.FieldDeleted, 0) }; result = itemDetailsManager.GetList <BaseDictionaryItemEntity>(parameters, BaseDictionaryItemEntity.FieldSortCode); } return(result); }
/// <summary> /// 绑定字典到复选框列表 /// </summary> /// <param name="userInfo">用户信息</param> /// <param name="checkBoxList">复选框列表</param> /// <param name="dictionaryCode">字典编码</param> /// <param name="checkAll">选中全部</param> /// <param name="itemStyle">样式</param> public static void BindDictionary(BaseUserInfo userInfo, CheckBoxList checkBoxList, string dictionaryCode, bool checkAll = false, bool itemStyle = false) { checkBoxList.Items.Clear(); var dt = new BaseDictionaryItemManager(userInfo).GetDataTableByDictionaryCode(dictionaryCode); if (dt != null && dt.Rows.Count > 0) { checkBoxList.DataValueField = BaseDictionaryItemEntity.FieldItemValue; checkBoxList.DataTextField = BaseDictionaryItemEntity.FieldItemName; dt.DefaultView.Sort = BaseDictionaryItemEntity.FieldSortCode; checkBoxList.DataSource = dt.DefaultView; checkBoxList.DataBind(); if (checkAll) { for (var i = 0; i < checkBoxList.Items.Count; i++) { checkBoxList.Items[i].Selected = true; if (itemStyle) { checkBoxList.Items[i].Attributes.Add("style", "padding-right:10px"); } } } } }