public async Task <ApiResult> GetHazardsAsync(HazardFilter hazardFilter) { var hazardsPagedResult = await hazardRepository.GetHazardsAsync(hazardFilter); var hazardsDtoPagedResult = new PagedResult <HazardDto>(); Mapper.Map(hazardsPagedResult, hazardsDtoPagedResult); return(new ApiResult(MessageType.Success, hazardsDtoPagedResult)); }
private Expression <Func <Hazard, bool> > GetHazardExpression(HazardFilter filter) { Expression <Func <Hazard, bool> > expression = null; if (filter.Id > 0) { expression = x => x.Id == filter.Id; } return(expression); }
public async Task <PagedResult <Hazard> > GetHazardsAsync(HazardFilter filter) { filter = filter ?? new HazardFilter(); var result = unitOfWork.Query(GetHazardExpression(filter), filter.PropertiesToInclude); List <Hazard> list = await result.OrderBy(filter.OrderBy) .Skip((filter.Page - 1) * filter.Skip).Take(filter.Take) .ToListAsync(); var pagedResult = new PagedResult <Hazard> { Data = list, PageInfo = await GetPageInfo(x => x.Id, filter, GetHazardExpression(filter)) }; return(pagedResult); }
public async Task <IHttpActionResult> GetHazards(HazardFilter filter) { var hazards = await hazardManager.GetHazardsAsync(filter); return(Ok(hazards)); }