public async Task <OperationDataResult <ItemsListsModel> > Index(ItemsListRequestModel pnRequestModel) { try { var listsModel = new ItemsListsModel(); var itemListsQuery = _dbContext.ItemLists .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .AsQueryable(); itemListsQuery = QueryHelper.AddSortToQuery(itemListsQuery, pnRequestModel.Sort, pnRequestModel.IsSortDsc); if (!string.IsNullOrEmpty(pnRequestModel.NameFilter)) { itemListsQuery = itemListsQuery.Where(x => x.Name.Contains(pnRequestModel.NameFilter)); } listsModel.Total = await itemListsQuery.Select(x => x.Id).CountAsync(); itemListsQuery = itemListsQuery .Skip(pnRequestModel.Offset) .Take(pnRequestModel.PageSize); listsModel.Lists = await itemListsQuery .Select(x => new ItemsListPnModel { Id = x.Id, Name = x.Name, Description = x.Description, RepeatEvery = x.RepeatEvery, RepeatType = x.RepeatType, RepeatUntil = x.RepeatUntil, DayOfWeek = x.DayOfWeek, DayOfMonth = x.DayOfMonth, RelatedEFormId = x.RelatedEFormId, RelatedEFormName = x.RelatedEFormName, }).ToListAsync(); return(new OperationDataResult <ItemsListsModel>(true, listsModel)); } catch (Exception e) { Trace.TraceError(e.Message); return(new OperationDataResult <ItemsListsModel>(false, _itemsPlanningLocalizationService.GetString("ErrorObtainingLists"))); } }
public async Task <OperationDataResult <ItemsListsModel> > Index([FromBody] ItemsListRequestModel requestModel) { return(await _listService.Index(requestModel)); }