public async Task <IActionResult> AddPlaylistMoods(AddPlaylistMoodsViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var appUser = await _userManager.GetUserAsync(User); var user = await _jukeboxRepository.GetUserAsync(appUser.Id); var moods = await _jukeboxRepository.GetAllMoodsAsync(); var sortedMoods = moods.OrderBy(mood => mood.Playlists.Count).ToList(); var myPlaylists = await _jukeboxRepository.GetAllFilteredPlaylistsAsync(p => p.User.Id.Equals(user.Id)); var playlist = myPlaylists.FirstOrDefault(p => !p.IsCreated); var newModel = new AddPlaylistMoodsViewModel(playlist, sortedMoods); if (model.Search != null) { newModel.SearchedMoods = moods.Where(mood => mood.Value.ToLower().Contains(model.Search.ToLower())).ToList(); newModel.Search = model.Search; } return(View(newModel)); }
public async Task <IActionResult> AddPlaylistMoods(string name) { var appUser = await _userManager.GetUserAsync(User); var user = await _jukeboxRepository.GetUserAsync(appUser.Id); var moods = await _jukeboxRepository.GetAllMoodsAsync(); var myPlaylists = await _jukeboxRepository.GetAllFilteredPlaylistsAsync(p => p.User.Id.Equals(user.Id)); var sortedMoods = moods.OrderBy(mood => mood.Playlists.Count).ToList(); Playlist playlist; if (name == null) { playlist = myPlaylists.FirstOrDefault(p => !p.IsCreated); } else { playlist = myPlaylists.FirstOrDefault(p => p.Name.Equals(name)); } var model = new AddPlaylistMoodsViewModel(playlist, sortedMoods); return(View(model)); }