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 Microsoft.AspNetCore.Http; using CloudBuilder.Master.Entity; using System; using CloudBuilder.Master.Data; using CloudBuilder.Master.SearchCriteria; namespace CloudBuilder.Request.Master { public class FamilyGroupRequest : IRequest { private readonly IServiceRequest serviceRequest; public FamilyGroupRequest(IServiceRequest serviceRequest) { this.serviceRequest = serviceRequest; } public FamilyGroupData FindByKey(string key) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); } public FamilyGroupResultData FindBySearchCriteria(FamilyGroupSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public FamilyGroupResultData FindFamilyUserBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/FindFamilyUserBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public FamilyGroupResultData FamilyFolderFavoriteBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/FamilyFolderFavoriteBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public dynamic PrintBySearchCriteria(FamilyGroupSearchCriteria criteria) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); } public FamilyGroupData Insert(FamilyGroupData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/Insert" , data)).GetAwaiter().GetResult(); } public FamilyGroupData Update(FamilyGroupData data) { return Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/Update" , data)).GetAwaiter().GetResult(); } public void Delete(string key) { Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); } public void InsertFamilyGroupManager(FamilyGroupManagerEntity manager) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/InsertFamilyGroupManager" , manager)).GetAwaiter().GetResult(); } public void InsertFamilyGroupPermission(FamilyGroupPermissionEntity[] managers) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/InsertFamilyGroupPermission" , managers)).GetAwaiter().GetResult(); } public void UpdateFamilyGroupManager(FamilyGroupManagerEntity manager) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/UpdateFamilyGroupManager" , manager)).GetAwaiter().GetResult(); } public void DeleteFamilyGroupManager(FamilyGroupManagerEntity manager) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/DeleteFamilyGroupManager" , manager)).GetAwaiter().GetResult(); } public void InsertFamilyFolderFavorite(string folderName) { Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/InsertFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); } public void DeleteFamilyFolderFavorite(string folderName) { Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/DeleteFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); } public void DeleteFamilyFolderFavorites(FamilyFolderFavoriteEntity[] familyFolderFavorites) { Task.Run(() => serviceRequest.PostAsJsonAsync("/FamilyGroup/DeleteFamilyFolderFavorites" , familyFolderFavorites)).GetAwaiter().GetResult(); } } }