public IActionResult Share(int Id)
        {
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);

            _currentMediaUser = _mediaService.GetAllMediaUsers().First(p => p.Id == currentUserId);

            var playlist = _mediaService.GetAllPlaylists().FirstOrDefault(playlist => playlist.Id == Id);

            var listUsers = _mediaService.GetAllMediaUsers();

            foreach (var user in listUsers)
            {
                if (user != _currentMediaUser)
                {
                    user.Playlists.Add(
                        new PlayList()
                    {
                        MediaList = playlist.MediaList,
                        Name      = playlist.Name,
                        MediaUser = _currentMediaUser
                    });
                }
            }

            // share with all
            _mediaService.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult Create(MovieCreateViewModel model)
        {
            if (!TryValidateModel(model))
            {
                return(View(model));
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
            }
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);

            _currentMediaUser = _mediaService.GetAllMediaUsers().Where(u => u.Id == currentUserId).First();
            Movie newMovie = new Movie()
            {
                Titel       = model.Titel,
                Duration    = (model.Duration),
                IMDBLink    = model.IMDBLink,
                ReleaseDate = model.ReleaseDate,
                Status      = model.Status,
                MediaUser   = this._currentMediaUser,
                MediaUserId = currentUserId
            };

            _mediaService.InsertMedia(newMovie);
            _mediaService.SaveChanges();

            var foundMovie = _mediaService.GetAllMedia().OfType <Movie>().FirstOrDefault(x => x.Id == newMovie.Id);

            _mediaService.SaveChanges();

            if (model.Photo != null)
            {
                using var memoryStream = new MemoryStream();
                model.Photo.CopyTo(memoryStream);
                foundMovie.Photo = memoryStream.ToArray();
            }

            _mediaService.SaveChanges();

            return(RedirectToAction("Details", new { foundMovie.Id }));
        }
        public IActionResult Details(int id)
        {
            var isSignedIn    = this._signInManager.IsSignedIn(HttpContext.User);
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);

            if (isSignedIn)
            {
                _currentMediaUser = _mediaService.GetAllMediaUsers().First(p => p.Id == currentUserId);
            }
            var episode       = _mediaService.GetAllEpisodes().FirstOrDefault(epi => epi.Id == id);
            var isRated       = false;
            var playLists     = new List <PlayList>();
            var AveragePoints = 0.0;

            if (_currentMediaUser != null)
            {
                isRated   = _mediaService.GetAllRatings().Where(epi => epi.Media.Id == epi.Id && epi.MediaUser.Id == _currentMediaUser.Id).Any();
                playLists = _currentMediaUser.Playlists.ToList();
            }
            var points = _mediaService.GetAllRatings().Where(epi => epi.Media.Id == epi.Id).Average(epi => epi.Points);

            AveragePoints = _mediaService.GetAllRatings().Where(epi => epi.Media.Id == epi.Id).Average(epi => epi.Points);

            EpisodeDetailViewModel model = new EpisodeDetailViewModel()
            {
                MediaId       = episode.Id,
                SeasonNr      = episode.Season.SeasonNr,
                Description   = episode.Description,
                Duration      = episode.Duration,
                Photo         = episode.Photo,
                ReleaseDate   = episode.ReleaseDate,
                IMDBLink      = episode.IMDBLink,
                Titel         = episode.Titel,
                IsRated       = isRated,
                IsSignedIn    = isSignedIn,
                PlayLists     = playLists,
                AveragePoints = AveragePoints
            };

            return(View(model));
        }
        public IActionResult Details(int id)
        {
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);

            _currentMediaUser = _mediaService.GetAllMediaUsers().First(p => p.Id == currentUserId);

            Music         selectedMusic  = _mediaService.GetAllMedia().OfType <Music>().Where(muz => muz.Id == id).FirstOrDefault();
            List <Rating> UserRatingList = new List <Rating>();
            bool          isAlreadyRated = false;
            var           playlists      = new List <PlayList>();

            if (_currentMediaUser != null)
            {
                isAlreadyRated = _mediaService.GetAllRatings().Where(movie => movie.Media.Titel == selectedMusic.Titel).Where(user => user.MediaUser.Id == _currentMediaUser.Id).Any();
                playlists      = _currentMediaUser.Playlists.ToList();
            }

            UserRatingList = _mediaService.GetAllRatings().Where(music => music.Media.Id == selectedMusic.Id).ToList();
            var detailViewModel = new MusicDetailViewModel()
            {
                MediaId     = selectedMusic.Id,
                Lied        = selectedMusic.Lied,
                Titel       = selectedMusic.Titel,
                ZangersName = selectedMusic.ZangersName,
                Photo       = selectedMusic.Photo,
                IsRated     = isAlreadyRated,
                PlayLists   = playlists,
                IsSignedIn  = true
            };

            if (selectedMusic.Ratings.Count() > 0)
            {
                detailViewModel.AveragePoints = selectedMusic.Ratings.Where(med => med.Media.Id == selectedMusic.Id) != null?selectedMusic.Ratings.Where(med => med.Media.Id == selectedMusic.Id).Average(r => r.Points) : 0;
            }
            if (_currentMediaUser != null)
            {
                detailViewModel.PlayLists = _currentMediaUser.Playlists.ToList();
            }
            return(View(detailViewModel));
        }
