public async Task <IActionResult> SearchData(string search) { if (search.IsEmpty()) { return(Json(null)); } var request = new LabelSearchListRequest(CurrentUser.Id, search); request.PagingInfo.Take = 6; var response = await _labelService.GetLabels(request); if (response.Status.IsNotSuccess) { return(NotFound()); } return(Json(response.Items)); }
public async Task <IActionResult> SearchListData(string search, int skip, int take) { if (search.IsEmpty()) { return(Json(null)); } var request = new LabelSearchListRequest(CurrentUser.Id, search); SetPaging(skip, take, request); var response = await _labelService.GetLabels(request); if (response.Status.IsNotSuccess) { return(NotFound()); } var result = new DataResult(); result.AddHeaders("label_key", "label_translation_count", "description", "is_active"); for (var i = 0; i < response.Items.Count; i++) { var item = response.Items[i]; var stringBuilder = new StringBuilder(); stringBuilder.Append($"{item.Uid}{DataResult.SEPARATOR}"); stringBuilder.Append($"{result.PrepareLink($"/Label/Detail/{item.Key}", item.Key)}{DataResult.SEPARATOR}"); stringBuilder.Append($"{item.LabelTranslationCount}{DataResult.SEPARATOR}"); stringBuilder.Append($"{item.Description}{DataResult.SEPARATOR}"); stringBuilder.Append($"{item.IsActive}{DataResult.SEPARATOR}"); result.Data.Add(stringBuilder.ToString()); } result.PagingInfo = response.PagingInfo; result.PagingInfo.Type = PagingInfo.PAGE_NUMBERS; return(Json(result)); }
public async Task <LabelSearchListResponse> GetLabels(LabelSearchListRequest request) { var response = new LabelSearchListResponse(); var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId); Expression <Func <Label, bool> > filter = x => x.Name.Contains(request.SearchTerm) && x.OrganizationId == currentUser.OrganizationId; List <Label> entities = await _labelRepository.SelectMany(filter, request.PagingInfo.Skip, request.PagingInfo.Take, x => x.Id, request.PagingInfo.IsAscending); if (entities != null) { for (var i = 0; i < entities.Count; i++) { var entity = entities[i]; var dto = _labelFactory.CreateDtoFromEntity(entity); response.Items.Add(dto); } } response.Status = ResponseStatus.Success; return(response); }
public static LabelSearchListRequest GetLabelSearchListRequest() { var request = new LabelSearchListRequest(CurrentUserId, StringOne); return(request); }