/// <summary> /// Get all NRT Main /// </summary> public NrtQueueSearchResponse GetNrtMainsForNrtQueue(NrtQueueSearchRequest request) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <NrtMain, bool> > query = s => (!request.NrtNumber.HasValue || s.NrtMainId == request.NrtNumber) && (!request.CloseLocationId.HasValue || s.CloseLocationId == request.CloseLocationId) && (!request.OpenLocationId.HasValue || s.OpenLocationId == request.OpenLocationId) && (!request.StartDate.HasValue || DbFunctions.TruncateTime(s.StartDtTime) == DbFunctions.TruncateTime(request.StartDate)) && (!request.EndDate.HasValue || DbFunctions.TruncateTime(s.EndDtTime) == DbFunctions.TruncateTime(request.EndDate)) && (!request.NrtStatusId.HasValue || s.NrtStatusId == request.NrtStatusId) && (!request.NrtTypeId.HasValue || s.NrtTypeId == request.NrtTypeId); IEnumerable <NrtMain> nRtMains = request.IsAsc ? DbSet.Where(query) .OrderBy(nRtMainClause[request.NrtQueueOrderBy]).Skip(fromRow).Take(toRow).ToList() : DbSet.Where(query) .OrderByDescending(nRtMainClause[request.NrtQueueOrderBy]).Skip(fromRow).Take(toRow).ToList(); return(new NrtQueueSearchResponse { NrtMains = nRtMains, TotalCount = DbSet.Count(query) }); }
// GET api/<controller> public Models.NrtQueueSearchResponse Get([FromUri] NrtQueueSearchRequest request) { return(nrtQueueService.LoadNrtQueues((request)).CreateFrom()); }
/// <summary> /// Load NRT Queue, based on search filters /// </summary> /// <param name="request"></param> /// <returns></returns> public NrtQueueSearchResponse LoadNrtQueues(NrtQueueSearchRequest request) { return(nrtMainRepository.GetNrtMainsForNrtQueue(request)); }