/// <summary> /// 编辑模块权限 /// </summary> /// <param name="data"></param> /// <returns></returns> public Tuple <bool, string> UpdateActivityBoardPowerConfig(ActivityBoardPermissionConfig data) { var result = false; var msg = "参数为空"; try { if (data != null) { dbScopeManager.Execute(conn => { if (DALActivityBoardPower.SelectPowerConfigByUserEmail(conn, data.UserEmail, data.ModuleType) == null) { result = DALActivityBoardPower.InsertActivityBoardPowerConfig(conn, data) > 0; } else { result = DALActivityBoardPower.UpdateActivityBoardPowerConfig(conn, data) > 0; } }); } } catch (Exception ex) { msg = "操作异常"; logger.Log(Level.Error, ex, "UpdateActivityBoardPowerConfig"); } return(Tuple.Create(result, msg)); }
/// <summary> /// 根据用户账号和模块名称获取权限 /// </summary> /// <param name="userEmail"></param> /// <param name="type"></param> /// <returns></returns> public ActivityBoardPermissionConfig GetPowerConfigByUserEmail(string userEmail, ActivityBoardModuleType type) { ActivityBoardPermissionConfig result = null; try { result = dbScopeReadManager.Execute(conn => DALActivityBoardPower.SelectPowerConfigByUserEmail(conn, userEmail, type)); } catch (Exception ex) { logger.Log(Level.Error, ex, "GetPowerConfigByUserEmail"); } return(result); }
/// <summary> /// 删除模块权限 /// </summary> /// <param name="userEmail"></param> /// <returns></returns> public bool DeleteActivityBoardPowerConfig(string userEmail) { var result = false; try { result = dbScopeManager.Execute(conn => DALActivityBoardPower.DeleteActivityBoardPowerConfig(conn, userEmail)) > 0; } catch (Exception ex) { logger.Log(Level.Error, ex, "DeleteActivityBoardPowerConfig"); } return(result); }
/// <summary> /// 根据账户查询用户权限 /// </summary> /// <param name="userEmail"></param> /// <returns></returns> public List <ActivityBoardPermissionConfig> SelectPowerConfigByUserEmail(string userEmail) { List <ActivityBoardPermissionConfig> result = new List <ActivityBoardPermissionConfig>(); try { dbScopeReadManager.Execute(conn => { result = DALActivityBoardPower.SelectPowerConfigByUserEmail(conn, userEmail); }); } catch (Exception ex) { logger.Log(Level.Error, ex, "SelectPowerConfigByUserEmail"); } return(result); }
/// <summary> /// 权限验证 /// </summary> /// <param name="userEmail"></param> /// <param name="moduleType"></param> /// <param name="type"></param> /// <returns></returns> public bool VerifyPermissions(string userEmail, ActivityBoardModuleType moduleType, OperationType type) { var result = false; try { var data = dbScopeReadManager.Execute(conn => DALActivityBoardPower.SelectPowerConfigByUserEmail(conn, userEmail, moduleType)); if (data != null) { switch (type) { case OperationType.Insert: result = data.InsertActivity; break; case OperationType.Delete: result = data.DeleteActivity; break; case OperationType.Update: result = data.UpdateActivity; break; case OperationType.View: result = data.ViewActivity; break; case OperationType.IsVisible: result = data.IsVisible; break; case OperationType.Effect: result = data.ActivityEffect; break; } } } catch (Exception ex) { logger.Log(Level.Error, ex, "VerifyPermissions"); } return(result); }
/// <summary> /// 批量操作数据 /// </summary> /// <param name="data"></param> /// <returns></returns> public Tuple <bool, string> BatchOperationData(List <ActivityBoardPermissionConfig> data) { var result = false; string msg = "失败用户:"; try { if (data != null && data.Any()) { dbScopeManager.Execute(conn => { foreach (var item in data) { if (DALActivityBoardPower.SelectPowerConfigByUserEmail(conn, item.UserEmail, item.ModuleType) == null) { result = DALActivityBoardPower.InsertActivityBoardPowerConfig(conn, item) > 0; if (!result) { msg += $"{ item.UserEmail } "; } } else { result = DALActivityBoardPower.UpdateActivityBoardPowerConfig(conn, item) > 0; if (!result) { msg += $"{ item.UserEmail } "; } } } }); } } catch (Exception ex) { msg = "操作异常"; logger.Log(Level.Error, ex, "BatchOperationData"); } return(Tuple.Create(result, msg)); }
/// <summary> /// 获取权限配置信息 /// </summary> /// <param name="userEmail"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="pager"></param> /// <returns></returns> public List <ActivityBoardPermissionConfig> GetActivityBoardPowerConfig(string userEmail, int pageIndex, int pageSize, PagerModel pager) { List <ActivityBoardPermissionConfig> result = new List <ActivityBoardPermissionConfig>(); try { dbScopeReadManager.Execute(conn => { pager.TotalItem = DALActivityBoardPower.SelectPowerConfigUserCount(conn); var userEmailList = DALActivityBoardPower.SelectActivityBoardPowerConfigUser(conn, userEmail, pageIndex, pageSize); if (userEmailList != null && userEmailList.Any()) { var userEmailStr = string.Join(",", userEmailList); result = DALActivityBoardPower.SelectActivityBoardPowerConfig(conn, userEmailStr); } }); } catch (Exception ex) { logger.Log(Level.Error, ex, "GetActivityBoardPowerConfig"); } return(result); }