示例#1
0
        public IActionResult GetInfo(string infoTypeName, string infoParameters)
        {
            var retval = _logger.LogRequest(
                () =>
            {
                var infoContext = _infoRepository.GetInfoContext(infoTypeName);
                if (infoContext != null)
                {
                    var queryLogicResolver = _queryLogicResolverFactory.getQueryLogicResolver(infoContext.QueryLogicType);
                    var infoParameterArray = (infoParameters ?? "").Split('/', StringSplitOptions.RemoveEmptyEntries);
                    var result             = queryLogicResolver.PerformQuery(infoContext.QueryLogic, infoParameterArray);
                    return(result);
                }
                else
                {
                    throw new HubOperationException($"Could not locate information provider for {infoTypeName}");
                }
            }, infoTypeName, new { getInfoParameters = infoParameters });

            return(Ok(retval));
        }