public async Task <OperationDataResult <SegmentsModel> > Index(SegmentRequestModel pnRequestModel) { try { SegmentsModel segmentsModel = new SegmentsModel(); IQueryable <Segment> segmentQuery = _dbContext.Segments.AsQueryable(); if (!string.IsNullOrEmpty(pnRequestModel.Sort)) { if (pnRequestModel.IsSortDsc) { segmentQuery = segmentQuery .CustomOrderByDescending(pnRequestModel.Sort); } else { segmentQuery = segmentQuery .CustomOrderBy(pnRequestModel.Sort); } } else { segmentQuery = _dbContext.Segments .OrderBy(x => x.Id); } segmentQuery = segmentQuery .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .Skip(pnRequestModel.Offset) .Take(pnRequestModel.PageSize); List <SegmentModel> segmentModels = await segmentQuery.Select(x => new SegmentModel { Id = x.Id, Name = x.Name, Description = x.Description, SdkFolderId = x.SdkFolderId }).ToListAsync(); segmentsModel.Total = await _dbContext.Segments.CountAsync(x => x.WorkflowState != Constants.WorkflowStates.Removed); segmentsModel.SegmentList = segmentModels; Core _core = await _coreHelper.GetCore(); return(new OperationDataResult <SegmentsModel>(true, segmentsModel)); } catch (Exception e) { Trace.TraceError(e.Message); _coreHelper.LogException(e.Message); return(new OperationDataResult <SegmentsModel>(false, _trashInspectionLocalizationService.GetString("ErrorObtainingSegments"))); } }
public async Task <OperationDataResult <SegmentsModel> > Index(SegmentRequestModel requestModel) { return(await _segmentService.Index(requestModel)); }