/// <summary> /// Get Service Types /// </summary> public ServiceTypeSearchRequestResponse Get([FromUri] ServiceTypeSearchRequest request) { if (request == null || !ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(serviceTypeService.SearchServiceType(request).CreateFrom()); }
/// <summary> /// Search Service Type /// </summary> public ServiceTypeSearchRequestResponse SearchServiceType(ServiceTypeSearchRequest request) { int rowCount; return(new ServiceTypeSearchRequestResponse { ServiceTypes = serviceTypeRepository.SearchServiceType(request, out rowCount), TotalCount = rowCount }); }
/// <summary> /// Search Service Type /// </summary> public IEnumerable <ServiceType> SearchServiceType(ServiceTypeSearchRequest request, out int rowCount) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <ServiceType, bool> > query = serviceType => (string.IsNullOrEmpty(request.ServiceTypeFilterText) || (serviceType.ServiceTypeCode.Contains(request.ServiceTypeFilterText)) || (serviceType.ServiceTypeName.Contains(request.ServiceTypeFilterText))); rowCount = DbSet.Count(query); return(request.IsAsc ? DbSet.Where(query) .OrderBy(serviceTypeOrderByClause[request.ServiceTypeOrderBy]) .Skip(fromRow) .Take(toRow) .ToList() : DbSet.Where(query) .OrderByDescending(serviceTypeOrderByClause[request.ServiceTypeOrderBy]) .Skip(fromRow) .Take(toRow) .ToList()); }
public async Task <ResponseDTO <PagedList <ServiceTypeDTO> > > SearchServiceTypeByNameAsync(ServiceTypeSearchRequest search) { Expression <Func <ServiceTypeDTO, bool> > queryFilter = c => c.RowStatus; if (!string.IsNullOrEmpty(search.Name)) { queryFilter = queryFilter.And(p => p.Name.Contains(search.Name)); } var product = await _serviceTypeDataAcces.ListPagedAsync(x => x.Name.StartsWith(search.Name), search.Page, search.PageSize); var pagedResult = new PagedList <ServiceTypeDTO>() { Items = product.Items, PageSize = product.PageSize, Page = product.Page, Total = product.Total }; return(ResponseBuilder.Correct(pagedResult)); }