KnowledgeService.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using Grpc.Core;
  2. using Grpc.Extension.Abstract;
  3. using Microsoft.AspNetCore.Authorization;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. using TEAMModelOS.SDK.Helper.Common.JsonHelper;
  9. using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
  10. using TEAMModelOS.Service.Models.Syllabus;
  11. using TEAMModelOS.GRPC.Models.Dtos;
  12. namespace TEAMModelOS.GRPC.Services.Syllabus
  13. {
  14. /// <summary>
  15. ///
  16. /// </summary>
  17. public class KnowledgeService : IGrpcService
  18. {
  19. public IAzureCosmosDBV3Repository cosmosDBV3Repository;
  20. /// <summary>
  21. ///
  22. /// </summary>
  23. /// <param name="cosmosDBV3Repository"></param>
  24. public KnowledgeService(IAzureCosmosDBV3Repository cosmosDBV3Repository)
  25. {
  26. this.cosmosDBV3Repository = cosmosDBV3Repository;
  27. }
  28. /// <summary>
  29. ///
  30. /// </summary>
  31. /// <param name="request"></param>
  32. /// <param name="responseStream"></param>
  33. /// <param name="context"></param>
  34. /// <returns></returns>
  35. //[Authorize]
  36. public async Task FinKnowledge(RequestDict request, IServerStreamWriter<Knowledge> responseStream, ServerCallContext context)
  37. {
  38. string a = request.dict.ToJson();
  39. Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(a);
  40. List<Knowledge> knowledges = await cosmosDBV3Repository.FindByDict<Knowledge>(keyValuePairs);
  41. knowledges.ForEach(x =>
  42. {
  43. responseStream.WriteAsync(x);
  44. });
  45. //ResponseList<Knowledge> listKnowledge = new ResponseList<Knowledge>();
  46. //listKnowledge.response = knowledges;
  47. //return await Task.FromResult(listKnowledge);
  48. }
  49. //[Authorize]
  50. //public async Task FinKnowledge(string request, IServerStreamWriter<Family> responseStream, ServerCallContext context)
  51. //{
  52. // Console.WriteLine("gRPC ");
  53. // string a = request.ToJson();
  54. // Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(request);
  55. // List<Family> knowledges = await cosmosDBV3Repository.FindByDict<Family>(keyValuePairs);
  56. // ListKnowledge listKnowledge = new ListKnowledge();
  57. // listKnowledge.knowledges = knowledges;
  58. // knowledges.ForEach(x =>
  59. // {
  60. // responseStream.WriteAsync(x);
  61. // });
  62. // //foreach (Family family in knowledges)
  63. // //{
  64. // // await responseStream.WriteAsync(family);
  65. // //}
  66. // //return await Task.FromResult(listKnowledge);
  67. //}
  68. }
  69. }