Esempio n. 1
0
        private bool FindTitlesToConvert()
        {
            ClbEpisodes.Items.Clear();
            var titles = TitlePersistence.ListTitles(TbxSeasonPattern.Text, TitleKind.Title);

            try
            {
                var regex = new Regex(TbxEpisodesRegexp.Text);
                foreach (var t in titles)
                {
                    var matches = regex.Match(t.TitleName);
                    if (matches.Success && matches.Groups.Count > 2)
                    {
                        int season  = matches.Groups["s"].Value.To <int>(0);
                        int disk    = matches.Groups["d"].Value.To <int>(0);
                        int episode = matches.Groups["e"].Value.To <int>(0);
                        if (disk > 0 || episode > 0)
                        {
                            t.Season         = season;
                            t.Disk           = disk;
                            t.EpisodeOrTrack = episode;
                            t.Kind           = (episode > 0) ? TitleKind.Episode : TitleKind.Disk;
                            ClbEpisodes.Items.Add(t, true);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Error searching fro episodes/disks");
            }
            return(ClbEpisodes.Items.Count > 0);
        }
Esempio n. 2
0
        private void CheckSeries(string seriesName)
        {
            m_title = null;
            var ss = TitlePersistence.ListTitles(seriesName, TitleKind.Series);

            if (ss != null && ss.Count == 1)
            {
                m_title = ss[0];
                BtnCreateSeasons.Enabled = false;
            }
        }
Esempio n. 3
0
        private void BtnSearchForSeasons_Click(object sender, EventArgs e)
        {
            var    seasonNumbersFound    = new HashSet <int>();
            var    seasonNumbersNotFound = new HashSet <int>();
            string sqlPattern            = TbxSeasonPattern.Text;

            CheckSeries(TbxSeries.Text);

            //Search for pattern
            foundSeasons = TitlePersistence.ListTitles(sqlPattern, TitleKind.Season);
            ClbSeasons.Items.Clear();
            foreach (var title in foundSeasons)
            {
                ClbSeasons.Items.Add(title, !title.ParentTitleId.HasValue);
                seasonNumbersFound.Add(title.Season);
            }


            //Search for pattern
            var titlesDisks = TitlePersistence.ListTitles(sqlPattern, TitleKind.Disk);

            var titlesEpisodes = TitlePersistence.ListTitles(sqlPattern, TitleKind.Episode);

            ClbEpisodes.Items.Clear();
            foreach (var d in titlesDisks)
            {
                ClbEpisodes.Items.Add(d, !d.ParentTitleId.HasValue);
                int s = d.Season;
                if (s > 0 && !seasonNumbersFound.Contains(s))
                {
                    seasonNumbersNotFound.Add(s);
                }
            }
            foreach (var ep in titlesEpisodes)
            {
                ClbEpisodes.Items.Add(ep, !ep.ParentTitleId.HasValue);
                int s = ep.Season;
                if (s > 0 && !seasonNumbersFound.Contains(s))
                {
                    seasonNumbersNotFound.Add(s);
                }
            }

            var sb = new StringBuilder(seasonNumbersNotFound.Count * 2);

            TbxSeasonsToCreate.Text = string.Join(", ", seasonNumbersNotFound.OrderBy(i => i));

            BtnCreateSeasons.Enabled = seasonNumbersNotFound.Count > 0;
        }
        //
        // GET: /Home/

        public ActionResult Index()
        {
            var titles = TitlePersistence.ListTitles(null, TitleKind.Title);

            return(View());
        }