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