| 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;        }    }}
 |