Example #1
0
 public UpdateQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceStoreRepository IResourceStoreRepository,
     IResourceTypeSupport IResourceTypeSupport,
     IHttpStatusCodeCache IHttpStatusCodeCache,
     IUpdateResourceService IUpdateResourceService,
     IServerDateTimeSupport IServerDefaultDateTimeOffSet,
     IFhirResourceJsonSerializationService IFhirResourceJsonSerializationService,
     IReferentialIntegrityService IReferentialIntegrityService,
     IGZipper IGZipper,
     IIndexer IIndexer,
     IMapper IMapper,
     IHeaderService IHeaderService,
     IFhirResourceContainedSupport IFhirResourceContainedSupport)
 {
     this.IValidateQueryService                 = IValidateQueryService;
     this.IResourceStoreRepository              = IResourceStoreRepository;
     this.IResourceTypeSupport                  = IResourceTypeSupport;
     this.IHttpStatusCodeCache                  = IHttpStatusCodeCache;
     this.IUpdateResourceService                = IUpdateResourceService;
     this.IServerDefaultDateTimeOffSet          = IServerDefaultDateTimeOffSet;
     this.IFhirResourceJsonSerializationService = IFhirResourceJsonSerializationService;
     this.IReferentialIntegrityService          = IReferentialIntegrityService;
     this.IGZipper       = IGZipper;
     this.IIndexer       = IIndexer;
     this.IMapper        = IMapper;
     this.IHeaderService = IHeaderService;
     this.IFhirResourceContainedSupport = IFhirResourceContainedSupport;
 }
Example #2
0
        public virtual void ParseModifier(string parameterName, IResourceTypeSupport IResourceTypeSupport, IKnownResource IKnownResource)
        {
            if (parameterName.Contains(FhirSearchQuery.TermSearchModifierDelimiter))
            {
                string parameterNameModifierPart = parameterName.Split(FhirSearchQuery.TermSearchModifierDelimiter)[1];
                var    SearchModifierTypeDic     = StringToEnumMap <Common.Enums.SearchModifierCode> .GetDictionary();

                string ValueCaseCorrectly = StringSupport.ToLowerFast(parameterNameModifierPart);
                if (SearchModifierTypeDic.ContainsKey(ValueCaseCorrectly))
                {
                    this.Modifier = SearchModifierTypeDic[ValueCaseCorrectly];
                }
                else
                {
                    string TypedResourceName = parameterNameModifierPart;
                    if (parameterNameModifierPart.Contains("."))
                    {
                        char[] delimiters = { '.' };
                        TypedResourceName = parameterNameModifierPart.Split(delimiters)[0].Trim();
                    }

                    if (IKnownResource.IsKnownResource(this.FhirVersionId, TypedResourceName))
                    {
                        Common.Enums.ResourceType?ResourceType = IResourceTypeSupport.GetTypeFromName(TypedResourceName);
                        if (ResourceType != null)
                        {
                            this.TypeModifierResource = ResourceType.Value;
                            this.Modifier             = SearchModifierCode.Type;
                        }
                        else
                        {
                            throw new ApplicationException($"Found a known resource to the FHIR API yet this resource was not found in the Enum list for {typeof(Common.Enums.ResourceType).Name}");
                        }
                    }
                    else
                    {
                        this.InvalidMessage = $"Unable to parse the given search parameter's Modifier: {parameterName}, ";
                        this.IsValid        = false;
                    }
                }
            }
            else
            {
                this.Modifier             = null;
                this.TypeModifierResource = null;
            }

            if (this.Modifier.HasValue)
            {
                SearchModifierCode[] oSupportedModifierArray = SearchQuerySupport.GetModifiersForSearchType(this.SearchParamTypeId);
                if (!oSupportedModifierArray.Any(x => x == this.Modifier.Value))
                {
                    this.InvalidMessage += $"The parameter's modifier: '{this.Modifier.GetCode()}' is not supported by this server for this search parameter type '{this.SearchParamTypeId.GetCode()}', the whole parameter was : '{this.RawValue}', ";
                    this.IsValid         = false;
                }
            }
        }
 public Stu3ReferenceSetter(IFhirUriFactory IFhirUriFactory,
                            Bug.Common.ApplicationConfig.IServiceBaseUrlConfi IPrimaryServiceRootCache,
                            IResourceTypeSupport IResourceTypeSupport,
                            IServiceBaseUrlCache IServiceBaseUrlCache,
                            IServiceBaseUrlRepository IServiceBaseUrlRepository)
 {
     this.IFhirUriFactory           = IFhirUriFactory;
     this.IPrimaryServiceRootCache  = IPrimaryServiceRootCache;
     this.IResourceTypeSupport      = IResourceTypeSupport;
     this.IServiceBaseUrlCache      = IServiceBaseUrlCache;
     this.IServiceBaseUrlRepository = IServiceBaseUrlRepository;
 }
Example #4
0
 public SearchQueryService(ISearchParameterCache ISearchParameterCache,
                           ISearchQueryFactory ISearchQueryFactory,
                           IResourceTypeSupport IResourceTypeSupport,
                           IKnownResource IKnownResource,
                           IChainQueryProcessingService IChainQueryProcessingService)
 {
     this.ISearchParameterCache        = ISearchParameterCache;
     this.ISearchQueryFactory          = ISearchQueryFactory;
     this.IResourceTypeSupport         = IResourceTypeSupport;
     this.IKnownResource               = IKnownResource;
     this.IChainQueryProcessingService = IChainQueryProcessingService;
 }
