/// <summary> /// Get Credit Limits /// </summary> public CreditLimitSearchRequestResponse Get([FromUri] CreditLimitSearchRequest request) { if (request == null || !ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(creditLimitService.SearchCreditLimit(request).CreateFrom()); }
/// <summary> /// Search Credit Limit /// </summary> public CreditLimitSearchRequestResponse SearchCreditLimit(CreditLimitSearchRequest request) { int rowCount; return(new CreditLimitSearchRequestResponse { CreditLimits = creditLimitRepository.SearchCreditLimit(request, out rowCount), TotalCount = rowCount }); }
/// <summary> /// Search Credit Limit /// </summary> public IEnumerable <CreditLimit> SearchCreditLimit(CreditLimitSearchRequest request, out int rowCount) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; Expression <Func <CreditLimit, bool> > query = creditLimit => (!request.BpSubTypeId.HasValue || request.BpSubTypeId == creditLimit.BpSubTypeId) && (!request.RatingTypeId.HasValue || request.RatingTypeId == creditLimit.BpRatingTypeId); rowCount = DbSet.Count(query); return(request.IsAsc ? DbSet.Where(query) .OrderBy(creditLimitOrderByClause[request.CreditLimitOrderBy]) .Skip(fromRow) .Take(toRow) .ToList() : DbSet.Where(query) .OrderByDescending(creditLimitOrderByClause[request.CreditLimitOrderBy]) .Skip(fromRow) .Take(toRow) .ToList()); }