コード例 #1
0
        private bool Add(IISLogRecord newItem)
        {
            try
            {
                if (_element == null)
                {
                    _element     = newItem;
                    _root        = this;
                    _nextElement = null;
                }
                else
                {
                    var item = FindItem(newItem);
                    if (item == null)
                    {
                        var nextElem = new IISLogRecordSet(_root, newItem);
                        AddToLast(nextElem);
                    }
                    else
                    {
                        item.IncrementCounter();
                    }
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #2
0
 private IISLogRecord FindItemIntoNextElement(IISLogRecord item)
 {
     if (_element.Equals(item))
     {
         return(_element);
     }
     else if (_nextElement != null)
     {
         return(_nextElement.FindItemIntoNextElement(item));
     }
     return(null);
 }
コード例 #3
0
 protected IISLogRecordSet(IISLogRecordSet root, IISLogRecord newElement)
     : this()
 {
     _root    = root;
     _element = newElement;
 }
コード例 #4
0
 public IISLogRecord FindItem(IISLogRecord item) => _root?.FindItemIntoNextElement(item);
コード例 #5
0
 public IISLogRecordSet()
 {
     _element     = null;
     _nextElement = null;
     _root        = null;
 }