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 { /// /// /// public class KnowledgeService : IGrpcService { public IAzureCosmosDBV3Repository cosmosDBV3Repository; /// /// /// /// public KnowledgeService(IAzureCosmosDBV3Repository cosmosDBV3Repository) { this.cosmosDBV3Repository = cosmosDBV3Repository; } /// /// /// /// /// /// /// //[Authorize] public async Task FinKnowledge(RequestDict request, IServerStreamWriter responseStream, ServerCallContext context) { string a = request.dict.ToJson(); Dictionary keyValuePairs = JsonNetHelper.FromJson>(a); List knowledges = await cosmosDBV3Repository.FindByDict(keyValuePairs); knowledges.ForEach(x => { responseStream.WriteAsync(x); }); //ResponseList listKnowledge = new ResponseList(); //listKnowledge.response = knowledges; //return await Task.FromResult(listKnowledge); } //[Authorize] //public async Task FinKnowledge(string request, IServerStreamWriter responseStream, ServerCallContext context) //{ // Console.WriteLine("gRPC "); // string a = request.ToJson(); // Dictionary keyValuePairs = JsonNetHelper.FromJson>(request); // List knowledges = await cosmosDBV3Repository.FindByDict(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); //} } }