12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using Grpc.Core;
- using Grpc.Extension.Abstract;
- using Microsoft.AspNetCore.Authorization;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using TEAMModelOS.SDK.Helper.Common.JsonHelper;
- using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
- using TEAMModelOS.Service.Models.Syllabus;
- using TEAMModelOS.GRPC.Models.Dtos;
- namespace TEAMModelOS.GRPC.Services.Syllabus
- {
- /// <summary>
- ///
- /// </summary>
- public class KnowledgeService : IGrpcService
- {
- public IAzureCosmosDBV3Repository cosmosDBV3Repository;
- /// <summary>
- ///
- /// </summary>
- /// <param name="cosmosDBV3Repository"></param>
- public KnowledgeService(IAzureCosmosDBV3Repository cosmosDBV3Repository)
- {
- this.cosmosDBV3Repository = cosmosDBV3Repository;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="request"></param>
- /// <param name="responseStream"></param>
- /// <param name="context"></param>
- /// <returns></returns>
- //[Authorize]
- public async Task FinKnowledge(RequestDict request, IServerStreamWriter<Knowledge> responseStream, ServerCallContext context)
- {
- string a = request.dict.ToJson();
- Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(a);
- List<Knowledge> knowledges = await cosmosDBV3Repository.FindByDict<Knowledge>(keyValuePairs);
-
- knowledges.ForEach(x =>
- {
- responseStream.WriteAsync(x);
- });
- //ResponseList<Knowledge> listKnowledge = new ResponseList<Knowledge>();
- //listKnowledge.response = knowledges;
- //return await Task.FromResult(listKnowledge);
- }
- //[Authorize]
- //public async Task FinKnowledge(string request, IServerStreamWriter<Family> responseStream, ServerCallContext context)
- //{
- // Console.WriteLine("gRPC ");
- // string a = request.ToJson();
- // Dictionary<string, object> keyValuePairs = JsonNetHelper.FromJson<Dictionary<string, object>>(request);
- // List<Family> knowledges = await cosmosDBV3Repository.FindByDict<Family>(keyValuePairs);
- // ListKnowledge listKnowledge = new ListKnowledge();
- // listKnowledge.knowledges = knowledges;
- // knowledges.ForEach(x =>
- // {
- // responseStream.WriteAsync(x);
- // });
- // //foreach (Family family in knowledges)
- // //{
- // // await responseStream.WriteAsync(family);
- // //}
- // //return await Task.FromResult(listKnowledge);
- //}
- }
- }
|