diff --git a/src/stream-net-tests/IntegrationTests.cs b/src/stream-net-tests/IntegrationTests.cs index 5df784d..85d3e7d 100644 --- a/src/stream-net-tests/IntegrationTests.cs +++ b/src/stream-net-tests/IntegrationTests.cs @@ -1575,18 +1575,18 @@ public async Task TestCollectionsSelect() id2 = System.Guid.NewGuid().ToString(); var data1 = new CollectionObject(id1); data1.SetData("hobbies", new List { "eating", "coding" }); + data1.SetData(new Dictionary { ["name"] = "John" }); var data2 = new CollectionObject(id2); data2.SetData("vacation", new List { "Spain", "Iceland" }); - var data = new List { data1, data2 }; - - await this._client.Collections.UpsertMany("people", data); + await this._client.Collections.UpsertMany("people", new[] { data1, data2 }); var result = await this._client.Collections.Select("people", id1); Assert.NotNull(result); Assert.AreEqual(data1.ID, result.ID); Assert.AreEqual(data1.GetData>("hobbies"), result.GetData>("hobbies")); + Assert.AreEqual(data1.GetData("name"), result.GetData("name")); } [Test] diff --git a/src/stream-net/Activity.cs b/src/stream-net/Activity.cs index a7a408c..364544b 100644 --- a/src/stream-net/Activity.cs +++ b/src/stream-net/Activity.cs @@ -85,6 +85,8 @@ public T GetData(string name) public void SetData(string name, T data) => SetData(name, data, null); + public void SetData(IEnumerable> data) => data.ForEach(x => SetData(x.Key, x.Value, null)); + public void SetData(string name, T data, JsonSerializer serializer) { if (serializer != null) diff --git a/src/stream-net/Collections.cs b/src/stream-net/Collections.cs index 72962ca..3b2b5d6 100644 --- a/src/stream-net/Collections.cs +++ b/src/stream-net/Collections.cs @@ -21,25 +21,15 @@ public CollectionObject(string id) ID = id; } - public T GetData(string name) - { - return this._data.GetData(name); - } + public T GetData(string name) => _data.GetData(name); - public void SetData(string name, T data) - { - this._data.SetData(name, data); - } + public void SetData(string name, T data) => _data.SetData(name, data); - public void SetData(string name, T data, JsonSerializer serializer) - { - this._data.SetData(name, data, serializer); - } + public void SetData(IEnumerable> data) => data.ForEach(x => SetData(x.Key, x.Value, null)); - public string Ref(string collectionName) - { - return Collections.Ref(collectionName, this); - } + public void SetData(string name, T data, JsonSerializer serializer) => _data.SetData(name, data, serializer); + + public string Ref(string collectionName) => Collections.Ref(collectionName, this); internal JObject ToJObject() { diff --git a/src/stream-net/EnrichedActivity.cs b/src/stream-net/EnrichedActivity.cs index 62aedf1..031170e 100644 --- a/src/stream-net/EnrichedActivity.cs +++ b/src/stream-net/EnrichedActivity.cs @@ -78,6 +78,8 @@ public T GetData(string name) public void SetData(string name, T data) => SetData(name, data, null); + public void SetData(IEnumerable> data) => data.ForEach(x => SetData(x.Key, x.Value, null)); + public void SetData(string name, T data, JsonSerializer serializer) { if (serializer != null) diff --git a/src/stream-net/GenericData.cs b/src/stream-net/GenericData.cs index 085c4e9..4113b34 100644 --- a/src/stream-net/GenericData.cs +++ b/src/stream-net/GenericData.cs @@ -20,6 +20,8 @@ public T GetData(string name) public void SetData(string name, T data) => SetData(name, data, null); + public void SetData(IEnumerable> data) => data.ForEach(x => SetData(x.Key, x.Value, null)); + public void SetData(string name, T data, JsonSerializer serializer) { if (serializer != null)