示例#1
0
        public IHttpActionResult Get(
            [FromUri] AssetHistoryFilterModel filter,
            [FromUri] PageInfoModel pageInfo)
        {
            filter   = filter ?? new AssetHistoryFilterModel();
            pageInfo = pageInfo ?? new PageInfoModel();
            PagedResult <AssetHistoryDto> pagedResult;

            var paging = MappingHelper.MapToPageInfo(pageInfo);

            if (!paging.OrderBy.IsValidFor(_assetHistoryRepo.Columns))
            {
                return(BadRequest($"Unknown field : {paging.OrderBy.Name}."));
            }

            if (filter.IsEmpty())
            {
                pagedResult = _assetHistoryRepo.PagedQuery(paging);

                return(CreateActionResultFor(pagedResult));
            }

            // Apply filter.
            var query = MapToQuery(filter);

            pagedResult = _assetHistoryRepo.PagedQuery(paging, query);

            return(CreateActionResultFor(pagedResult));
        }
示例#2
0
 private static AssetHistoryQuery MapToQuery(AssetHistoryFilterModel filter) =>
 new AssetHistoryQuery
 {
     AssetId = filter.AssetId,
     Tag     = filter.Tag
 };