public async Task <ApiResult> GetAreaTypesAsync(AreaTypeFilter areaTypeFilter) { var areaTypesPagedResult = await areaTypeRepository.GetAreaTypesAsync(areaTypeFilter); var areaTypesModelPagedResult = new PagedResult <AreaTypeDto>(); Mapper.Map(areaTypesPagedResult, areaTypesModelPagedResult); return(new ApiResult(MessageType.Success, areaTypesModelPagedResult)); }
private Expression <Func <AreaType, bool> > GetAreaTypeExpression(AreaTypeFilter filter) { Expression <Func <AreaType, bool> > expression = null; if (filter.Id > 0) { expression = x => x.Id == filter.Id; } return(expression); }
public async Task <PagedResult <AreaType> > GetAreaTypesAsync(AreaTypeFilter filter) { filter = filter ?? new AreaTypeFilter(); var result = unitOfWork.Query(GetAreaTypeExpression(filter), filter.PropertiesToInclude); List <AreaType> list = await result.OrderBy(filter.OrderBy) .Skip((filter.Page - 1) * filter.Skip).Take(filter.Take) .ToListAsync(); var pagedResult = new PagedResult <AreaType> { Data = list, PageInfo = await GetPageInfo(x => x.Id, filter, GetAreaTypeExpression(filter)) }; return(pagedResult); }
public async Task <IHttpActionResult> GetAreaTypes(AreaTypeFilter filter) { var areaTypes = await areaTypeManager.GetAreaTypesAsync(filter); return(Ok(areaTypes)); }