private async Task <Tuple <int, string> > TryGetGoupUid(ChangeHistoryViewModel model) { int?groupUid = null; var groupName = ""; if (model.GroupSearchModel.AutoSuggestValueAsInt.HasValue) { groupUid = model.GroupSearchModel.AutoSuggestValueAsInt.Value; var group = await _groupReadService.GetAsync(groupUid.Value, User); if (group.Success) { groupName = group.ReturnValue.Name; } } if (groupUid == null || string.IsNullOrWhiteSpace(groupName)) { ApiPagedResult <SearchGroupDocument> results = null; var searchText = model.GroupSearchModel.Text.Clean(); if (searchText != null) { results = await _groupReadService.SearchByIdsAsync(searchText, searchText.ToInteger(), searchText, searchText.ToInteger(), User); } if (results == null || results.Count == 0) { var payload = new GroupSearchPayload(model.Skip, model.Take) { Text = model.GroupSearchModel.Text.Clean() }; results = await _groupReadService.SearchAsync(payload, User); } if (results != null && results.Count > 0) { groupUid = results.Items.First().GroupUId; groupName = results.Items.First().Name; } else { return(null); } } return(new Tuple <int, string>(groupUid.Value, groupName)); }
public async Task <ApiPagedResult <SearchGroupDocument> > SearchAsync(GroupSearchPayload payload, IPrincipal principal) { return((await _httpClient.PostAsync <ApiPagedResult <SearchGroupDocument> >("group/search", payload, principal)).GetResponse()); }