Exemple #1
0
        public void Refresh()
        {
            HashSet <string> currentDocs = new HashSet <string>();

            foreach (Document document in Application.DocumentManager)
            {
                sheets.Refill(sheetExtractor.SheetsFrom(document));
                destinations.Fill(destinationsExtractor.DestinationsFrom(document));
                currentDocs.Add(document.Name);
            }

            List <Sheet> sheetToRemove = new List <Sheet>();

            foreach (var sheet in sheets.Values)
            {
                if (!currentDocs.Contains(sheet.FileName))
                {
                    sheetToRemove.Add(sheet);
                }
            }

            foreach (var sheet in sheetToRemove)
            {
                sheets.Remove(sheet.Id);
            }

            knownFormats.UnionWith(sorter.Group(sheets.Values).Keys);
        }
Exemple #2
0
        public void Refill()
        {
            Dictionary <string, List <SheetTreeNode> > newGroups = sorter.Group(nodeCache.Values);

            foreach (var groupId in groupById.Keys)
            {
                if (!newGroups.ContainsKey(groupId))
                {
                    groups.Remove(groupById[groupId]);
                    groupById.Remove(groupId);
                }
            }

            foreach (var groupId in newGroups.Keys)
            {
                if (!groupById.ContainsKey(groupId))
                {
                    SheetsGroupTreeNode newGroup = new SheetsGroupTreeNode(groupId);
                    groups.Add(newGroup);
                    groupById.Add(groupId, newGroup);
                }

                groupById[groupId].Refill(newGroups[groupId]);
            }
        }