コード例 #1
0
        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));
 }