Пример #1
0
        public async Task <FhirResponse> Delete(IKey key)
        {
            Validate.Key(key);
            Validate.HasNoVersion(key);

            var current = await _storageService.Get(key).ConfigureAwait(false);

            return(current is { IsPresent : true }
Пример #2
0
        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));
        }
Пример #3
0
 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);
 }
Пример #4
0
        public FhirResponse Delete(IKey key)
        {
            Validate.Key(key);
            Validate.HasNoVersion(key);

            var resourceStorage = GetFeature <IResourceStorageService>();

            Entry current = resourceStorage.Get(key);

            if (current != null && current.IsPresent)
            {
                return(Delete(Entry.DELETE(key, DateTimeOffset.UtcNow)));
            }
            return(Respond.WithCode(HttpStatusCode.NoContent));
        }
Пример #5
0
        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));
        }