Esempio n. 1
0
        private void OnDeleteEpisode(object parameter)
        {
            if (SelectedEpisode != null)
            {
                string episodeName = SelectedEpisode.Name;

                MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete the {episodeName} episode from series?", "Delete Episode", MessageBoxButton.YesNo);

                switch (result)
                {
                case MessageBoxResult.Yes:
                    Episodes.Remove(SelectedEpisode);
                    EpisodeOperationFeedback = "Episode Deleted";

                    if (Episodes.Any())
                    {
                        SelectedEpisode = Episodes[0];
                    }
                    break;

                case MessageBoxResult.No:
                    EpisodeOperationFeedback = "Episode Deletion Canceled";
                    break;
                }
            }
        }
Esempio n. 2
0
        private void OnEditEpisode(object parameter)
        {
            string commandParameter = parameter.ToString();

            if (commandParameter == "SAVE")
            {
                if (EpisodeToEdit != null)
                {
                    Episode episodeToDelete = SelectedEpisode;
                    Episodes.Add(EpisodeToEdit);
                    SelectedEpisode = EpisodeToEdit;
                    Episodes.Remove(episodeToDelete);

                    EpisodeOperationFeedback = "Episode Updated";
                }
            }
            else if (commandParameter == "CANCEL")
            {
                // EpisodeToEdit = SelectedEpisode.Copy();
                EpisodeOperationFeedback = "Episode Update Canceled";
            }
            else
            {
                throw new ArgumentException($"{commandParameter} is not a valid command parameter for the adding Episodes.");
            }
        }
Esempio n. 3
0
        internal void CopyFrom(TvShowSeason season)
        {
            Season = season.Season;

            var c  = Episodes.Count;
            var ec = season.Episodes.Count;

            while (c > ec)
            {
                Episodes.Remove(Episodes.ElementAt(--c));
            }

            for (var i = 0; i < ec; i++)
            {
                TvShowEpisode episode;
                if (c < i + 1)
                {
                    episode = new TvShowEpisode();
                    Episodes.Add(episode);
                }
                else
                {
                    episode = Episodes.ElementAt(i);
                }

                episode.CopyFrom(season.Episodes.ElementAt(i));
            }
        }
Esempio n. 4
0
        private void DeleteEpisode(object parameter)
        {
            if (SelectedEpisode != null)
            {
                string episodeName = SelectedEpisode.Name;

                MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete the {episodeName} episode from inventory?", "Delete Episodes", MessageBoxButton.YesNo);

                switch (result)
                {
                case MessageBoxResult.Yes:
                    Episodes.Remove(SelectedEpisode);
                    MessageBox.Show($"{episodeName} Episode Deleted", "Delete Episodes");

                    if (Episodes.Any())
                    {
                        SelectedEpisode = Episodes[0];
                    }
                    break;

                case MessageBoxResult.No:
                    MessageBox.Show($"{episodeName} Episode Deletion Canceled", "Delete Episodes");
                    break;
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Удалить выбранный эпизод
        /// </summary>
        public void RemoveEpisode()
        {
            if (CanRemoveEpisode is false)
            {
                return;
            }

            RemoveEpisodeFromDb();

            Episodes.Remove(SelectedEpisode);
            NotifyOfPropertyChange(() => Episodes);
            SelectedEpisode = Episodes.LastOrDefault();
        }
Esempio n. 6
0
        private void PruneEmptyEpisodes()
        {
            List <Episode> toRemove = new List <Episode>();

            foreach (Episode episode in Episodes)
            {
                if (episode.Title == null)
                {
                    toRemove.Add(episode);
                }
            }

            foreach (Episode episode in toRemove)
            {
                Episodes.Remove(episode);
            }
        }
Esempio n. 7
0
        private void EditEpisode(object parameter)
        {
            EpisodeOperation episodeOperation = new EpisodeOperation()
            {
                Status  = EpisodeOperation.OperationStatus.CANCEL,
                Episode = SelectedEpisode
            };
            Window editEpisodeWindow = new PhilEditView(episodeOperation);

            editEpisodeWindow.ShowDialog();

            if (episodeOperation.Status != EpisodeOperation.OperationStatus.CANCEL)
            {
                Episodes.Remove(SelectedEpisode);
                Episodes.Add(episodeOperation.Episode);
                SelectedEpisode = episodeOperation.Episode;
            }
        }
        public ToWatchViewModel(
            IReactiveTVShowTimeApiService tvshowtimeApiService,
            IHamburgerMenuService hamburgerMenuService,
            IEventService eventService)
        {
            _tvshowtimeApiService = tvshowtimeApiService;
            _hamburgerMenuService = hamburgerMenuService;
            _eventService         = eventService;

            SelectEpisodeCommand = new RelayCommand <Episode>(SelectEpisode);

            Refresh();

            _eventService.WatchEpisodeEvent
            .Subscribe((episode) =>
            {
                Refresh();
            });

            _eventService.UnwatchEpisodeEvent
            .Subscribe((episode) =>
            {
                Refresh();
            });

            _eventService.FollowShowEvent
            .Subscribe((show) =>
            {
                Refresh();
            });

            _eventService.UnfollowShowEvent
            .Subscribe((show) =>
            {
                var episodeOfTheShow = Episodes.FirstOrDefault(e => e.Show.Id == show.Id);
                if (episodeOfTheShow != null)
                {
                    Episodes.Remove(episodeOfTheShow);
                }
            });
        }