public static void UpdateResources <TSource>(
     this IResourceManager <TSource> mgr,
     IEnumerable <TSource> collection)
 {
     mgr.UpdateResources(
         collection
         .Distinct()
         .ToDictionary(x => x, _ => WeightItem.CreateDefaultItem()));
 }
        public static IResourceManager <TSource> Create <TSource>(IEnumerable <TSource> sources)
        {
            var resources = new ConcurrentDictionary <TSource, WeightItem>();

            foreach (var source in sources)
            {
                resources.GetOrAdd(source, WeightItem.CreateDefaultItem());
            }
            return(new ResourceManager <TSource>(resources, new AgodaWeightManipulationStrategy()));
        }
 public static IResourceManager <TSource> Create <TSource>(IEnumerable <TSource> sources) =>
 new ResourceManager <TSource>(
     sources.ToDictionary(
         x => x,
         _ => WeightItem.CreateDefaultItem()),
     new AgodaWeightManipulationStrategy());