Example #1
0
        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());
 }