private void EditEpisode()
        {
            TvEpisode ep = this.SelectedEpisodes[0] as TvEpisode;

            EpisodeEditorWindow editor = new EpisodeEditorWindow(ep);

            editor.ShowDialog();

            if (editor.Results != null)
            {
                ep.Clone(editor.Results);
                Organization.Shows.Save();
            }
        }
        private void AddNewEpisode()
        {
            if (show == null)
            {
                return;
            }

            TvEpisode ep = new TvEpisode("", show, 1, -1, DateTime.Now.ToString(), "");

            ep.UseDatabaseAirDate  = false;
            ep.UseDatabaseOverview = false;
            ep.UseDatabaseNumber   = false;
            ep.UseDatabaseName     = false;
            ep.UserName            = "";
            ep.UserNumber          = 1;

            if (show.Episodes.Count > 0)
            {
                TvEpisode lastEp = show.Episodes.Last();
                ep.Season     = lastEp.Season;
                ep.UserNumber = lastEp.DisplayNumber + 1;
            }

            EpisodeEditorWindow editor = new EpisodeEditorWindow(ep);

            editor.ShowDialog();

            if (editor.Results != null)
            {
                // Check if episode already exists
                if (this.show.FindEpisode(editor.Results.Season, editor.Results.DisplayNumber, false, out ep))
                {
                    MessageBox.Show("Episode with this season/number already exists. Select edit on existing episode to make changes to it (if not visible try looking with ignored episodes filter).", "Already exists");
                    return;
                }

                show.Episodes.Add(editor.Results);
                Organization.Shows.Save();
            }
        }