/// <summary> /// Get all Ra Main /// </summary> public RaMainForRaQueueSearchResponse GetRaMainsForRaQueue(RaQueueSearchRequest request) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <RaMain, bool> > query = s => (!request.RaNumber.HasValue || s.RaMainId == request.RaNumber) && (!request.CloseLocationId.HasValue || s.CloseLocation == request.CloseLocationId) && (!request.OpenLocationId.HasValue || s.OpenLocation == request.OpenLocationId) && (!request.StartDate.HasValue || s.StartDtTime == request.StartDate) && (!request.EndDate.HasValue || s.EndDtTime == request.EndDate) && (!request.RaStatusId.HasValue || s.RaStatusId == request.RaStatusId) && (!request.PaymentTermId.HasValue || s.PaymentTermId == request.PaymentTermId); IEnumerable <RaMain> raMains = request.IsAsc ? DbSet.Where(query) .OrderBy(raMainClause[request.RaQueueOrderBy]).Skip(fromRow).Take(toRow).ToList() : DbSet.Where(query) .OrderByDescending(raMainClause[request.RaQueueOrderBy]).Skip(fromRow).Take(toRow).ToList(); return(new RaMainForRaQueueSearchResponse { RaMains = raMains, TotalCount = DbSet.Count(query) }); }
// GET api/<controller> public Models.RaMainForRaQueueSearchResponse Get([FromUri] RaQueueSearchRequest request) { return(raQueueService.LoadRaQueues((request)).CreateFrom()); }
/// <summary> /// Load RA Queue, based on search filters /// </summary> /// <param name="request"></param> /// <returns></returns> public RaMainForRaQueueSearchResponse LoadRaQueues(RaQueueSearchRequest request) { return(rentalAgreementRepository.GetRaMainsForRaQueue(request)); }