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); } }
private IISLogRecord FindItemIntoNextElement(IISLogRecord item) { if (_element.Equals(item)) { return(_element); } else if (_nextElement != null) { return(_nextElement.FindItemIntoNextElement(item)); } return(null); }
protected IISLogRecordSet(IISLogRecordSet root, IISLogRecord newElement) : this() { _root = root; _element = newElement; }
public IISLogRecord FindItem(IISLogRecord item) => _root?.FindItemIntoNextElement(item);
public IISLogRecordSet() { _element = null; _nextElement = null; _root = null; }