using MediaBrowser.Model.Dto; using MediaBrowser.Model.Sync; using System.Collections.Generic; namespace MediaBrowser.Api.Sync { public static class SyncHelper { public static List GetSyncOptions(List items) { List options = new List(); foreach (BaseItemDto item in items) { if (item.SupportsSync ?? false) { if (item.IsVideo) { options.Add(SyncJobOption.Quality); options.Add(SyncJobOption.Profile); if (items.Count > 1) { options.Add(SyncJobOption.UnwatchedOnly); } break; } if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre) { options.Add(SyncJobOption.Quality); options.Add(SyncJobOption.Profile); options.Add(SyncJobOption.UnwatchedOnly); break; } if (item.IsGenre) { options.Add(SyncJobOption.SyncNewContent); options.Add(SyncJobOption.ItemLimit); break; } } } foreach (BaseItemDto item in items) { if (item.SupportsSync ?? false) { if (item.IsFolder || item.IsGameGenre || item.IsMusicGenre || item.IsGenre || item.IsArtist || item.IsStudio || item.IsPerson) { options.Add(SyncJobOption.SyncNewContent); options.Add(SyncJobOption.ItemLimit); break; } } } return options; } public static List GetSyncOptions(SyncCategory category) { List options = new List(); options.Add(SyncJobOption.Quality); options.Add(SyncJobOption.Profile); options.Add(SyncJobOption.UnwatchedOnly); options.Add(SyncJobOption.SyncNewContent); options.Add(SyncJobOption.ItemLimit); return options; } } }