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);
//}
}
}