/// <summary> /// Unmarks one or more episodes. /// </summary> /// <param name="showid">The ID of the TV show in the database.</param> /// <param name="episodes">The list of episode ranges. A range consists of two numbers from the same season.</param> public override void UnmarkEpisodes(string showid, IEnumerable <int[]> episodes) { var change = InitChange(showid, ShowInfoChange.ChangeType.UnmarkEpisode, episodes); if (DelayedChanges.Any(x => x.Change == ShowInfoChange.ChangeType.UnmarkEpisode && x.Show == change.Show)) { var prevmark = DelayedChanges.First(x => x.Change == ShowInfoChange.ChangeType.UnmarkEpisode && x.Show == change.Show); if (prevmark.Data is List <int[]> && change.Data is List <int[]> ) { (prevmark.Data as List <int[]>).AddRange(change.Data as List <int[]>); } else { DelayedChanges.Add(change); } } else { DelayedChanges.Add(change); } DelayedChangesTimer.Start(); SaveDelayedChanges(); }