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.Entity; using System; using CloudBuilder.AI.Data; using CloudBuilder.AI.SearchCriteria; 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(); } } }