public ActionResult Edit(int id, ViewModel_EditPlaylist model)
 {
     ModelState.Clear();
     if (ModelState.IsValid)
     {
         playlistService.UpdatePlaylist(id, new Playlist() { Name = model.playlistName });
         foreach(var slide in model.Slides)
         {
             PlaylistSlide connection;
             if((connection = playlistService.GetSlideConnection(id, slide.Slide.SlideID)) == null)
             {
                 playlistService.ConnectSlide(id, slide.Slide.SlideID);
             } else
             {
                 playlistService.UpdateSlideConnection(connection,
                     new PlaylistSlide()
                     {
                         Duration = slide.Duration,
                         AnimationID = animationService.GetAnimationByName(slide.Transition).AnimationID,
                         Playorder = slide.Playorder
                     });
             }
         }
         return RedirectToAction("Index");
     }
     return View(model);
 }
        public ActionResult Edit(int id)
        {
            ViewModel_EditPlaylist model = new ViewModel_EditPlaylist();

            Playlist playlist = playlistService.GetPlaylistByID(id);
            if (playlist == null)
            {
                return HttpNotFound();
            }
            foreach(PlaylistSlide connection in playlistService.GetSlideConnections(id))
            {
                model.Slides.Add(new SlideView()
                {
                    Slide = connection.Slide,
                    Duration = connection.Duration,
                    Transition = connection.Animation.Name,
                    Playorder = connection.Playorder
                });
            }
            model.playlistName = playlist.Name;
            return View(model);
        }
 public ActionResult DeleteSlide(int playlistId, int slideId, ViewModel_EditPlaylist model)
 {
     playlistService.DisconnectSlide(playlistId, slideId);
     foreach (PlaylistSlide connection in playlistService.GetSlideConnections(playlistId))
     {
         model.Slides.Add(new SlideView()
         {
             Slide = connection.Slide,
             Duration = connection.Duration,
             Playorder = connection.Playorder
         });
     }
     model.playlistName = playlistService.GetPlaylistByID(playlistId).Name;
     return PartialView("~/Views/Playlists/_EditPlaylistPartial.cshtml", model);
 }
 public ActionResult EditPlaylist(int playlistId, ViewModel_EditPlaylist model)
 {
     if(ModelState.IsValid)
     {
         playlistService.UpdatePlaylist(playlistId, new Playlist() { Name = model.playlistName });
         foreach (var slide in model.Slides)
         {
             PlaylistSlide connection = playlistService.GetSlideConnection(playlistId, slide.Slide.SlideID);
             if(connection == null)
             {
                 playlistService.ConnectSlide(playlistId, slide.Slide.SlideID);
             } else
             {
                 playlistService.UpdateSlideConnection(connection,
                     new PlaylistSlide()
                     {
                         Duration = slide.Duration,
                         AnimationID = 1,
                         Playorder = slide.Playorder
                     });
             }
         }
         model.Slides.OrderBy(l => l.Playorder);
         model.playlistName = playlistService.GetPlaylistByID(playlistId).Name;
     }
     return PartialView("~/Views/Playlists/_EditPlaylistPartial.cshtml", model);
 }
        public ActionResult EditPlaylist(int playlistId)
        {
            ViewModel_EditPlaylist model = new ViewModel_EditPlaylist();       

               Playlist playlist = playlistService.GetPlaylistByID(playlistId);
               if (playlist == null)
               {
                   return HttpNotFound();
               }
               foreach (PlaylistSlide connection in playlistService.GetSlideConnections(playlistId))
               {
                   model.Slides.Add(new SlideView()
                   {
                       Slide = connection.Slide,
                       Duration = connection.Duration,
                       Playorder = connection.Playorder
                   });
               }
            model.Slides = model.Slides.OrderBy(l => l.Playorder).ToList();
            model.playlistID = playlist.PlaylistID;
            model.playlistName = playlist.Name;
            return PartialView("~/Views/Playlists/_EditPlaylistPartial.cshtml", model);
        }