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());
        }
Exemple #2
0
        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);
        }