EvaluationSyncInfoService.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Microsoft.Azure.Cosmos;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Text.Json;
  7. using System.Threading.Tasks;
  8. using TEAMModelOS.SDK.DI;
  9. using TEAMModelOS.SDK.Models.Cosmos.Normal;
  10. namespace TEAMModelOS.SDK.Models.Service
  11. {
  12. public sealed class EvaluationSyncInfoService
  13. {
  14. /// <summary>
  15. /// 活动数据打包
  16. /// </summary>
  17. /// <param name="id"></param>
  18. /// <param name="scope"></param>
  19. /// <param name="owner"></param>
  20. /// <param name="type"></param>
  21. /// <param name="azureCosmos"></param>
  22. /// <param name="azureStorage"></param>
  23. public static async Task PackageEvaluation( string id,string scope, string owner, string type, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage)
  24. {
  25. EvaluationSyncInfo evaluationSyncInfo= null;
  26. var responseEvaluationSyncInfo = await azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Normal).ReadItemStreamAsync(id, new PartitionKey("EvaluationSyncInfo"));
  27. if (responseEvaluationSyncInfo.IsSuccessStatusCode)
  28. {
  29. evaluationSyncInfo= JsonDocument.Parse(responseEvaluationSyncInfo.Content).RootElement.Deserialize<EvaluationSyncInfo>();
  30. }
  31. else {
  32. evaluationSyncInfo=new EvaluationSyncInfo {
  33. id = id,
  34. scope = scope,
  35. owner = owner,
  36. type = type,
  37. pk="EvaluationSyncInfo",
  38. code="ActivitySyncInfo",
  39. };
  40. }
  41. switch (true)
  42. {
  43. case bool when (type == "Exam"):
  44. break;
  45. case bool when (type == "Art"):
  46. break;
  47. default:
  48. break;
  49. }
  50. }
  51. }
  52. }