/// <summary>
 /// we assume that the new episode has more up-to-date information
 /// but we dont want to lose any info that is not retrieved automatically
 /// such as file path so we will only merge what we safely can
 /// </summary>
 /// <param name="origEp">original episode</param>
 /// <param name="newEp">new episode</param>
 private void MergeEpisodes(Episode origEp, IEpisode newEp)
 {
     origEp.AiringDateTime = newEp.AiringDateTime;
     if (string.IsNullOrEmpty(origEp.Description))
         origEp.Description = newEp.Description;
     if (origEp.DetailsURI == null )
         origEp.DetailsURI = newEp.DetailsURI;
     if (origEp.File == null)
         origEp.File = newEp.File;
     origEp.Title = newEp.Title;
 }
        /// <summary>
        /// handles the event from the episode import dialog. we go through each of the MediaFileInfo
        /// objects and if there is no season object already, we add it. we then set the file info
        /// for the appropriate episode in the season
        /// </summary>
        /// <param name="selectedMediaItems"></param>
        private void importDialog_MediaItemsSelected(List<MediaFile> selectedMediaItems)
        {
            foreach (MediaFile mfi in selectedMediaItems)
            {
                int episodeNumber = mfi.EpisodeNumber;
                int seasonNumber = mfi.SeasonNumber;

                ISeason seasonToAdd = showDetails[seasonNumber];
                if (seasonToAdd == null)
                {
                    seasonToAdd = AddSeason(seasonNumber);
                }

                if (seasonToAdd != null)
                {
                    IEpisode ep = seasonToAdd[episodeNumber];
                    if (ep != null)
                    {
                        //                        MessageBox.Show("Setting path for Episode " + ep.EpisodeNumber + ": " + ep.Title + " to " + mfi.FileName);
                        if (ep is Episode)
                        {
                            ((Episode)ep).File = mfi;
                        }
                    }
                    else
                    {
                        ep = new Episode(seasonNumber, episodeNumber, null, mfi.EpisodeTitle, null);
                        if (seasonToAdd is Season)
                        {
                            seasonToAdd.Episodes.Add(ep);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Unable to determine any details for season " + seasonNumber);
                }

            }
        }