public DebugTOParams(DebugTO debugTo, bool isInput, string leftLabel = "", string rightLabel = "", List<string> regions = null) { _debugTo = debugTo; _isInput = isInput; _leftLabel = leftLabel; _rightLabel = rightLabel; _labelText = ""; _regions = regions; }
public List<IDebugItemResult> CreateDebugItemForInput(DebugTO debugTo, string labelText, string leftLabel, string rightLabel, List<string> regions) { var results = new List<IDebugItemResult>(); if(debugTo.LeftEntry != null) { GetValue(debugTo.LeftEntry, debugTo, leftLabel, regions, results); debugTo.LeftEntry.DisposeCache(); } if(debugTo.RightEntry != null) { GetValue(debugTo.RightEntry, debugTo, rightLabel, regions, results); } return results; }
public List<IDebugItemResult> CreateDebugItemForOutput(DebugTO debugTo, string labelText, List<string> regions) { var results = new List<IDebugItemResult>(); if(debugTo.TargetEntry != null) { GetValue(debugTo.TargetEntry, debugTo, labelText, regions, results); debugTo.TargetEntry.DisposeCache(); } return results; }
static void GetValue(IBinaryDataListEntry entry, DebugTO debugTo, string labelText, List<string> regions, List<IDebugItemResult> results) { ComplexExpressionAuditor auditor = entry.ComplexExpressionAuditor; if(auditor != null) { int grpIdx = 0; IList<ComplexExpressionAuditItem> complexExpressionAuditItems = auditor.FetchAuditItems(); foreach(ComplexExpressionAuditItem item in complexExpressionAuditItems) { string groupName = null; string displayExpression = item.Expression; string rawExpression = item.RawExpression; if(regions != null && regions.Count > 0) { // } if(displayExpression.Contains("().") || displayExpression.Contains("(*).")) { grpIdx++; groupName = displayExpression; displayExpression = rawExpression; } else { if(regions != null && regions.Count > 0) { string indexRegionFromRecordset = DataListUtil.ExtractIndexRegionFromRecordset(displayExpression); int indexForRecset; int.TryParse(indexRegionFromRecordset, out indexForRecset); if(indexForRecset > 0) { int indexOfOpenningBracket = displayExpression.IndexOf("(", StringComparison.Ordinal) + 1; string group = displayExpression.Substring(0, indexOfOpenningBracket) + "*" + displayExpression.Substring(indexOfOpenningBracket + indexRegionFromRecordset.Length); if(regions.Contains(@group)) { grpIdx++; groupName = @group; } } } } int count = complexExpressionAuditItems.Count(i => i.Expression.Equals(item.Expression)); if(count < 2) { groupName = ""; } var debugOperator = ""; var debugType = DebugItemResultType.Value; if(DataListUtil.IsEvaluated(displayExpression)) { debugOperator = "="; debugType = DebugItemResultType.Variable; } else { displayExpression = null; } results.Add(new DebugItemResult { Type = debugType, Label = labelText, Variable = displayExpression, Operator = debugOperator, GroupName = groupName, Value = item.BoundValue, GroupIndex = grpIdx }); } } else { //Could not evaluate results.Add(new DebugItemResult { Type = DebugItemResultType.Value, Label = labelText, Variable = debugTo.Expression, Operator = "=", GroupName = "", Value = "" }); } }
public DebugItemVariableParams(DebugTO debugTO, List<string> regions = null) { _debugTO = debugTO; _labelText = ""; _regions = regions; }