public static Func <FunctionId, bool> GetLoggingChecker(IGlobalOptionService optionService) { var functionIds = Enum.GetValues(typeof(FunctionId)).Cast <FunctionId>(); var functionIdOptions = functionIds.ToDictionary( id => id, id => optionService.GetOption(FunctionIdOptions.GetOption(id)) ); return(functionId => functionIdOptions[functionId]); }
public static Func <FeatureId, FunctionId, bool> GetLoggingChecker(IOptionService optionService) { var featureIds = Enum.GetValues(typeof(FeatureId)).Cast <FeatureId>(); var featureIdOptions = featureIds.ToDictionary(id => id, id => optionService.GetOption(FeatureIdOptions.GetOption(id))); var functionIds = Enum.GetValues(typeof(FunctionId)).Cast <FunctionId>(); var functionIdOptions = functionIds.ToDictionary(id => id, id => optionService.GetOption(FunctionIdOptions.GetOption(id))); return((featureId, functionId) => { return featureIdOptions[featureId] && functionIdOptions[functionId]; }); }