Example #5
0
        public ChainQueryProcessingService(IResourceTypeSupport IResourceTypeSupport,
                                           IKnownResource IKnownResource,
                                           ISearchParameterCache ISearchParameterCache,
                                           ISearchQueryFactory ISearchQueryFactory)
        {
            this.IResourceTypeSupport  = IResourceTypeSupport;
            this.IKnownResource        = IKnownResource;
            this.ISearchParameterCache = ISearchParameterCache;
            this.ISearchQueryFactory   = ISearchQueryFactory;

            this.InvalidSearchQueryParameterList     = new List <InvalidSearchQueryParameter>();
            this.UnsupportedSearchQueryParameterList = new List <InvalidSearchQueryParameter>();
        }
 public HistoryInstanceQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceStoreRepository IResourceStoreRepository,
     IFhirResourceBundleSupport IFhirResourceBundleSupport,
     IHistoryBundleService IHistoryBundleService,
     IResourceTypeSupport IResourceTypeSupport)
 {
     this.IValidateQueryService      = IValidateQueryService;
     this.IResourceStoreRepository   = IResourceStoreRepository;
     this.IFhirResourceBundleSupport = IFhirResourceBundleSupport;
     this.IHistoryBundleService      = IHistoryBundleService;
     this.IResourceTypeSupport       = IResourceTypeSupport;
 }
Example #7
0
 public VReadQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceStoreRepository IResourceStoreRepository,
     IFhirResourceParseJsonService IFhirResourceParseJsonService,
     IResourceTypeSupport IResourceTypeSupport,
     IGZipper IGZipper)
 {
     this.IValidateQueryService         = IValidateQueryService;
     this.IResourceStoreRepository      = IResourceStoreRepository;
     this.IFhirResourceParseJsonService = IFhirResourceParseJsonService;
     this.IResourceTypeSupport          = IResourceTypeSupport;
     this.IGZipper = IGZipper;
 }
 public SearchQueryFactory(IFhirUriFactory IFhirUriFactory,
                           IResourceTypeSupport IResourceTypeSupport,
                           ISearchParameterCache ISearchParameterCache,
                           IKnownResource IKnownResource,
                           IFhirDateTimeFactory IFhirDateTimeFactory,
                           ISearchParameterRepository ISearchParameterRepository)
 {
     this.IFhirUriFactory            = IFhirUriFactory;
     this.IResourceTypeSupport       = IResourceTypeSupport;
     this.ISearchParameterCache      = ISearchParameterCache;
     this.IKnownResource             = IKnownResource;
     this.IFhirDateTimeFactory       = IFhirDateTimeFactory;
     this.ISearchParameterRepository = ISearchParameterRepository;
 }
 public DeleteQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceStoreRepository IResourceStoreRepository,
     IHttpStatusCodeCache IHttpStatusCodeCache,
     IResourceTypeSupport IResourceTypeSupport,
     IHeaderService IHeaderService,
     IReferentialIntegrityService IReferentialIntegrityService)
 {
     this.IValidateQueryService        = IValidateQueryService;
     this.IResourceStoreRepository     = IResourceStoreRepository;
     this.IHttpStatusCodeCache         = IHttpStatusCodeCache;
     this.IResourceTypeSupport         = IResourceTypeSupport;
     this.IHeaderService               = IHeaderService;
     this.IReferentialIntegrityService = IReferentialIntegrityService;
 }
Example #10
0
 public SearchQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceTypeSupport IResourceTypeSupport,
     ISearchQueryService ISearchQueryService,
     IOperationOutcomeSupport IOperationOutcomeSupport,
     ISearchService ISearchService,
     ISearchBundleService ISearchBundleService,
     IFhirResourceBundleSupport IFhirResourceBundleSupport)
 {
     this.IValidateQueryService      = IValidateQueryService;
     this.IResourceTypeSupport       = IResourceTypeSupport;
     this.ISearchQueryService        = ISearchQueryService;
     this.IOperationOutcomeSupport   = IOperationOutcomeSupport;
     this.ISearchService             = ISearchService;
     this.ISearchBundleService       = ISearchBundleService;
     this.IFhirResourceBundleSupport = IFhirResourceBundleSupport;
 }
Example #11
0
 public ReadQueryHandler(
     IValidateQueryService IValidateQueryService,
     IResourceStoreRepository IResourceStoreRepository,
     IFhirResourceParseJsonService IFhirResourceParseJsonService,
     IResourceTypeSupport IResourceTypeSupport,
     IGZipper IGZipper,
     IServerDateTimeSupport IServerDateTimeSupport,
     IHeaderService IHeaderService)
 {
     this.IValidateQueryService         = IValidateQueryService;
     this.IResourceStoreRepository      = IResourceStoreRepository;
     this.IFhirResourceParseJsonService = IFhirResourceParseJsonService;
     this.IResourceTypeSupport          = IResourceTypeSupport;
     this.IGZipper = IGZipper;
     this.IServerDateTimeSupport = IServerDateTimeSupport;
     this.IHeaderService         = IHeaderService;
 }