public void Add(IDebugItemResult itemToAdd, bool isDeserialize = false)
{
if(!string.IsNullOrWhiteSpace(itemToAdd.GroupName) && itemToAdd.GroupIndex > MaxItemDispatchCount)
{
if(!isDeserialize)
{
_fileName = string.Format("{0}.txt", _itemId);
if(itemToAdd.GroupIndex == MaxItemDispatchCount + 1 && !_isMoreLinkCreated)
{
ClearFile(_fileName);
_stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
ResultsList.Add(new DebugItemResult { MoreLink = SaveFile(_stringBuilder.ToString(), _fileName), GroupName = itemToAdd.GroupName, GroupIndex = itemToAdd.GroupIndex });
_stringBuilder.Clear();
_isMoreLinkCreated = true;
return;
}
_stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
if(itemToAdd.Type == DebugItemResultType.Value ||
itemToAdd.Type == DebugItemResultType.Variable)
{
SaveFile(_stringBuilder.ToString(), _fileName);
_stringBuilder.Clear();
}
if(_stringBuilder.Length > 10000)
{
SaveFile(_stringBuilder.ToString(), _fileName);
_stringBuilder.Clear();
}
return;
}
}
if(itemToAdd.Type == DebugItemResultType.Value ||
itemToAdd.Type == DebugItemResultType.Variable)
{
TryCache(itemToAdd);
}
ResultsList.Add(itemToAdd);
}