Beispiel #1
0
        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));
        }