Exemplo n.º 1
0
        /// <summary>
        /// Handle navigate to events and initialize variables like ViewModel.
        /// </summary>
        /// <param name="e">NavigationTo event arguments, including target data type.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter != null)
            {
                DataContext = _vm = new AlbumDetailViewModel(_id = (int)e.Parameter);
            }

            _navigationHelper.OnNavigatedTo(e);
            base.OnNavigatedTo(e);
        }
Exemplo n.º 2
0
        public AlbumDetailPage(AlbumDetailViewModel viewModel)
        {
            InitializeComponent();

            this.viewModel = viewModel;
            if (viewModel != null && viewModel.Album != null)
            {
                this.viewModel.LoadAlbumPicturesCommand.Execute(viewModel.Album.Id);
            }
            BindingContext = this.viewModel;
        }
Exemplo n.º 3
0
        public ActionResult Album(Guid id)
        {
            AlbumDto dto = readModel.GetAlbums().FirstOrDefault(a => a.Id == id);

            if (dto.Privacy.CanSee((Guid)HttpContext.Items["userid"]) || (Guid)HttpContext.Items["userid"] == dto.Owner.Id)
            {
                AlbumDetailViewModel model = new AlbumDetailViewModel() { Album = dto };
                model.Username = readModel.GetUsers().FirstOrDefault(u => u.Equals(dto.Owner)).Username;

                return View(model);
            }
            else
                return new HttpUnauthorizedResult();
        }
Exemplo n.º 4
0
        public async Task <IActionResult> AlbumView([FromRoute] int id)
        {
            var User = await GetCurrentUserAsync();

            var model = new AlbumDetailViewModel();

            model.SingleAlbum = context.Album
                                .Where(v => v.VendorUser == User)
                                .Where(i => i.AlbumId == id).SingleOrDefault();

            model.Images = await context.AlbumImages
                           .Where(aid => aid.AlbumId == id).ToListAsync();

            return(View(model));
        }
        public ActionResult Details()
        {
            string albumId     = this.Request.QueryData["id"].ToString();
            Album  albumFromDb = this.albumService.GetAlbumById(albumId);

            AlbumDetailViewModel albumDetailViewModel = ModelMapper
                                                        .ProjectTo <AlbumDetailViewModel>(albumFromDb);

            if (albumFromDb == null)
            {
                return(this.Redirect("/Albums/All"));
            }

            return(this.View(albumDetailViewModel));
        }
Exemplo n.º 6
0
        public async Task <ActionResultResponse <AlbumDetailViewModel> > GetDetail(string tenantId, string albumId)
        {
            var info = await _albumRepository.GetInfo(albumId);

            if (info == null)
            {
                return(new ActionResultResponse <AlbumDetailViewModel>(-1, _websiteResourceService.GetString("Album does not exists.")));
            }

            if (info.TenantId != tenantId)
            {
                return(new ActionResultResponse <AlbumDetailViewModel>(-2, _sharedResourceService.GetString(ErrorMessage.NotHavePermission)));
            }

            var albumTranslations = await _albumTranslationRepository.GetsByAlbumId(albumId);

            var albumDetail = new AlbumDetailViewModel
            {
                Id               = info.Id,
                IsActive         = info.IsActive,
                ConcurrencyStamp = info.ConcurrencyStamp,
                Translations     = albumTranslations,
                Type             = info.Type,
                Thumbnail        = info.Thumbnail,
                IsPublic         = info.IsPublic,
                Photos           = info.Type == AlbumType.Photo ? await _photoRepository.GetsByAlbumId(tenantId, albumId, true) : null,
            };

            if (info.Type == AlbumType.Video)
            {
                var videos = await _videoRepository.GetsByAlbumId(albumId, true);

                if (videos.Any())
                {
                    foreach (var video in videos)
                    {
                        video.Translations = await _videoTranslationRepository.GetsVideoId(video.Id);
                    }
                }
                albumDetail.Videos = videos;
            }

            return(new ActionResultResponse <AlbumDetailViewModel>
            {
                Code = 1,
                Data = albumDetail
            });
        }
        public AlbumDetailViewModel GetAlbumDetailViewModel(int albumId, string userId)
        {
            AlbumDetailViewModel album = Mapper.Map <AlbumDetailViewModel>(albumDomainService.GetAlbumWithTracksAndSinger(albumId));

            album.LikedTrack   = userDomainService.GetTracksInPlaylistBelovedByUserIdAndPlaylistName(userId, KindPlaylist.Beloved);
            album.AmountTracks = albumDomainService.AmountTrackInAlbumByAlbumId(albumId);

            foreach (var item in album.Tracks)
            {
                if (album.LikedTrack.Contains(item))
                {
                    item.Like = true;
                }
            }

            return(album);
        }
Exemplo n.º 8
0
        public async Task <IActionResult> AlbumDetail([FromRoute] int id)
        {
            var a = await context.Album
                    .SingleOrDefaultAsync(i => i.AlbumId == id);

            var b = await context.AlbumImages
                    .Where(aid => aid.AlbumId == id).ToListAsync();

            if (a == null)
            {
                return(NotFound());
            }

            var model = new AlbumDetailViewModel()
            {
                SingleAlbum = a,
                Images      = b
            };

            return(View(model));
        }
        public IActionResult Detail(int id)
        {
            Album albumFromDb          = _context.Albums.Include(album => album.Nummers).FirstOrDefault(x => x.Id == id);
            AlbumDetailViewModel model = new AlbumDetailViewModel()
            {
                Id = id, Naam = albumFromDb.Naam, Foto = albumFromDb.AlbumFoto
            };

            foreach (var item in albumFromDb.Nummers)
            {
                Nummer nummer = _context.Nummers.Include(x => x.NummerReviews).FirstOrDefault(x => x.Id == item.NummerId);
                model.Nummers.Add(new NummerListViewModel()
                {
                    Titel = nummer.Naam, Id = nummer.Id, Score = 0
                });
                if (nummer.NummerReviews.Count != 0)
                {
                    model.Nummers.Last().Score = nummer.NummerReviews.Select(n => n.Score).Sum() / nummer.NummerReviews.Count;
                }
            }
            return(View(model));
        }