コード例 #1
0
        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
            });
        }
コード例 #2
0
        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)));
        }
コード例 #3
0
 public RentalHistoriesResult GetUserRentalHistories(string userId, RentalHistoriesFilterCriteria criteria)
 {
     return(_userManager.GetUserRentalHistories(userId, criteria));
 }