示例#1
0
        /// <summary>
        /// Add new duplication entry (Tuple of log entry (original) and collection of log entries (duplications))
        /// </summary>
        /// <param name="entry"></param>
        /// <param name="timeOfOriginal"></param>
        private void AddNewDuplicationEntry(Log9KEntry entry, Log9KTime timeOfOriginal)
        {
            if (!CheckForDuplicationMethods())
            {
                return;
            }
            int duplicationKey = KeyForDuplicationDictionary(entry);

            Log9KUtil.InvokeInUiThread(() => {
                if (DuplicationsDictionary.ContainsKey(duplicationKey))
                {
                    return;
                }

                ObservableCollection <DuplicationLeaf> times = new ObservableCollection <DuplicationLeaf>();
                if (timeOfOriginal == null)
                {
                    times = new ObservableCollection <Tuple <Log9KTime, uint> > {
                        new DuplicationLeaf(entry.Time, entry.ID)
                    };
                }

                DuplicationNode de = new DuplicationNode(
                    entry, times
                    );
                DuplicationsDictionary.Add(duplicationKey, de);
            });
        }
示例#2
0
        /// <summary>
        /// Find duplication entry for given entry
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        protected DuplicationNode LookupForDuplication(Log9KEntry entry)
        {
            int duplicationKey = KeyForDuplicationDictionary(entry);

            if (!DuplicationsDictionary.ContainsKey(duplicationKey))
            {
                return(null);
            }
            return(DuplicationsDictionary[duplicationKey]);
        }