/// <summary> /// Get Maintenance Types /// </summary> public MaintenanceTypeSearchRequestResponse Get([FromUri] MaintenanceTypeSearchRequest request) { if (request == null || !ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(maintenanceTypeService.SearchMaintenanceType(request).CreateFrom()); }
/// <summary> /// Search Maintenance Type /// </summary> public MaintenanceTypeSearchRequestResponse SearchMaintenanceType(MaintenanceTypeSearchRequest request) { int rowCount; return(new MaintenanceTypeSearchRequestResponse { MaintenanceTypes = maintenanceTypeRepository.SearchMaintenanceType(request, out rowCount), TotalCount = rowCount }); }
/// <summary> /// Search Maintenance Type /// </summary> public IEnumerable <MaintenanceType> SearchMaintenanceType(MaintenanceTypeSearchRequest request, out int rowCount) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <MaintenanceType, bool> > query = maintenanceType => (string.IsNullOrEmpty(request.MaintenanceTypeCodeNameText) || (maintenanceType.MaintenanceTypeCode.Contains(request.MaintenanceTypeCodeNameText)) || (maintenanceType.MaintenanceTypeName.Contains(request.MaintenanceTypeCodeNameText))) && (!request.MaintenanceTypeGroypId.HasValue || request.MaintenanceTypeGroypId == maintenanceType.MaintenanceTypeGroupId); rowCount = DbSet.Count(query); return(request.IsAsc ? DbSet.Where(query) .OrderBy(maintenanceTypeOrderByClause[request.MaintenanceTypeOrderBy]) .Skip(fromRow) .Take(toRow) .ToList() : DbSet.Where(query) .OrderByDescending(maintenanceTypeOrderByClause[request.MaintenanceTypeOrderBy]) .Skip(fromRow) .Take(toRow) .ToList()); }