Пример #1
0
 public DbReferenceSetter(IServiceBaseUrlRepository IServiceBaseUrlRepository, IPyroFhirUriFactory IPyroFhirUriFactory, IPrimaryServiceRootCache IPrimaryServiceRootCache, ICommonFactory ICommonFactory, IReferenceSetter IReferenceSetter)
 {
     this.IServiceBaseUrlRepository = IServiceBaseUrlRepository;
     this.IPyroFhirUriFactory       = IPyroFhirUriFactory;
     this.IPrimaryServiceRootCache  = IPrimaryServiceRootCache;
     this.IReferenceSetter          = IReferenceSetter;
 }
Пример #2
0
 public MetadataService(IPrimaryServiceRootCache IPrimaryServiceRootCache, IGlobalProperties IGlobalProperties, IServiceSearchParameterService IServiceSearchParameterService, IResourceServiceOutcomeFactory IResourceServiceOutcomeFactory, IDatabaseOperationOutcomeFactory IDatabaseOperationOutcomeFactory, ISearchParameterServiceFactory ISearchParameterServiceFactory, IServiceCompartmentRepository IServiceCompartmentRepository)
 {
     this.IPrimaryServiceRootCache         = IPrimaryServiceRootCache;
     this.IGlobalProperties                = IGlobalProperties;
     this.IServiceSearchParameterService   = IServiceSearchParameterService;
     this.IDatabaseOperationOutcomeFactory = IDatabaseOperationOutcomeFactory;
     this.ISearchParameterServiceFactory   = ISearchParameterServiceFactory;
     this.IResourceServiceOutcomeFactory   = IResourceServiceOutcomeFactory;
     this.IServiceCompartmentRepository    = IServiceCompartmentRepository;
 }
        public static ExpressionStarter <ResCurrentType> Build(
            ResourceSearchExpressionTrees <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType> Search,
            ExpressionStarter <ResCurrentType> NewPredicate,
            SearchParameterBase SearchItem,
            IPrimaryServiceRootCache IPrimaryServiceRootCache)
        {
            if (SearchItem is SearchParameterComposite)
            {
                var SearchTypeComposite = SearchItem as SearchParameterComposite;
                foreach (var SearchValue in SearchTypeComposite.ValueList)
                {
                    if (!SearchTypeComposite.Modifier.HasValue)
                    {
                        NewPredicate = CollectionEqualToPredicate(Search, NewPredicate, SearchTypeComposite, SearchValue, IPrimaryServiceRootCache);
                    }
                    else
                    {
                        switch (SearchTypeComposite.Modifier)
                        {
                        case SearchParameter.SearchModifierCode.Missing:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Exact:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Contains:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Text:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Type:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Below:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.Above:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.In:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        case SearchParameter.SearchModifierCode.NotIn:
                            throw new FormatException($"The search modifier: {SearchTypeComposite.Modifier.ToString()} is not supported for search parameter types of Composite.");

                        default:
                            throw new System.ComponentModel.InvalidEnumArgumentException(SearchTypeComposite.Modifier.ToString(), (int)SearchTypeComposite.Modifier, typeof(SearchParameter.SearchModifierCode));
                        }
                    }
                }
            }
            return(NewPredicate);
        }
Пример #4
0
 public CommonResourceRepository(IPyroDbContext Context,
                                 IPrimaryServiceRootCache IPrimaryServiceRootCache,
                                 IIndexSetterFactory <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType> IIndexSetterFactory,
                                 IServiceSearchParameterCache IServiceSearchParameterCache,
                                 IFhirReleaseCache IFhirReleaseCache,
                                 IDatabaseOperationOutcomeFactory IDatabaseOperationOutcomeFactory,
                                 IPagingSupport IPagingSupport)
     : base(Context, IPrimaryServiceRootCache)
 {
     this.IIndexSetterFactory              = IIndexSetterFactory;
     this.IServiceSearchParameterCache     = IServiceSearchParameterCache;
     this.IFhirReleaseCache                = IFhirReleaseCache;
     this.IDatabaseOperationOutcomeFactory = IDatabaseOperationOutcomeFactory;
     this.IPagingSupport = IPagingSupport;
 }
