123456789101112131415161718192021222324252627282930313233343536 |
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using MediaBrowser.Common;
- using MediaBrowser.Controller.Providers;
- namespace MediaBrowser.Providers.Manager
- {
- public class SeriesOrderManager : ISeriesOrderManager
- {
- private Dictionary<string, ISeriesOrderProvider[]> _providers;
- public void AddParts(IEnumerable<ISeriesOrderProvider> orderProviders)
- {
- _providers = orderProviders
- .GroupBy(p => p.OrderType)
- .ToDictionary(g => g.Key, g => g.ToArray());
- }
- public async Task<int?> FindSeriesIndex(string orderType, string seriesName)
- {
- ISeriesOrderProvider[] providers;
- if (!_providers.TryGetValue(orderType, out providers))
- return null;
- foreach (ISeriesOrderProvider provider in providers)
- {
- int? index = await provider.FindSeriesIndex(seriesName);
- if (index != null)
- return index;
- }
- return null;
- }
- }
- }
|