/// <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); }
/// <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); }