private void SetSeriesHierarchy(Title item, Title parent) { long parentId = parent.Id; switch (parent.Kind) { case TitleKind.Season: if (item.Kind == TitleKind.Title) { item.Kind = TitleKind.Disk; } if (parent.Season > 0) { item.Season = parent.Season; } break; case TitleKind.Series: if (item.Kind != TitleKind.Season && item.Season > 0) { long saeasonId = -1; foreach (var title in TitlePersistence.ListTitlesByParent(parentId)) { if (title.Kind == TitleKind.Season && title.Season == item.Season) { saeasonId = title.Id; break; } } if (saeasonId < 0) { saeasonId = TitlePersistence.AddTitle(parent.TitleName + " Season " + item.Season.ToString(), TitleKind.Season, item.Season, 0, 0, parentId).Id; } parentId = saeasonId; } break; } item.ParentTitleId = parentId; }
private void BtnCreateSeries_Click(object sender, EventArgs e) { TitlePersistence.AddTitle(TbxSeries.Text, TitleKind.Series, 0, 0, 0, null); BtnCreateSeries.Enabled = false; }
private void BtnCreateSeasons_Click(object sender, EventArgs e) { if (m_title == null) { MessageBox.Show("Need to create series first"); return; } string command = TbxSeasonsToCreate.Text; string pattern = TbxSeasonPattern.Text.Replace("%", "Season {0}"); if (string.IsNullOrWhiteSpace(command)) { return; } var tokens1 = command.Trim().Split(',', ';'); var seasons = new List <int>(); foreach (string t in tokens1) { var tokens2 = t.Trim().Split('-'); switch (tokens2.Length) { case 1: seasons.Add(tokens2[0].To <int>(0)); break; case 2: for (int i = tokens2[0].To <int>(0); i <= tokens2[1].To <int>(0); i++) { seasons.Add(i); } break; default: MessageBox.Show("Invalid session string: " + tokens2); return; } } foreach (int i in seasons) { bool found = false; foreach (var title in foundSeasons) { if (title.Season == i) { found = true; break; } } if (found) { continue; } var season = TitlePersistence.AddTitle(string.Format(pattern, i), TitleKind.Season, i, 0, 0, m_title.Id); ClbSeasons.Items.Add(season, true); TbxSeasonsToCreate.Text = ""; } BtnCreateSeasons.Enabled = false; }