public TransactionBuilder Delete(string resourceType, SearchParams condition) { var entry = newEntry(Bundle.HTTPVerb.DELETE, InteractionType.Delete); var path = newRestUrl().AddPath(resourceType); path.AddParams(condition.ToUriParamList()); addEntry(entry, path); return(this); }
public TransactionBuilder Create(Resource body, SearchParams condition) { var entry = newEntry(Bundle.HTTPVerb.POST, InteractionType.Create); entry.Resource = body; var path = newRestUrl().AddPath(body.TypeName); entry.Request.IfNoneExist = condition.ToUriParamList().ToQueryString(); addEntry(entry, path); return(this); }
public TransactionBuilder Update(SearchParams condition, Resource body, string ifMatch = null) { var entry = newEntry(Bundle.HTTPVerb.PUT); entry.Resource = body; var path = newRestUrl().AddPath(body.TypeName); path.AddParams(condition.ToUriParamList()); addEntry(entry, path); return(this); }
public TransactionBuilder Update(SearchParams condition, Resource body, string versionId = null) { var entry = newEntry(Bundle.HTTPVerb.PUT, InteractionType.Update); entry.Resource = body; entry.Request.IfMatch = createIfMatchETag(versionId); var path = newRestUrl().AddPath(body.TypeName); path.AddParams(condition.ToUriParamList()); addEntry(entry, path); return(this); }
public TransactionBuilder Search(SearchParams q, string resourceType = null) { var entry = newEntry(Bundle.HTTPVerb.GET); var path = newRestUrl(); if (resourceType != null) { path.AddPath(resourceType); } path.AddParams(q.ToUriParamList()); addEntry(entry, path); return(this); }
public TransactionBuilder Create(Resource body, SearchParams condition) { var entry = newEntry(Bundle.HTTPVerb.POST); entry.Resource = body; var path = newRestUrl().AddPath(body.TypeName); var nonExist = new RestUrl(path); nonExist.AddParams(condition.ToUriParamList()); entry.Transaction.IfNoneExist = nonExist.ToString(); addEntry(entry, path); return(this); }
public void ManipulateParameters() { var q = new SearchParams(); q.Add("testX", "someVal"); q.Add("testX", "someVal2"); q.Add("testXY", "someVal3"); var paramlist = q.ToUriParamList(); var vals = paramlist.Values("testX"); Assert.AreEqual(2, vals.Count()); Assert.AreEqual("someVal", vals.First()); Assert.AreEqual("someVal2", vals.Skip(1).First()); Assert.AreEqual("someVal3", paramlist.SingleValue("testXY")); paramlist.Remove("testXY"); Assert.IsNull(paramlist.SingleValue("testXY")); Assert.AreEqual(2, paramlist.Values("testX").Count()); }
public void ManageSearchResult() { var q = new SearchParams() .Where("name:exact=ewout").OrderBy("birthDate", SortOrder.Descending) .SummaryOnly().Include("Patient.managingOrganization") .LimitTo(20); var parameters = q.ToUriParamList(); var p = parameters.Single("name"); Assert.AreEqual("name:exact", p.Item1); Assert.AreEqual("ewout", p.Item2); var o = q.Sort; Assert.AreEqual("birthDate", o.First().Item1); Assert.AreEqual(SortOrder.Descending, o.First().Item2); Assert.IsTrue(q.Summary.Value); Assert.IsTrue(q.Include.Contains("Patient.managingOrganization")); Assert.AreEqual(20, q.Count); }
public void ParseAndSerializeParams() { var q = new SearchParams(); q.Add("_query", "special"); q.Add("_count", "31"); q.Add("_summary", "true"); q.Add("_sort:desc", "sorted"); q.Add("_sort:asc", "sorted2"); q.Add("_include", "Patient.name"); q.Add("_include", "Observation.subject"); var output = q.ToUriParamList().ToQueryString(); Assert.AreEqual("_query=special&_count=31&_include=Patient.name&_include=Observation.subject&_sort%3Adesc=sorted&_sort%3Aasc=sorted2&_summary=true", output); }
public void SerializeParams() { var q = new SearchParams(); q.Query = "special"; q.Count = 31; q.Summary = true; q.Sort.Add(Tuple.Create("sorted", SortOrder.Descending)); q.Sort.Add(Tuple.Create("sorted2", SortOrder.Ascending)); q.Include.Add("Patient.name"); q.Include.Add("Observation.subject"); var output = q.ToUriParamList().ToQueryString(); Assert.AreEqual("_query=special&_count=31&_include=Patient.name&_include=Observation.subject&_sort%3Adesc=sorted&_sort%3Aasc=sorted2&_summary=true", output); }
public void ParseAndSerializeParams() { var q = new SearchParams(); q.Add("_query", "special"); q.Add("_count", "31"); q.Add("_summary", "data"); q.Add("_sort:desc", "sorted"); q.Add("_sort:asc", "sorted2"); q.Add("_include", "Patient.name"); q.Add("_include", "Observation.subject"); q.Add("image:missing", "true"); q.Add("_elements", "field1,field2"); var output = q.ToUriParamList().ToQueryString(); Assert.AreEqual("_query=special&_count=31&_include=Patient.name&_include=Observation.subject&_sort%3Adesc=sorted&_sort%3Aasc=sorted2&_summary=data&_elements=field1%2Cfield2&image%3Amissing=true", output); var q2 = SearchParams.FromUriParamList(UriParamList.FromQueryString(output)); Assert.AreEqual(q.Query, q2.Query); Assert.AreEqual(q.Count, q2.Count); Assert.AreEqual(q.Summary, q2.Summary); CollectionAssert.AreEquivalent(q.Sort.ToList(), q2.Sort.ToList()); CollectionAssert.AreEquivalent(q.Include.ToList(), q2.Include.ToList()); CollectionAssert.AreEquivalent(q.Parameters.ToList(), q2.Parameters.ToList()); CollectionAssert.AreEquivalent(q.Elements.ToList(), q2.Elements.ToList()); }
public TransactionBuilder Search(SearchParams q = null, string resourceType = null) { var entry = newEntry(Bundle.HTTPVerb.GET); var path = newRestUrl(); if (resourceType != null) path.AddPath(resourceType); if(q != null) path.AddParams(q.ToUriParamList()); addEntry(entry, path); return this; }
public TransactionBuilder Create(Resource body, SearchParams condition) { var entry = newEntry(Bundle.HTTPVerb.POST); entry.Resource = body; var path = newRestUrl().AddPath(body.TypeName); var nonExist = new RestUrl(path); nonExist.AddParams(condition.ToUriParamList()); entry.Request.IfNoneExist = nonExist.ToString(); addEntry(entry, path); return this; }
public TransactionBuilder Delete(string resourceType, SearchParams condition) { var entry = newEntry(Bundle.HTTPVerb.DELETE); var path = newRestUrl().AddPath(resourceType); path.AddParams(condition.ToUriParamList()); addEntry(entry, path); return this; }
public TransactionBuilder Update(SearchParams condition, Resource body, string ifMatch=null) { var entry = newEntry(Bundle.HTTPVerb.PUT); entry.Resource = body; var path = newRestUrl().AddPath(body.TypeName); path.AddParams(condition.ToUriParamList()); addEntry(entry, path); return this; }