public static void Merge(UnusedCssExtension extension, SessionResult source)
        {
            var url = extension.Connection.Url.ToString().ToLowerInvariant();
            var crossBrowserPageBucket = UsageDataByLocation.GetOrAdd(url, location => new SessionResult(extension));
            var connectionSiteBucket = UsageDataByConnectionAndLocation.GetOrAdd(extension.Connection, conn => new ConcurrentDictionary<string, SessionResult>());
            var connectionPageBucket = connectionSiteBucket.GetOrAdd(url, location => new SessionResult(extension));
            var projectBucket = UsageDataByProject.GetOrAdd(extension.Connection.Project.UniqueName, proj => new SessionResult(extension));

            crossBrowserPageBucket.Merge(source);
            connectionPageBucket.Merge(source);
            projectBucket.Merge(source);
            OnUsageDataUpdated();
        }
示例#2
0
        public static void Merge(UnusedCssExtension extension, SessionResult source)
        {
            var url = extension.Connection.Url.ToString().ToLowerInvariant();
            var crossBrowserPageBucket = UsageDataByLocation.GetOrAdd(url, location => new SessionResult(extension));
            var connectionSiteBucket   = UsageDataByConnectionAndLocation.GetOrAdd(extension.Connection, conn => new ConcurrentDictionary <string, SessionResult>());
            var connectionPageBucket   = connectionSiteBucket.GetOrAdd(url, location => new SessionResult(extension));
            var projectBucket          = UsageDataByProject.GetOrAdd(extension.Connection.Project.UniqueName, proj => new SessionResult(extension));

            crossBrowserPageBucket.Merge(source);
            connectionPageBucket.Merge(source);
            projectBucket.Merge(source);
            OnUsageDataUpdated();
        }
示例#3
0
 public void Merge(SessionResult source)
 {
     RawUsageData.UnionWith(source.RawUsageData);
     Resync();
 }
示例#4
0
 public void Merge(SessionResult source)
 {
     RawUsageData.UnionWith(source.RawUsageData);
     Resync();
 }