KnowledgeService.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. public class KnowledgeService : IGrpcService
  15. {
  16. public IAzureCosmosDBV3Repository cosmosDBV3Repository;
  17. public KnowledgeService(IAzureCosmosDBV3Repository cosmosDBV3Repository)
  18. {
  19. this.cosmosDBV3Repository = cosmosDBV3Repository;
  20. }
  21. //[Authorize]
  22. public async Task FinKnowledge1(RequestDict request, IServerStreamWriter<Knowledge> responseStream, ServerCallContext context)
  23. {
  24. string a = request.dict.ToJson();
  25. Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(a);
  26. List<Knowledge> knowledges = await cosmosDBV3Repository.FindByDict<Knowledge>(keyValuePairs);
  27. knowledges.ForEach(x =>
  28. {
  29. responseStream.WriteAsync(x);
  30. });
  31. //ResponseList<Knowledge> listKnowledge = new ResponseList<Knowledge>();
  32. //listKnowledge.response = knowledges;
  33. //return await Task.FromResult(listKnowledge);
  34. }
  35. //[Authorize]
  36. //public async Task FinKnowledge(string request, IServerStreamWriter<Family> responseStream, ServerCallContext context)
  37. //{
  38. // Console.WriteLine("gRPC ");
  39. // string a = request.ToJson();
  40. // Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(request);
  41. // List<Family> knowledges = await cosmosDBV3Repository.FindByDict<Family>(keyValuePairs);
  42. // ListKnowledge listKnowledge = new ListKnowledge();
  43. // listKnowledge.knowledges = knowledges;
  44. // knowledges.ForEach(x =>
  45. // {
  46. // responseStream.WriteAsync(x);
  47. // });
  48. // //foreach (Family family in knowledges)
  49. // //{
  50. // // await responseStream.WriteAsync(family);
  51. // //}
  52. // //return await Task.FromResult(listKnowledge);
  53. //}
  54. }
  55. }