public List <Sys_ModuleButtonModel> GetButtonList1(string roleId) { Sys_ModuleButtonBLL mbbll = new Sys_ModuleButtonBLL(); var data = new List <Sys_ModuleButtonModel>(); Sys_RoleAuthorizeBLL rhbll = new Sys_RoleAuthorizeBLL(); if (OperatorProvider.Provider.GetCurrent().IsSystem) { data = mbbll.GetModelList(""); } else { var buttondata = mbbll.GetModelList(""); var authorizedata = rhbll.GetModelList("F_ObjectId = '" + roleId + "' and F_ItemType = 2"); foreach (var item in authorizedata) { Sys_ModuleButtonModel moduleButtonEntity = mbbll.GetModel(item.F_ItemId); if (moduleButtonEntity != null) { data.Add(moduleButtonEntity); } } } return(data.OrderBy(t => t.F_SortCode).ToList()); }
private bool ActionValidate(string roleId, string moduleId, string action) { Sys_ModuleBLL modulebll = new Sys_ModuleBLL(); Sys_ModuleButtonBLL moduleButtonbll = new Sys_ModuleButtonBLL(); Sys_RoleAuthorizeBLL roleAuthorizebll = new Sys_RoleAuthorizeBLL(); var authorizeurldata = new List <AuthorizeActionModel>(); var cachedata = CacheFactory.Cache().GetCache <List <AuthorizeActionModel> >("authorizeurldata_" + roleId); if (cachedata == null) { var moduledata = modulebll.GetModelList(""); var buttondata = moduleButtonbll.GetModelList(""); var authorizedata = roleAuthorizebll.GetModelList("F_ObjectId ='" + roleId + "'"); foreach (var item in authorizedata) { if (item.F_ItemType == 1) { var moduleEntity = moduledata.Find(t => t.F_Id == item.F_ItemId); authorizeurldata.Add(new AuthorizeActionModel { F_Id = moduleEntity.F_Id, F_UrlAddress = moduleEntity.F_UrlAddress }); } else if (item.F_ItemType == 2) { var moduleButtonEntity = buttondata.Find(t => t.F_Id == item.F_ItemId); authorizeurldata.Add(new AuthorizeActionModel { F_Id = moduleButtonEntity.F_ModuleId, F_UrlAddress = moduleButtonEntity.F_UrlAddress }); } } CacheFactory.Cache().WriteCache(authorizeurldata, "authorizeurldata_" + roleId, DateTime.Now.AddMinutes(5)); } else { authorizeurldata = cachedata; } authorizeurldata = authorizeurldata.FindAll(t => t.F_Id.Equals(moduleId)); foreach (var item in authorizeurldata) { if (!string.IsNullOrEmpty(item.F_UrlAddress)) { string[] url = item.F_UrlAddress.Split('?'); if (item.F_Id == moduleId && url[0] == action) { return(true); } } } return(false); }
//private string ToMenuJson(List<Sys_Module> data, string parentId) //{ // StringBuilder sbJson = new StringBuilder(); // sbJson.Append("["); // List<Sys_Module> entitys = data.FindAll(t => t.F_ParentId == parentId); // if (entitys.Count > 0) // { // foreach (var item in entitys) // { // string strJson = item.ToJson(); // strJson = strJson.Insert(strJson.Length - 1, ",\"ChildNodes\":" + ToMenuJson(data, item.F_Id) + ""); // sbJson.Append(strJson + ","); // } // sbJson = sbJson.Remove(sbJson.Length - 1, 1); // } // sbJson.Append("]"); // return sbJson.ToString(); //} /// <summary> /// 获取按钮 /// </summary> /// <returns></returns> private object GetMenuButtonList() { var roleId = OperatorProvider.Provider.GetCurrent().RoleId; WriteLog.WriteMessage("LogInfo", roleId); var data = new Sys_ModuleButtonBLL().GetButtonList(roleId); var dataModuleId = data.Distinct(new ExtList <Sys_ModuleButton>("F_ModuleId")); Dictionary <string, object> dictionary = new Dictionary <string, object>(); foreach (Sys_ModuleButton item in dataModuleId) { var buttonList = data.Where(t => t.F_ModuleId.Equals(item.F_ModuleId)); dictionary.Add(item.F_ModuleId, buttonList); } return(dictionary); }