|
@@ -12,6 +12,7 @@ using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
|
|
|
using TEAMModelOS.SDK.Helper.Common.JsonHelper;
|
|
|
using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
|
|
|
using TEAMModelOS.SDK.Module.AzureServiceBus;
|
|
|
+using TEAMModelOS.Service.Models;
|
|
|
using TEAMModelOS.Service.Services.Learn.Interfaces;
|
|
|
|
|
|
namespace TEAMModelOS.Service.Services.Learn.Implements
|
|
@@ -62,27 +63,42 @@ namespace TEAMModelOS.Service.Services.Learn.Implements
|
|
|
await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
|
|
|
Dictionary<string, object> dict = Encoding.UTF8.GetString(message.Body).FromApiJson<Dictionary<string, object>>();
|
|
|
Dictionary<string, object> obj = new Dictionary<string, object>();
|
|
|
- dict.TryGetValue("info", out object info);
|
|
|
+ dict.TryGetValue("id", out object id);
|
|
|
+ dict.TryGetValue("pk", out object pk);
|
|
|
dict.TryGetValue("name", out object name);
|
|
|
dict.TryGetValue("status", out object status);
|
|
|
- obj.Add("id", info);
|
|
|
-
|
|
|
- var bus = await _cosmos.FindByDict(name.ToString(), obj);
|
|
|
- if (bus.IsNotEmpty())
|
|
|
- {
|
|
|
- string element = "";
|
|
|
- List<Dictionary<string, object>> AllInfo = new List<Dictionary<string, object>>();
|
|
|
- foreach (JsonElement e in bus) {
|
|
|
- element = e.ToApiJson();
|
|
|
- Dictionary<string, object> keyValues = element.FromJson<Dictionary<string, object>>();
|
|
|
- keyValues["status"] = int.Parse(status.ToString());
|
|
|
- AllInfo.Add(keyValues);
|
|
|
- Console.WriteLine($"-----------------------------------------------------: {keyValues}");
|
|
|
- //sta = e.GetProperty("status").GetInt32();
|
|
|
- }
|
|
|
- await _cosmos.UpdateAll(name.ToString(), bus);
|
|
|
-
|
|
|
+ if (name != null && id!=null && pk!=null && status!=null ) {
|
|
|
+ if (name.ToString() == typeof(Homework).Name) {
|
|
|
+ Homework data= await _cosmos.FindByIdPk<Homework>(id.ToString(), pk.ToString());
|
|
|
+ data.status = int.Parse(status.ToString());
|
|
|
+ await _cosmos.Update(data);
|
|
|
+ }
|
|
|
+ if (name.ToString() == typeof(Vote).Name)
|
|
|
+ {
|
|
|
+ Vote data = await _cosmos.FindByIdPk<Vote>(id.ToString(), pk.ToString());
|
|
|
+ data.status = int.Parse(status.ToString());
|
|
|
+ await _cosmos.Update(data);
|
|
|
+ }
|
|
|
+ if (name.ToString() == typeof(Survey).Name)
|
|
|
+ {
|
|
|
+ Survey data= await _cosmos.FindByIdPk<Survey>(id.ToString(), pk.ToString());
|
|
|
+ data.status = int.Parse(status.ToString());
|
|
|
+ await _cosmos.Update(data);
|
|
|
+ }
|
|
|
+ if (name.ToString() == typeof(ExamInfo).Name)
|
|
|
+ {
|
|
|
+ ExamInfo data= await _cosmos.FindByIdPk<ExamInfo>(id.ToString(), pk.ToString());
|
|
|
+ data.status = int.Parse(status.ToString());
|
|
|
+ await _cosmos.Update(data);
|
|
|
+ }
|
|
|
+ if (name.ToString() == typeof(LearnTask).Name)
|
|
|
+ {
|
|
|
+ LearnTask data = await _cosmos.FindByIdPk<LearnTask>(id.ToString(), pk.ToString());
|
|
|
+ data.status = int.Parse(status.ToString());
|
|
|
+ await _cosmos.Update(data);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//return message;
|
|
|
|
|
|
// Note: Use the cancellationToken passed as necessary to determine if the subscriptionClient has already been closed.
|