public async Task <ApiResult> GetHazardGroupsAsync(HazardGroupFilter hazardGroupFilter) { var hazardGroupsPagedResult = await hazardGroupRepository.GetHazardGroupsAsync(hazardGroupFilter); var hazardGroupsDtoPagedResult = new PagedResult <HazardGroupDto>(); Mapper.Map(hazardGroupsPagedResult, hazardGroupsDtoPagedResult); return(new ApiResult(MessageType.Success, hazardGroupsDtoPagedResult)); }
private Expression <Func <HazardGroup, bool> > GetInstallationExpression(HazardGroupFilter filter) { Expression <Func <HazardGroup, bool> > expression = null; if (filter.Id > 0) { expression = x => x.Id == filter.Id; } return(expression); }
public async Task <PagedResult <HazardGroup> > GetHazardGroupsAsync(HazardGroupFilter filter) { filter = filter ?? new HazardGroupFilter(); var result = unitOfWork.Query(GetInstallationExpression(filter), filter.PropertiesToInclude); List <HazardGroup> list = await result.OrderBy(filter.OrderBy) .Skip((filter.Page - 1) * filter.Skip).Take(filter.Take) .ToListAsync(); var pagedResult = new PagedResult <HazardGroup> { Data = list, PageInfo = await GetPageInfo(x => x.Id, filter, GetInstallationExpression(filter)) }; return(pagedResult); }
public async Task <IHttpActionResult> GetHazardGroups(HazardGroupFilter filter) { var hazardGroups = await hazardGroupManager.GetHazardGroupsAsync(filter); return(Ok(hazardGroups)); }