private void AddResultItemOrAddToItemResultListLog(IDebugItemResult itemToAdd, bool isDeserialize) { if (!string.IsNullOrWhiteSpace(itemToAdd.GroupName) && itemToAdd.GroupIndex > MaxItemDispatchCount && !isDeserialize) { _fileName = string.Format("{0}.txt", _itemId); var shouldCreateMoreLink = itemToAdd.GroupIndex == MaxItemDispatchCount + 1 && !_isMoreLinkCreated; if (shouldCreateMoreLink) { ClearFile(_fileName); _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem()); var clonedItem = itemToAdd.Clone(); var moreLink = SaveFile(_stringBuilder.ToString(), _fileName); _stringBuilder.Clear(); clonedItem.MoreLink = moreLink; ResultsList.Add(clonedItem); _isMoreLinkCreated = true; return; } _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem()); FlushResultListLogIfNeeded(itemToAdd); return; } TruncateItemResultIfNeeded(itemToAdd); ResultsList.Add(itemToAdd); }
private void FlushResultListLogIfNeeded(IDebugItemResult itemToAdd) { if (itemToAdd.Type == DebugItemResultType.Value || itemToAdd.Type == DebugItemResultType.Variable || _stringBuilder.Length > 10000) { SaveFile(_stringBuilder.ToString(), _fileName); _stringBuilder.Clear(); } }
public DebugLineItem(IDebugItemResult result) { Type = result.Type; Value = result.Value; MoreLink = result.MoreLink; Label = result.Label; Variable = result.Variable; Operator = result.Operator; }
public DebugLineItem(IDebugItemResult result) { Type = result.Type; Value = result.Value; MoreLink = result.MoreLink; Label = result.Label; Variable = result.Variable; Operator = result.Operator; }
internal void TruncateItemResultIfNeeded(IDebugItemResult itemToAdd) { var valueOrVariable = itemToAdd.Type == DebugItemResultType.Value || itemToAdd.Type == DebugItemResultType.Variable; var valueLengthTooLong = !string.IsNullOrEmpty(itemToAdd.Value) && itemToAdd.Value.Length > MaxCharDispatchCount; if (valueOrVariable && valueLengthTooLong) { itemToAdd.MoreLink = SaveFile(itemToAdd.Value, string.Format("{0}-{1}.txt", DateTime.Now.ToString("s"), Guid.NewGuid())); itemToAdd.Value = itemToAdd.Value.Substring(0, ActCharDispatchCount); } }
public void TryCache(IDebugItemResult item) { if (item == null) { throw new ArgumentNullException("item"); } if (!string.IsNullOrEmpty(item.Value) && item.Value.Length > MaxCharDispatchCount) { item.MoreLink = SaveFile(item.Value, string.Format("{0}-{1}.txt", DateTime.Now.ToString("s"), Guid.NewGuid())); item.Value = item.Value.Substring(0, ActCharDispatchCount); } }
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); }
public void Add(IDebugItemResult itemToAdd, bool isDeserialize) { AddResultItemOrAddToItemResultListLog(itemToAdd, isDeserialize); }
public void Add(IDebugItemResult itemToAdd) => Add(itemToAdd, false);
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); }
public void TryCache(IDebugItemResult item) { if(item == null) { throw new ArgumentNullException("item"); } if(!string.IsNullOrEmpty(item.Value) && item.Value.Length > MaxCharDispatchCount) { item.MoreLink = SaveFile(item.Value, string.Format("{0}-{1}.txt", DateTime.Now.ToString("s"), Guid.NewGuid())); item.Value = item.Value.Substring(0, ActCharDispatchCount); } }
static void BuildBindableListFromDebugItems(DebugLine list, Dictionary <string, DebugLineGroup> groups, IDebugItemResult result, bool isInputs) { if (string.IsNullOrEmpty(result.GroupName)) { list.LineItems.Add(new DebugLineItem(result)); } else { if (!groups.TryGetValue(result.GroupName, out DebugLineGroup group)) { var label = isInputs ? string.Format("{0} = ", result.Label) : result.Label; group = new DebugLineGroup(result.GroupName, label) { MoreLink = result.MoreLink }; groups.Add(group.GroupName, group); list.LineItems.Add(group); } if (!group.Rows.TryGetValue(result.GroupIndex, out DebugLineGroupRow row)) { row = new DebugLineGroupRow(); group.Rows.Add(result.GroupIndex, row); } row.LineItems.Add(new DebugLineItem(result)); } }