public async Task <IViewComponentResult> InvokeAsync(int movieId) { var model = new ActorListModel(); var mv = _movieActorService.GetActorsbyMovieId(movieId); int picturesize = 200; foreach (var item in mv) { var actor = _actorService.GetActorById(item.ActorId); if (actor != null) { var actorModel = actor.ToModel(); actorModel.Character = item.Character; var actorPictureCacheKey = string.Format(ModelCacheEventConsumer.ACTOR_PICTURE_PATTERN_KEY, actor.Id, picturesize); actorModel.Picture = await _cacheManager.GetOrCreateAsync(actorPictureCacheKey, entry => { var picture = _pictureService.GetPictureById(actor.PictureId); return(Task.FromResult(new PictureModel { FullSizeImageUrl = _pictureService.GetPictureUrl(picture), ImageUrl = _pictureService.GetPictureUrl(picture, picturesize) })); }); model.ActorList.Add(actorModel); } } return(View(model)); }
private void ItemSelected(ActorListModel actorListModel) { usedMediator.Send(new AddPersonToFilmMessage <ActorWrappedModel>() { Id = actorListModel.Id, PersonName = string.Concat(actorListModel.FirstName, " ", actorListModel.SecondName) }); }