/// <summary> /// SearchO peration /// </summary> public IEnumerable <Operation> SearchOperation(OperationSearchRequest request, out int rowCount) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <Operation, bool> > query = operation => (string.IsNullOrEmpty(request.OperationFilterText) || (operation.OperationCode.Contains(request.OperationFilterText)) || (operation.OperationName.Contains(request.OperationFilterText))) && (string.IsNullOrEmpty(request.DepartmentTypeText) || (operation.Department.DepartmentType.Contains(request.DepartmentTypeText))); rowCount = DbSet.Count(query); return(request.IsAsc ? DbSet.Where(query) .OrderBy(operationOrderByClause[request.OperationOrderBy]) .Skip(fromRow) .Take(toRow) .ToList() : DbSet.Where(query) .OrderByDescending(operationOrderByClause[request.OperationOrderBy]) .Skip(fromRow) .Take(toRow) .ToList()); }
/// <summary> /// Get Operations /// </summary> public OperationSearchResponse Get([FromUri] OperationSearchRequest oppRequest) { if (oppRequest == null || !ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(operationService.SearchOperation(oppRequest).CreateFrom()); }
/// <summary> /// Search Operation /// </summary> public OperationSearchResponse SearchOperation(OperationSearchRequest searchRequest) { int rowCount; return(new OperationSearchResponse { Operations = operationRepository.SearchOperation(searchRequest, out rowCount), TotalCount = rowCount }); }