Example #5
0
        public IActionResult Index()
        {
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);
            var user          = _mediaService.GetAllMediaUsers().Where(prof => prof.Id == currentUserId).FirstOrDefault();
            var media         = _mediaService.GetAllMedia().OfType <Movie>().Take(10);
            var topMovies     = _mediaService.GetAllMedia().OfType <Movie>().Take(10).Where(m => m.IsPublic == true) /*.OrderBy(r => r.Ratings)*/;
            var topSeries     = _mediaService.GetAllSeries().Take(10).Where(m => m.IsPublic == true);
            var topMusic      = _mediaService.GetAllMedia().OfType <Music>().Take(10).Where(m => m.IsPublic == true) /*.OrderBy(r => r.Ratings) */;
            var topPodcasts   = _mediaService.GetAllPodcasts().Take(10).Where(m => m.IsPublic == true) /*.OrderBy(r => r.Ratings)*/;
            var topPlaylists  = _mediaService.GetAllPlaylists().Take(10).Where(m => m.MediaUser == _currentMediaUser);

            var vm = new HomeOverviewViewModel
            {
                Movies     = topMovies,
                Series     = topSeries,
                Musics     = topMusic,
                Podcasts   = topPodcasts,
                PlayLists  = topPlaylists,
                IsSignedIn = true, //isSignedIn,
                MediaUser  = user  //_currentMediaUser
            };

            return(View(vm));
        }
        public IActionResult Index()
        {
            var isSignedIn    = this._signInManager.IsSignedIn(HttpContext.User);
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);

            _currentMediaUser = _mediaService.GetAllMediaUsers().FirstOrDefault(p => p.Id == currentUserId);


            List <PlayListIndexViewModel> model = new List <PlayListIndexViewModel>();
            var playlistsFromDb = _mediaService.GetAllPlaylists().ToList();

            foreach (var playlist in playlistsFromDb)
            {
                model.Add(new PlayListIndexViewModel()
                {
                    Id         = playlist.Id,
                    Name       = playlist.Name,
                    IsSignedIn = true,  // edit
                    UserName   = _currentMediaUser.UserName
                });
            }

            return(View(model));
        }
        public IActionResult RatePodcast(PodcastRateViewModel model)
        {
            var podcast       = _mediaService.GetAllPodcasts().First(pod => pod.Id == model.MediaId);
            var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User);


            _currentMediaUser = _mediaService.GetAllMediaUsers().First(p => p.Id == currentUserId);

            var newRating = new Rating()
            {
                Media        = podcast,
                CreationDate = DateTime.Now,
                Points       = model.Points,
                MediaUser    = _currentMediaUser
            };

            _mediaService.InsertRating(newRating);
            _mediaService.SaveChanges();

            return(RedirectToAction("Details", new { podcast.Id }));
        }