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());