/// <summary> /// Search Workplace /// </summary> public IEnumerable <WorkPlace> SearchWorkplace(WorkplaceSearchRequest request, out int rowCount) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <WorkPlace, bool> > query = workplace => (string.IsNullOrEmpty(request.WorkplaceFilterText) || (workplace.WorkPlaceCode.Contains(request.WorkplaceFilterText)) || (workplace.WorkPlaceName.Contains(request.WorkplaceFilterText))) && (!request.CompanyId.HasValue || request.CompanyId == workplace.WorkLocation.CompanyId) && (!request.WorkplaceTypeId.HasValue || request.WorkplaceTypeId == workplace.WorkPlaceTypeId); rowCount = DbSet.Count(query); return(request.IsAsc ? DbSet.Where(query) .OrderBy(workPlaceOrderByClause[request.WorkplaceOrderBy]) .Skip(fromRow) .Take(toRow) .ToList() : DbSet.Where(query) .OrderByDescending(workPlaceOrderByClause[request.WorkplaceOrderBy]) .Skip(fromRow) .Take(toRow) .ToList()); }
/// <summary> /// Get WorkPlace /// </summary> public WorkplaceSearchRequestResponse Get([FromUri] WorkplaceSearchRequest workplaceSearchRequest) { if (workplaceSearchRequest == null || !ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(workplaceService.SearchWorkplace(workplaceSearchRequest).CreateFrom()); }
/// <summary> /// search work place data /// </summary> public WorkplaceSearchRequestResponse SearchWorkplace(WorkplaceSearchRequest request) { int rowCount; return(new WorkplaceSearchRequestResponse { WorkPlaces = workplaceRepository.SearchWorkplace(request, out rowCount), TotalCount = rowCount }); }