public RentalHistoriesResult GetUserRentalHistories(string userId, RentalHistoriesFilterCriteria criteria) { ApplicationUser user = GetUserById(userId); if (user == null) { return(null); } IQueryable <RentalHistory> rentalHistories = user.RentalHistories.AsQueryable(); if (!string.IsNullOrEmpty(criteria.Brand?.Trim())) { string brandToLower = criteria.Brand.Trim().ToLower(); rentalHistories = rentalHistories.Where(rh => rh.Brand.Name.ToLower().StartsWith(brandToLower)); } if (!string.IsNullOrEmpty(criteria.Model?.Trim())) { string modelToLower = criteria.Model.Trim().ToLower(); rentalHistories = rentalHistories.Where(rh => rh.Model.Name.ToLower().StartsWith(modelToLower)); } int totalItems = rentalHistories.Count(); return(new RentalHistoriesResult() { RentalHistories = rentalHistories.Skip((criteria.PageNumber - 1) * criteria.ItemsPerPage).Take(criteria.ItemsPerPage), TotalItems = totalItems }); }
public IHttpActionResult GetUserRentalHistories([FromUri] string userId, [FromUri] RentalHistoriesFilterCriteria criteria) { ApplicationUser user = _userService.GetUserById(userId); if (user == null) { return(BadRequest()); } return(Ok(_userService.GetUserRentalHistories(userId, criteria))); }
public RentalHistoriesResult GetUserRentalHistories(string userId, RentalHistoriesFilterCriteria criteria) { return(_userManager.GetUserRentalHistories(userId, criteria)); }