using CloudBuilder.Core.DependencyInjection.Request; using CloudBuilder.Core.Request; using CloudBuilder.Core.Service; using Microsoft.Extensions.DependencyInjection; using CloudBuilder.Master.Service; using CloudBuilder.Core.DatabaseAccessor.Entity; using CloudBuilder.Master.Entity; using CloudBuilder.Master.Data; using System; using CloudBuilder.Master.SearchCriteria; namespace CloudBuilder.Request.Master { public class FamilyTreeRequest : IRequest { private readonly IServiceRequest serviceRequest; public FamilyTreeRequest(IServiceRequest serviceRequest) { this.serviceRequest = serviceRequest; } public FamilyTreeData FindAllByTreeId(string treeId) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/FindAllByTreeId?treeId=" + treeId.ToString())).GetAwaiter().GetResult(); } public FamilyTreeData FindByKey(string key) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); } public class FindByCurrentPersonCompositionData2 { public string key { get; set; } public string personId { get; set; } } public FamilyTreeData FindByCurrentPerson(string key, string personId) { var compositionData = new FindByCurrentPersonCompositionData2{ key = key, personId = personId }; return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/FindByCurrentPerson", compositionData)).GetAwaiter().GetResult(); } public FamilyTreeResultData FindBySearchCriteria(FamilyTreeSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public FamilyTreeData Insert(FamilyTreeData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/Insert" , data)).GetAwaiter().GetResult(); } public FamilyTreeData Update(FamilyTreeData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/Update" , data)).GetAwaiter().GetResult(); } public void Delete(string key) { Task.Run(() => serviceRequest.PostAsync("/FamilyTree/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); } public void Deletes(string[] keys) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyTree/Deletes" , keys)).GetAwaiter().GetResult(); } } }