public IHttpActionResult Get( [FromUri] SpecialOwnerFilterModel filter, [FromUri] PageInfoModel pageInfo) { filter = filter ?? new SpecialOwnerFilterModel(); pageInfo = pageInfo ?? new PageInfoModel(); PagedResult <SpecialOwnerDto> pagedResult; var paging = MappingHelper.MapToPageInfo(pageInfo); if (!paging.OrderBy.IsValidFor(_repo.Columns)) { return(BadRequest($"Unknown field : {paging.OrderBy.Name}.")); } if (filter.IsEmpty()) { pagedResult = _repo.PagedQuery(paging); return(CreateActionResultFor(pagedResult)); } // Apply filter. var query = MapToQuery(filter); pagedResult = _repo.PagedQuery(paging, query); return(CreateActionResultFor(pagedResult)); }
private static SpecialOwnerQuery MapToQuery(SpecialOwnerFilterModel filter) => new SpecialOwnerQuery { CreatedBy = filter.CreatedBy, ModifiedBy = filter.ModifiedBy, Name = filter.Name, Remark = filter.Remark };