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));
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }