public IActionResult Edit(Album album)
        {
            var existingAlbum = _albumRepository.Get(album.Id);
            if (existingAlbum == null)
            {
                return new NotFoundResult();
            }

            _albumRepository.Update(album);

            return RedirectToAction("Details", new { id = album.Id });
        }
        public Album Update(Album album)
        {
            lock (_albums)
            {
                foreach (var item in _albums.Where(a => a.Id == album.Id))
                {
                    item.Title = album.Title;
                    item.Artist = album.Artist;
                }
            }

            return album;
        }
        public async Task<IActionResult> Edit(Album album)
        {
            var existingAlbum = _albumRepository.Get(album.Id);
            if (existingAlbum == null)
            {
                return new NotFoundResult();
            }

            if (await _authorizationService.AuthorizeAsync(
                User,
                existingAlbum,
                PolicyNames.CanEditAlbum))
            {
                _albumRepository.Update(album);
                return View(album);
            }

            return RedirectToAction("Details", new { id = album.Id });
        }