Пример #5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="PrimaryServiceRoot">Should take the form http://SomeServer.net/bla/bla/bla/fhir </param>
 public PyroFhirUri(IPrimaryServiceRootCache IPrimaryServiceRootCache)
 {
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
     if (Uri.TryCreate(this.IPrimaryServiceRootCache.GetPrimaryRootUrlFromWebConfig(), UriKind.RelativeOrAbsolute, out Uri TempUri))
     {
         //string RegexResourceDilimeter = "|";
         //_FhirResourceRegexPattern += String.Join(RegexResourceDilimeter, ModelInfo.SupportedResources);
         this.PrimaryServiceRootServers = TempUri;
     }
     else
     {
         ErrorInParseing   = true;
         ParseErrorMessage = $"The Primary Service root Uri was not able to be parsed: {this.IPrimaryServiceRootCache.GetPrimaryRootUrlFromWebConfig()}";
     }
 }
Пример #6
0
 public ResourceSearch(IPrimaryServiceRootCache IPrimaryServiceRootCache)
 {
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
 }
Пример #7
0
 public PyroRequestUri(IPrimaryServiceRootCache IPrimaryServiceRootCache, IPyroFhirUri IPyroFhirUri)
 {
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
     this.FhirRequestUri           = IPyroFhirUri;
 }
Пример #8
0
 public CommonRepository(IPyroDbContext IPyroDbContext, IPrimaryServiceRootCache IPrimaryServiceRootCache)
     : base(IPyroDbContext)
 {
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
 }
Пример #9
0
 public InMemoryResourceSearch(IGenericInstanceFactory IGenericInstanceFactory, IPrimaryServiceRootCache IPrimaryServiceRootCache)
 {
     this.IGenericInstanceFactory  = IGenericInstanceFactory;
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
 }
Пример #10
0
 public ReferenceSetter(IPyroFhirUriFactory IPyroFhirUriFactory, IPrimaryServiceRootCache IPrimaryServiceRootCache, ICommonFactory ICommonFactory)
 {
     this.IPyroFhirUriFactory      = IPyroFhirUriFactory;
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
 }
Пример #11
0
 public RequestServiceRootValidate(IPrimaryServiceRootCache IPrimaryServiceRootCache, IServicePrimaryBaseUrlService IServicePrimaryBaseUrlService, ILog ILog)
 {
     this.IPrimaryServiceRootCache      = IPrimaryServiceRootCache;
     this.IServicePrimaryBaseUrlService = IServicePrimaryBaseUrlService;
     this.ILog = ILog;
 }
Пример #12
0
 public CommonRepository(IPyroDbContext IPyroDbContext, IPrimaryServiceRootCache IPrimaryServiceRootCache)
     : base(IPyroDbContext)
 {
     this.IPrimaryServiceRootCache = IPrimaryServiceRootCache;
     _ResourceSearch = new ResourceSearch <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(IPrimaryServiceRootCache);
 }
        private static ExpressionStarter <ResCurrentType> CollectionEqualToPredicate(ResourceSearchExpressionTrees <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType> Search, ExpressionStarter <ResCurrentType> NewPredicate, SearchParameterComposite SearchTypeComposite, SearchParameterCompositeValue SearchValue, IPrimaryServiceRootCache IPrimaryServiceRootCache)
        {
            var _ResourceSearch = new ResourceSearch <ResCurrentType, ResIndexStringType, ResIndexTokenType, ResIndexUriType, ResIndexReferenceType, ResIndexQuantityType, ResIndexDateTimeType>(IPrimaryServiceRootCache);
            var Expression      = _ResourceSearch.ANDSearchParameterListPredicateGenerator(SearchValue.SearchParameterBaseList);

            NewPredicate = NewPredicate.Or(Expression);
            return(NewPredicate);
        }