예제 #1
0
        /// <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());
        }
예제 #2
0
 /// <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());
 }
예제 #3
0
        /// <summary>
        /// search work place data
        /// </summary>
        public WorkplaceSearchRequestResponse SearchWorkplace(WorkplaceSearchRequest request)
        {
            int rowCount;

            return(new WorkplaceSearchRequestResponse
            {
                WorkPlaces = workplaceRepository.SearchWorkplace(request, out rowCount),
                TotalCount = rowCount
            });
        }