protected override async Task <ITypedElementToSearchValueConverter> GetTypeConverterAsync() { var resolver = new CodeSystemResolver(ModelInfoProvider.Instance); await resolver.StartAsync(CancellationToken.None); return(new CodeToTokenSearchValueConverter(resolver)); }
private static async Task <FhirTypedElementToSearchValueConverterManager> CreateFhirTypedElementToSearchValueConverterManagerAsync() { var types = typeof(ITypedElementToSearchValueConverter) .Assembly .GetTypes() .Where(x => typeof(ITypedElementToSearchValueConverter).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface); var referenceSearchValueParser = new ReferenceSearchValueParser(new FhirRequestContextAccessor()); var codeSystemResolver = new CodeSystemResolver(ModelInfoProvider.Instance); await codeSystemResolver.StartAsync(CancellationToken.None); var fhirElementToSearchValueConverters = new List <ITypedElementToSearchValueConverter>(); foreach (Type type in types) { // Filter out the extension converter because it will be added to the converter dictionary in the converter manager's constructor if (type.Name != nameof(FhirTypedElementToSearchValueConverterManager.ExtensionConverter)) { var x = (ITypedElementToSearchValueConverter)Mock.TypeWithArguments(type, referenceSearchValueParser, codeSystemResolver); fhirElementToSearchValueConverters.Add(x); } } return(new FhirTypedElementToSearchValueConverterManager(fhirElementToSearchValueConverters)); }
private static async Task <FhirTypedElementToSearchValueConverterManager> CreateFhirTypedElementToSearchValueConverterManagerAsync() { var types = typeof(ITypedElementToSearchValueConverter) .Assembly .GetTypes() .Where(x => typeof(ITypedElementToSearchValueConverter).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface); var referenceSearchValueParser = new ReferenceSearchValueParser(new FhirRequestContextAccessor()); var codeSystemResolver = new CodeSystemResolver(ModelInfoProvider.Instance); await codeSystemResolver.StartAsync(CancellationToken.None); var fhirElementToSearchValueConverters = types.Select(x => (ITypedElementToSearchValueConverter)Mock.TypeWithArguments(x, referenceSearchValueParser, codeSystemResolver)); return(new FhirTypedElementToSearchValueConverterManager(fhirElementToSearchValueConverters)); }