using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using DTO; using Entity; using Shared; using Dto2Entities; using static System.Net.Mime.MediaTypeNames; using Microsoft.EntityFrameworkCore.Metadata.Internal; namespace ServicesApi { public class QuestionService : IQuestionService { private IQuestionService questionService; public QuestionService(IQuestionService question) { questionService = question; } public async Task AddQuestion(QuestionDTO question) { await questionService.AddQuestion(question.ToEntity()); } public async Task CountQuestions() { return await questionService.CountQuestions(); } public async Task> GetAllQuestion() { var questions = questionService.GetAllQuestion().Result.items; return new PaginationResult(questions.Count(), 0, 10, questions.ToDto()); } public async Task> GetInvalidQuestion(int index, int pageSize) { var questions = questionService.GetInvalidQuestion(index,pageSize).Result.items; return new PaginationResult(questions.Count(), 0, 10, questions.ToDto()); } public async Task GetQuestionById(int id) { return questionService.GetQuestionById(id).Result.ToDto(); } public async Task GetRandomQuestion() { return questionService.GetRandomQuestion().Result.ToDto(); } public async Task GetRandomQuestionQuoteToCharacter() { return questionService.GetRandomQuestionQuoteToCharacter().Result.ToDto(); } public async Task GetRandomQuestionQuoteToSource() { return questionService.GetRandomQuestionQuoteToSource().Result.ToDto(); } public async Task> GetSomeQuestion(int index, int pageSize) { var questions = questionService.GetSomeQuestion(index, pageSize).Result.items; return new PaginationResult(questions.Count(), 0, 10, questions.ToDto()); } public async Task RemoveQuestion(int id) { await questionService.RemoveQuestion(id); } public async Task UpdateQuestion(int id, QuestionDTO question) { await questionService.UpdateQuestion(id, question.ToEntity()); } public async Task ValidateQuestion(int id, bool isvalid) { await questionService.ValidateQuestion(id, isvalid); } } }