コード例 #1
0
ファイル: FhirService.cs プロジェクト: Adriabs/pasientdata
        public FhirResponse VersionSpecificUpdate(IKey versionedkey, Resource resource)
        {
            Validate.HasTypeName(versionedkey);
            Validate.HasVersion(versionedkey);
            Key   key     = versionedkey.WithoutVersion();
            Entry current = GetFeature <IResourceStorageService>().Get(key);

            Validate.IsSameVersion(current.Key, versionedkey);

            return(this.Put(key, resource));
        }
コード例 #2
0
        public async Task <FhirResponse> Create(IKey key, Resource resource)
        {
            Validate.Key(key);
            Validate.HasTypeName(key);
            Validate.ResourceType(key, resource);

            key = key.CleanupForCreate();
            var result = await Store(Entry.Post(key, resource)).ConfigureAwait(false);

            return(Respond.WithResource(HttpStatusCode.Created, result));
        }
コード例 #3
0
ファイル: FhirService.cs プロジェクト: Adriabs/pasientdata
        public FhirResponse Create(IKey key, Resource resource)
        {
            Validate.Key(key);
            Validate.HasTypeName(key);
            Validate.ResourceType(key, resource);

            Validate.HasNoResourceId(key);
            Validate.HasNoVersion(key);


            Entry result = Store(Entry.POST(key, resource));

            return(Respond.WithResource(HttpStatusCode.Created, result));
        }
コード例 #4
0
ファイル: FhirService.cs プロジェクト: Adriabs/pasientdata
 private static void ValidateKey(IKey key, bool withVersion = false)
 {
     Validate.HasTypeName(key);
     Validate.HasResourceId(key);
     if (withVersion)
     {
         Validate.HasVersion(key);
     }
     else
     {
         Validate.HasNoVersion(key);
     }
     Validate.Key(key);
 }
コード例 #5
0
ファイル: FhirService.cs プロジェクト: Adriabs/pasientdata
        public FhirResponse Put(Entry entry)
        {
            Validate.Key(entry.Key);
            Validate.ResourceType(entry.Key, entry.Resource);
            Validate.HasTypeName(entry.Key);
            Validate.HasResourceId(entry.Key);


            var   storageService = GetFeature <IResourceStorageService>();
            Entry current        = storageService.Get(entry.Key.WithoutVersion());

            Entry result = Store(entry);

            return(Respond.WithResource(current != null ? HttpStatusCode.OK : HttpStatusCode.Created, result));
        }
コード例 #6
0
ファイル: FhirService.cs プロジェクト: Adriabs/pasientdata
        public FhirResponse Create(Entry entry)
        {
            Validate.Key(entry.Key);
            Validate.HasTypeName(entry.Key);
            Validate.ResourceType(entry.Key, entry.Resource);

            if (entry.State != EntryState.Internal)
            {
                Validate.HasNoResourceId(entry.Key);
                Validate.HasNoVersion(entry.Key);
            }


            Entry result = Store(entry);

            return(Respond.WithResource(HttpStatusCode.Created, result));
        }