Esempio n. 1
0
        /// <summary>
        /// Prepare paged celebrity list model
        /// </summary>
        /// <param name="searchModel">Celebrity search model</param>
        /// <returns>Celebrity list model</returns>
        public virtual CelebrityListModel PrepareCelebrityListModel(CelebritySearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get celebrities
            var celebrities = _celebrityService.SearchCelebrities(storeId: searchModel.SearchStoreId,
                                                                  pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new CelebrityListModel().PrepareToGrid(searchModel, celebrities, () =>
            {
                return(celebrities.Select(celebrity =>
                {
                    //fill in model values from the entity
                    var celebrityModel = celebrity.ToModel <CelebrityModel>();

                    //little performance optimization: ensure that "FullDescription" is not returned
                    celebrityModel.FullDescription = string.Empty;

                    //fill in additional values (not existing in the entity)
                    var defaultCelebrityPicture = _pictureService.GetPicturesByCelebrityId(celebrity.Id, 1).FirstOrDefault();
                    celebrityModel.PictureThumbnailUrl = _pictureService.GetPictureUrl(ref defaultCelebrityPicture, 75);

                    return celebrityModel;
                }));
            });

            return(model);
        }
Esempio n. 2
0
        /// <summary>
        /// Prepare Celebrity search model
        /// </summary>
        /// <param name="searchModel">Celebrity search model</param>
        /// <returns>Celebrity search model</returns>
        public virtual CelebritySearchModel PrepareCelebritySearchModel(CelebritySearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }


            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);

            //prepare grid
            searchModel.SetGridPageSize();

            return(searchModel);
        }