Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }