public QueryHandlerMiddleware(CqrsFormatterRegistry registry, ICqrsOptions options) { _registry = registry; _options = options; _queryTypes = new Lazy <Dictionary <string, QueryInfo> >(() => options.GetQueryTypes() .SelectMany(x => x.HttpMethods, (ci, method) => new { QueryInfo = ci, HttpMethod = method }) .ToDictionary( keySelector: (x) => $"{x.HttpMethod} {options.GetQueryPath(x.QueryInfo)}", elementSelector: x => x.QueryInfo, comparer: StringComparer.OrdinalIgnoreCase)); }
public CqrsMiddleware(Container container, CqrsFormatterRegistry registry, ICqrsOptions options) { _container = container; _registry = registry; _options = options; _commandTypes = new Lazy <Dictionary <string, CommandInfo> >(() => options.GetCommandTypes().ToDictionary( keySelector: options.GetCommandKey, elementSelector: type => type, comparer: StringComparer.OrdinalIgnoreCase)); _queryTypes = new Lazy <Dictionary <string, QueryInfo> >(() => options.GetQueryTypes().ToDictionary( keySelector: options.GetQueryKey, elementSelector: info => info, comparer: StringComparer.OrdinalIgnoreCase)); }