/// <summary> /// 注册模块 /// </summary> internal void RegisterModule(ModuleEnum moduleEnum, IModule module) { if (!HasModule(moduleEnum)) { moduleDict.Add(moduleEnum, module); moduleCount++; refreshHandler += module.OnRefresh; Utility.Debug.LogInfo("Module:\"" + moduleEnum.ToString() + "\" " + " is OnInitialization" + "\n based on GameManager"); } else { throw new ArgumentException("Module:\"" + moduleEnum.ToString() + "\" " + " is already exist!"); } }
/// <summary> /// 注销模块 /// </summary> internal void DeregisterModule(ModuleEnum module) { if (HasModule(module)) { var m = moduleDict[module]; refreshHandler -= m.OnRefresh; moduleDict.Remove(module); moduleCount--; Utility.Debug.LogInfo("Module:\"" + module.ToString() + "\" " + " is OnTermination" + " based on GameManager", MessageColor.DARKBLUE); } else { throw new ArgumentNullException("Module:\"" + module.ToString() + "\" " + " is not exist!"); } }
public ModuleSelectionItem(ModuleEnum module, string tag, string label, string icon) { Module = module; Tag = tag; Label = label; Icon = icon; Route = $"/{module.ToString().ToLowerInvariant()}"; StyleClass = string.Empty; return; }
public static bool CheckPermission(ModuleEnum moduleEnum, ActionEnum actionEnum) { try { CacheFactory _cacheFactory = new CacheFactory(); if (System.Web.HttpContext.Current.Session["AccountId"] == null || System.Web.HttpContext.Current.Session["AccountId"].ToString() == "") { return(false); } long accountId = Convert.ToInt64(System.Web.HttpContext.Current.Session["AccountId"].ToString()); //IRepository _repository = DependencyResolver.Current.GetService<IRepository>(); //var accountRoles = _repository.GetRepository<AccountRole>().GetAll(o => o.AccountId == accountId); var accountRoles = _cacheFactory.GetCache("AccountRoles_" + accountId) as List <AccountRole>; if (accountRoles == null || !accountRoles.Any()) { return(false); } //var moduleRoles = _repository.GetRepository<ModuleRole>() // .GetAll(o => (accountRoles.Any(p => p.RoleId == o.RoleId))); var moduleRoles1 = _cacheFactory.GetCache("ModuleRoles") as List <ModuleRole>; var moduleRoles = moduleRoles1.Where(o => accountRoles.Any(p => p.RoleId == o.RoleId)); if (moduleRoles == null || !moduleRoles.Any()) { return(false); } string moduleEnumString = moduleEnum.ToString(); var tempModuleEnum = moduleRoles.Where( o => o.ModuleCode.Equals(moduleEnumString, StringComparison.CurrentCultureIgnoreCase)).ToList(); if (!tempModuleEnum.Any()) { return(false); } switch (actionEnum) { case ActionEnum.Read: return(tempModuleEnum.FirstOrDefault(a => a.Read == 1) != null); case ActionEnum.Create: return(tempModuleEnum.FirstOrDefault(a => a.Create == 1) != null); case ActionEnum.Update: return(tempModuleEnum.FirstOrDefault(a => a.Update == 1) != null); case ActionEnum.Delete: return(tempModuleEnum.FirstOrDefault(a => a.Delete == 1) != null); case ActionEnum.Verify: return(tempModuleEnum.FirstOrDefault(a => a.Verify == 1) != null); case ActionEnum.Publish: return(tempModuleEnum.FirstOrDefault(a => a.Publish == 1) != null); default: return(false); } } catch (Exception e) { return(false); } }