/// <summary>
        /// Prepare paged review type list model
        /// </summary>
        /// <param name="searchModel">Review type search model</param>
        /// <returns>Review type list model</returns>
        public virtual ReviewTypeListModel PrepareReviewTypeListModel(ReviewTypeSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get review types
            var reviewTypes = _reviewTypeService.GetAllReviewTypes().ToPagedList(searchModel);

            //prepare list model
            var model = new ReviewTypeListModel().PrepareToGrid(searchModel, reviewTypes, () =>
            {
                //fill in model values from the entity
                return(reviewTypes.Select(reviewType => reviewType.ToModel <ReviewTypeModel>()));
            });

            return(model);
        }
        /// <summary>
        /// Prepare paged review type list model
        /// </summary>
        /// <param name="searchModel">Review type search model</param>
        /// <returns>Review type list model</returns>
        public virtual ReviewTypeListModel PrepareReviewTypeListModel(ReviewTypeSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get review types
            var reviewTypes = _reviewTypeService.GetAllReviewTypes();

            //prepare list model
            var model = new ReviewTypeListModel
            {
                //fill in model values from the entity
                Data  = reviewTypes.PaginationByRequestModel(searchModel).Select(reviewType => reviewType.ToModel <ReviewTypeModel>()),
                Total = reviewTypes.Count
            };

            return(model);
        }