using CloudBuilder.Core.DependencyInjection.Request; using CloudBuilder.Core.Request; using CloudBuilder.Core.Service; using Microsoft.Extensions.DependencyInjection; using CloudBuilder.AI.Service; using CloudBuilder.Core.DatabaseAccessor.Entity; using CloudBuilder.AI.Data; using System; using CloudBuilder.AI.Entity; using CloudBuilder.AI.SearchCriteria; using Microsoft.AspNetCore.Mvc; namespace CloudBuilder.Request.AI { public class AiBookRequest : IRequest { private readonly IServiceRequest serviceRequest; public AiBookRequest(IServiceRequest serviceRequest) { this.serviceRequest = serviceRequest; } public AiBookData FindByKey(string key) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); } public AiBookEntity FindByTitle(string title) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/FindByTitle?title=" + title.ToString())).GetAwaiter().GetResult(); } public AiBookResultData FindBySearchCriteria(AiBookSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public AiBookData Insert(AiBookData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/Insert" , data)).GetAwaiter().GetResult(); } public AiBookData Update(AiBookData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/Update" , data)).GetAwaiter().GetResult(); } public void Delete(string key) { Task.Run(() => serviceRequest.PostAsync("/AiBook/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); } public void Deletes(string[] keys) { Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/Deletes" , keys)).GetAwaiter().GetResult(); } public class ProcessBookCompositionData3 { public string key { get; set; } public string encoding { get; set; } public string pattern { get; set; } } public AiBookData ProcessBook(string key, string encoding, string pattern) { var compositionData = new ProcessBookCompositionData3{ key = key, encoding = encoding, pattern = pattern }; return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/ProcessBook", compositionData)).GetAwaiter().GetResult(); } public IActionResult GetMp3Stream(AiSentenceViewEntity aiSentence) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/GetMp3Stream" , aiSentence)).GetAwaiter().GetResult(); } public void GenerateMp3(AiChapterEntity[] chapters) { Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/GenerateMp3" , chapters)).GetAwaiter().GetResult(); } public void GenerateMp3ByBookId(string bookId) { Task.Run(() => serviceRequest.PostAsync("/AiBook/GenerateMp3ByBookId?bookId=" + bookId.ToString())).GetAwaiter().GetResult(); } public void PackPersonNameByBookId(string bookId) { Task.Run(() => serviceRequest.PostAsync("/AiBook/PackPersonNameByBookId?bookId=" + bookId.ToString())).GetAwaiter().GetResult(); } public void PackPersonName(AiChapterEntity[] chapters) { Task.Run(() => serviceRequest.PostAsJsonAsync("/AiBook/PackPersonName" , chapters)).GetAwaiter().GetResult(); } } }