diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-02-07 00:15:26 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-02-07 00:15:26 -0500 |
| commit | 0e49ccfd077bf114a2a663249d81a2891c46639d (patch) | |
| tree | bdd85319f0a705d4fdfe5fec8c37a4b5361b14e6 /MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs | |
| parent | b398b4eaabad357027dbcf2a210edcada8a984fd (diff) | |
update smart match feature
Diffstat (limited to 'MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index a952b60d5..dcce91c31 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -301,20 +301,25 @@ namespace MediaBrowser.Server.Implementations.FileOrganization private void SaveSmartMatchString(string matchString, Series series, AutoOrganizeOptions options) { - SmartMatchInfo info = options.SmartMatchInfos.Find(i => i.Id == series.Id); + var seriesIdString = series.Id.ToString("N"); + SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.Id, seriesIdString)); if (info == null) { info = new SmartMatchInfo(); - info.Id = series.Id; + info.Id = series.Id.ToString("N"); info.OrganizerType = FileOrganizerType.Episode; info.Name = series.Name; - options.SmartMatchInfos.Add(info); + var list = options.SmartMatchInfos.ToList(); + list.Add(info); + options.SmartMatchInfos = list.ToArray(); } if (!info.MatchStrings.Contains(matchString, StringComparer.OrdinalIgnoreCase)) { - info.MatchStrings.Add(matchString); + var list = info.MatchStrings.ToList(); + list.Add(matchString); + info.MatchStrings = list.ToArray(); _config.SaveAutoOrganizeOptions(options); } } @@ -487,14 +492,14 @@ namespace MediaBrowser.Server.Implementations.FileOrganization if (series == null) { - SmartMatchInfo info = options.SmartMatchInfos.Where(e => e.MatchStrings.Contains(seriesName, StringComparer.OrdinalIgnoreCase)).FirstOrDefault(); + SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(e => e.MatchStrings.Contains(seriesName, StringComparer.OrdinalIgnoreCase)); if (info != null) { - series = _libraryManager.RootFolder.GetRecursiveChildren(i => i is Series) + series = _libraryManager.RootFolder + .GetRecursiveChildren(i => i is Series) .Cast<Series>() - .Where(i => i.Id == info.Id) - .FirstOrDefault(); + .FirstOrDefault(i => string.Equals(i.Id.ToString("N"), info.Id)); } } |
