Esempio n. 1
0
        public async Task <IActionResult> AlbumDetails(Guid id)
        {
            ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User);

            Guid currentUserId = new Guid(applicationUser.Id);

            if (!await _repository.ContainsUserAsync(currentUserId))
            {
                return(RedirectToAction("MakeNewProfile", "Main"));
            }
            Album album = await _repository.GetAlbumAsync(id);

            if (album == null)
            {
                return(View("~/Views/Shared/InvalidAttempt.cshtml"));
            }
            album.User = await _repository.GetUserByIdAsync(album.UserId);

            if (album.UserId == currentUserId)
            {
                return(RedirectToAction("Index", "ManageAlbum"));
            }
            AlbumVM        albumVM  = new AlbumVM(album);
            List <Picture> pictures = await _repository.GetPicturesFromAlbumAsync(id);

            List <PictureVM> picturesVM = new List <PictureVM>();

            foreach (var picture in pictures)
            {
                picturesVM.Add(new PictureVM(picture));
            }
            AlbumDetailsVM albumDetailsVM = new AlbumDetailsVM(album.UserId, album.User.UserName, albumVM, picturesVM);

            return(View(albumDetailsVM));
        }
        public ActionResult Details(int id)
        {
            var vM    = new AlbumDetailsVM();
            var album = _inventoryService.GetAlbumTracksById(id);

            vM.AlbumId = album.AlbumId;  vM.Title = album.Title;
            vM.Genre   = getGenre(album.Genre);  vM.Artist = album.Artist;
            vM.Price   = album.Price; vM.Tracks = album.Tracks;
            vM.Image   = album.Image;
            return(View(vM));
        }