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." })); }