public IActionResult SeedPlaylists()
        {
            var generatePlaylistsDTO = _seedService.GeneratePlaylists();

            foreach (var generatePlaylistDTO in generatePlaylistsDTO)
            {
                var playlist = _generatePlaylistService.GeneratePlaylist(generatePlaylistDTO).Result;
            }

            return(View("Index"));
        }
        public async Task <IActionResult> Create([Bind("Title," +
                                                       "StartLocationName, DestinationName," +
                                                       "RepeatArtist, TopTracks," +
                                                       "MetalPercentage, RockPercentage, PopPercentage, JazzPercentage")]
                                                 GeneratePlaylistViewModel genPlView)
        {
            if ((genPlView.MetalPercentage + genPlView.RockPercentage +
                 genPlView.PopPercentage + genPlView.JazzPercentage) > 100)
            {
                return(RedirectToAction("Create", "Playlists", new { error = TempData["Error"] = "Combined genre percentage must not exceed 100%" }));
            }

            var userId = int.Parse(userManager.GetUserId(HttpContext.User));

            var genres = new Dictionary <string, int>();

            genres.Add("metal", genPlView.MetalPercentage);
            genres.Add("rock", genPlView.RockPercentage);
            genres.Add("pop", genPlView.PopPercentage);
            genres.Add("jazz", genPlView.JazzPercentage);

            if (ModelState.IsValid)
            {
                var genPlaylistDTO = new GeneratePlaylistDTO()
                {
                    PlaylistName    = genPlView.Title,
                    StartLocation   = genPlView.StartLocationName,
                    Destination     = genPlView.DestinationName,
                    RepeatArtist    = genPlView.RepeatArtist,
                    UseTopTracks    = genPlView.TopTracks,
                    GenrePercentage = genres,
                    UserId          = userId
                };

                PlaylistDTO playlistDTO = await generateService.GeneratePlaylist(genPlaylistDTO);

                if (playlistDTO == null)
                {
                    throw new ArgumentNullException("Something went wrong with playlist creation.");
                }

                var playlistDtoWithImg = await this.service.AttachImage(playlistDTO);


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

            return(RedirectToAction("Index", new { error = TempData["Error"] = "Playlist creation failed." }));
        }