public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var music = await _context.Musics.FindAsync(id);

            var model = new MusicViewModels()
            {
                ID             = music.ID,
                Lenght         = music.Lenght,
                PhotoPath      = music.PhotoPath,
                ReleaseDate    = music.ReleaseDate,
                Titel          = music.Titel,
                WantToListen   = music.WantToListen,
                Listened       = music.Listened,
                YoutubeTrailer = music.YoutubeTrailer
            };

            if (music == null)
            {
                return(NotFound());
            }
            return(View(model));
        }
        public async Task <IActionResult> Edit(MusicViewModels model)
        {
            string uniqueFileName = null;

            if (ModelState.IsValid)
            {
                if (model.Photo != null)
                {
                    string UploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                    uniqueFileName = GetUniqueFilmName(model.Photo.FileName);
                    string filePath = Path.Combine(UploadsFolder, uniqueFileName);
                    model.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                }
                var music = _context.Musics.Find(model.ID);
                music.Lenght         = model.Lenght;
                music.ReleaseDate    = model.ReleaseDate;
                music.Titel          = model.Titel;
                music.WantToListen   = model.WantToListen;
                music.Listened       = model.Listened;
                music.YoutubeTrailer = model.YoutubeTrailer;
                if (model.Photo != null)
                {
                    music.PhotoPath = uniqueFileName;
                }
                _context.Update(music);
                await _context.SaveChangesAsync();
            }
            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Create(MusicViewModels model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (model.Photo != null)
                {
                    string UploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                    uniqueFileName = GetUniqueFilmName(model.Photo.FileName);
                    string filePath = Path.Combine(UploadsFolder, uniqueFileName);
                    model.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                }

                _context.Add(new Music()
                {
                    Titel          = model.Titel,
                    Lenght         = model.Lenght,
                    PhotoPath      = uniqueFileName,
                    Listened       = model.Listened,
                    WantToListen   = model.WantToListen,
                    ReleaseDate    = model.ReleaseDate,
                    YoutubeTrailer = model.YoutubeTrailer,
                });
                await _context.SaveChangesAsync();
            }
            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var music = await _context.Musics
                        .FirstOrDefaultAsync(m => m.ID == id);

            if (music == null)
            {
                return(NotFound());
            }
            var model = new MusicViewModels()
            {
                Titel = music.Titel,
            };

            return(View(model));
        }