Пример #1
0
        internal void RemoveSnapshots(IEnumerable <string> urls)
        {
            foreach (string url in urls)
            {
                TableEntriesSnapshot existing = _snapshots.FirstOrDefault(s => s.Url == url);

                if (existing != null)
                {
                    _snapshots.Remove(existing);
                    _sink.RemoveSnapshot(existing);
                }
            }
        }
Пример #2
0
        public void AddErrors(AccessibilityResult result)
        {
            if (result == null || !result.Violations.Any())
            {
                return;
            }

            result.Violations = result.Violations.Where(v => !_snapshots.Any(s => s.Value.Errors.Contains(v)));

            var snapshot = new TableEntriesSnapshot(result);

            _snapshots[result.Url] = snapshot;

            UpdateAllSinks();
        }
Пример #3
0
        internal void UpdateSink(IEnumerable <TableEntriesSnapshot> snapshots)
        {
            foreach (TableEntriesSnapshot snapshot in snapshots)
            {
                TableEntriesSnapshot existing = _snapshots.FirstOrDefault(s => s.Url == snapshot.Url);

                if (existing != null)
                {
                    _snapshots.Remove(existing);
                    _sink.ReplaceSnapshot(existing, snapshot);
                }
                else
                {
                    _sink.AddSnapshot(snapshot);
                }

                _snapshots.Add(snapshot);
            }
        }
Пример #4
0
        public void CleanAllErrors()
        {
            foreach (string url in _snapshots.Keys)
            {
                TableEntriesSnapshot snapshot = _snapshots[url];
                if (snapshot != null)
                {
                    snapshot.Dispose();
                }
            }

            _snapshots.Clear();

            lock (_managers)
            {
                foreach (SinkManager manager in _managers)
                {
                    manager.Clear();
                }
            }

            UpdateAllSinks();
        }