IEnumerable <ActionBase> GetModuleActions(ActionStateRule rule, IEnumerable <ActionBase> actionBases) { IEnumerable <string> assemblies = Application.Modules.Where(@base => new Regex(rule.Module).IsMatch(@base.GetType().FullName)).Select( @base => @base.GetType().Assembly.FullName); return(actionBases.Where(@base => assemblies.Contains(@base.Controller.GetType().Assembly.FullName))); }
private IEnumerable<ActionBase> GetActions(ActionStateRule rule){ IEnumerable<ActionBase> actionBases = Frame.Controllers.Cast<Controller>().SelectMany(controller => controller.Actions); if (!string.IsNullOrEmpty(rule.Module)){ return GetModuleActions(rule, actionBases); } ActionBase actionBase =actionBases.Where(@base => @base.Id == rule.ActionId).Select(@base => @base).Single(); return new List<ActionBase>{actionBase}; }
private IEnumerable <ActionBase> GetActions(ActionStateRule rule) { IEnumerable <ActionBase> actionBases = Frame.Controllers.Cast <Controller>().SelectMany(controller => controller.Actions); if (!string.IsNullOrEmpty(rule.Module)) { return(GetModuleActions(rule, actionBases)); } ActionBase actionBase = actionBases.Where(@base => @base.Id == rule.ActionId).Select(@base => @base).Single(); return(new List <ActionBase> { actionBase }); }
IEnumerable<ActionBase> GetModuleActions(ActionStateRule rule, IEnumerable<ActionBase> actionBases) { IEnumerable<string> assemblies = Application.Modules.Where(@base => new Regex(rule.Module).IsMatch(@base.GetType().FullName)).Select( @base => @base.GetType().Assembly.FullName); return actionBases.Where(@base => assemblies.Contains(@base.Controller.GetType().Assembly.FullName)); }