Exemple #1
0
        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));
        }
Exemple #2
0
 private void ItemSelected(ActorListModel actorListModel)
 {
     usedMediator.Send(new AddPersonToFilmMessage <ActorWrappedModel>()
     {
         Id         = actorListModel.Id,
         PersonName = string.Concat(actorListModel.FirstName, " ", actorListModel.SecondName)
     });
 }