Skip to content

Commit f2e5a88

Browse files
committed
Updated Helpers and minor fixes
1 parent 0fa13a4 commit f2e5a88

8 files changed

+476
-443
lines changed

PluginTraceViewer.sln

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1010
PluginTraceViewer.nuspec = PluginTraceViewer.nuspec
1111
EndProjectSection
1212
EndProject
13-
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Rappen.XTB.Helpers", "Rappen.XTB.Helper\Rappen.XTB.Helpers.shproj", "{0B88B381-EE9D-41E8-A62C-90152C42DE90}"
13+
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Rappen.XRM.Helpers", "Rappen.XTB.Helper\Rappen.XRM.Helpers\Rappen.XRM.Helpers.shproj", "{2EBF1257-150F-46C8-8BBD-2A9235C0EB45}"
1414
EndProject
15-
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Rappen.XRM.Helpers", "Rappen.XTB.Helper\Rappen.XRM.Helpers.shproj", "{2EBF1257-150F-46C8-8BBD-2A9235C0EB45}"
15+
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Rappen.XTB.Helpers", "Rappen.XTB.Helper\Rappen.XTB.Helpers\Rappen.XTB.Helpers.shproj", "{0B88B381-EE9D-41E8-A62C-90152C42DE90}"
1616
EndProject
1717
Global
18-
GlobalSection(SharedMSBuildProjectFiles) = preSolution
19-
Rappen.XTB.Helper\Rappen.XTB.Helpers.projitems*{0b88b381-ee9d-41e8-a62c-90152c42de90}*SharedItemsImports = 13
20-
Rappen.XTB.Helper\Rappen.XRM.Helpers.projitems*{2ebf1257-150f-46c8-8bbd-2a9235c0eb45}*SharedItemsImports = 13
21-
Rappen.XTB.Helper\Rappen.XRM.Helpers.projitems*{b3c38aa4-510e-43fa-90f5-4de385225b6b}*SharedItemsImports = 4
22-
Rappen.XTB.Helper\Rappen.XTB.Helpers.projitems*{b3c38aa4-510e-43fa-90f5-4de385225b6b}*SharedItemsImports = 4
23-
EndGlobalSection
2418
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2519
Debug|Any CPU = Debug|Any CPU
2620
Release|Any CPU = Release|Any CPU
@@ -37,4 +31,10 @@ Global
3731
GlobalSection(ExtensibilityGlobals) = postSolution
3832
SolutionGuid = {2CDA7681-5098-4BB6-B7EB-6C12EDEB24DE}
3933
EndGlobalSection
34+
GlobalSection(SharedMSBuildProjectFiles) = preSolution
35+
Rappen.XTB.Helper\Rappen.XTB.Helpers\Rappen.XTB.Helpers.projitems*{0b88b381-ee9d-41e8-a62c-90152c42de90}*SharedItemsImports = 13
36+
Rappen.XTB.Helper\Rappen.XRM.Helpers\Rappen.XRM.Helpers.projitems*{2ebf1257-150f-46c8-8bbd-2a9235c0eb45}*SharedItemsImports = 13
37+
Rappen.XTB.Helper\Rappen.XRM.Helpers\Rappen.XRM.Helpers.projitems*{b3c38aa4-510e-43fa-90f5-4de385225b6b}*SharedItemsImports = 4
38+
Rappen.XTB.Helper\Rappen.XTB.Helpers\Rappen.XTB.Helpers.projitems*{b3c38aa4-510e-43fa-90f5-4de385225b6b}*SharedItemsImports = 4
39+
EndGlobalSection
4040
EndGlobal

PluginTraceViewer/Controls/GridControl.Designer.cs

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PluginTraceViewer/Controls/GridControl.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ private void crmGridView_CellFormatting(object sender, DataGridViewCellFormattin
144144
{
145145
var tooltipcolumn = e.ColumnIndex == crmGridView.Columns["correlation"].Index ? "correlationid" : crmGridView.Columns[e.ColumnIndex].Name;
146146
var cell = crmGridView[e.ColumnIndex, e.RowIndex];
147-
cell.ToolTipText = crmGridView.Rows[e.RowIndex].Cells[tooltipcolumn].Value.ToString();
147+
cell.ToolTipText = crmGridView.Rows[e.RowIndex].Cells[tooltipcolumn].Value?.ToString();
148148
}
149149

150150
private void crmGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
@@ -620,4 +620,4 @@ private void txtQuickFilter_TextChanged(object sender, EventArgs e)
620620
crmGridView.FilterText = txtQuickFilter.Text;
621621
}
622622
}
623-
}
623+
}

PluginTraceViewer/Controls/GridControl.resx

+6-6
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@
117117
<resheader name="writer">
118118
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119
</resheader>
120+
<metadata name="contextMenuGridView.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121+
<value>17, 17</value>
122+
</metadata>
123+
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
124+
<value>190, 17</value>
125+
</metadata>
120126
<metadata name="correlation.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
121127
<value>True</value>
122128
</metadata>
@@ -174,10 +180,4 @@
174180
<metadata name="exceptiondetails.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
175181
<value>True</value>
176182
</metadata>
177-
<metadata name="contextMenuGridView.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
178-
<value>17, 17</value>
179-
</metadata>
180-
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
181-
<value>190, 17</value>
182-
</metadata>
183183
</root>

PluginTraceViewer/PluginTraceViewer.cs

+46-18
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using Microsoft.Crm.Sdk.Messages;
55
using Microsoft.Xrm.Sdk;
66
using Microsoft.Xrm.Sdk.Query;
7-
using Rappen.XTB.Helpers.Serialization;
7+
using Rappen.XRM.Helpers.Serialization;
88
using System;
99
using System.Collections.Generic;
1010
using System.Diagnostics;
@@ -24,8 +24,10 @@ namespace Cinteros.XTB.PluginTraceViewer
2424
public partial class PluginTraceViewer : PluginControlBase, IGitHubPlugin, IMessageBusHost, IHelpPlugin, IPayPalPlugin, IStatusBarMessenger, IShortcutReceiver, IAboutPlugin
2525
{
2626
private const string aiEndpoint = "https://dc.services.visualstudio.com/v2/track";
27-
//private const string aiKey = "cc7cb081-b489-421d-bb61-2ee53495c336"; // [email protected] tenant, TestAI
27+
28+
//private const string aiKey = "cc7cb081-b489-421d-bb61-2ee53495c336"; // [email protected] tenant, TestAI
2829
private const string aiKey = "eed73022-2444-45fd-928b-5eebd8fa46a6"; // [email protected] tenant, XrmToolBox
30+
2931
private AppInsights ai = new AppInsights(aiEndpoint, aiKey, Assembly.GetExecutingAssembly(), "Plugin Trace Viewer");
3032

3133
internal GridControl gridControl;
@@ -85,14 +87,19 @@ private IDockContent dockDeSerialization(string persistString)
8587
{
8688
case "Cinteros.XTB.PluginTraceViewer.Controls.GridControl":
8789
return gridControl;
90+
8891
case "Cinteros.XTB.PluginTraceViewer.Controls.FilterControl":
8992
return filterControl;
93+
9094
case "Cinteros.XTB.PluginTraceViewer.Controls.StatsControl":
9195
return statsControl;
96+
9297
case "Cinteros.XTB.PluginTraceViewer.Controls.TraceControl":
9398
return traceControl;
99+
94100
case "Cinteros.XTB.PluginTraceViewer.Controls.ExceptionControl":
95101
return exceptionControl;
102+
96103
default:
97104
return null;
98105
}
@@ -109,6 +116,7 @@ private IDockContent dockDeSerialization(string persistString)
109116
public string EmailAccount => "[email protected]";
110117

111118
public event EventHandler<MessageBusEventArgs> OnOutgoingMessage;
119+
112120
public event EventHandler<StatusBarMessageEventArgs> SendMessageToStatusBar;
113121

114122
public void OnIncomingMessage(MessageBusEventArgs message)
@@ -144,78 +152,93 @@ private PTVFilter ParseFilterArgs(string strarg)
144152
case "plugin":
145153
result.Plugin = value;
146154
break;
155+
147156
case "message":
148157
result.Message = value;
149158
break;
159+
150160
case "entity":
151161
result.Entity = value;
152162
break;
163+
153164
case "correlationid":
154165
result.CorrelationId = value;
155166
break;
167+
156168
case PluginTraceLog.RequestId:
157169
result.RequestId = value;
158170
break;
171+
159172
case "exceptionsonly":
160173
if (bool.TryParse(value, out bool exceptions))
161174
{
162175
result.Exceptions = exceptions;
163176
}
164177
break;
178+
165179
case "plugins":
166180
if (bool.TryParse(value, out bool plugins))
167181
{
168182
result.Exceptions = plugins;
169183
}
170184
break;
185+
171186
case "workflows":
172187
if (bool.TryParse(value, out bool workflows))
173188
{
174189
result.Exceptions = workflows;
175190
}
176191
break;
192+
177193
case "sync":
178194
if (bool.TryParse(value, out bool sync))
179195
{
180196
result.Exceptions = sync;
181197
}
182198
break;
199+
183200
case "async":
184201
if (bool.TryParse(value, out bool async))
185202
{
186203
result.Exceptions = async;
187204
}
188205
break;
206+
189207
case "preval":
190208
if (bool.TryParse(value, out bool preval))
191209
{
192210
result.Exceptions = preval;
193211
}
194212
break;
213+
195214
case "preop":
196215
if (bool.TryParse(value, out bool preop))
197216
{
198217
result.Exceptions = preop;
199218
}
200219
break;
220+
201221
case "postop":
202222
if (bool.TryParse(value, out bool postop))
203223
{
204224
result.Exceptions = postop;
205225
}
206226
break;
227+
207228
case "durationmin":
208229
if (int.TryParse(value, out int durationmin))
209230
{
210231
result.MinDuration = durationmin;
211232
}
212233
break;
234+
213235
case "durationmax":
214236
if (int.TryParse(value, out int durationmax))
215237
{
216238
result.MinDuration = durationmax;
217239
}
218240
break;
241+
219242
case "records":
220243
if (int.TryParse(value, out int records))
221244
{
@@ -318,17 +341,20 @@ private void ShowLogSettingWarning(PluginCloseInfo info)
318341
case DialogResult.Yes:
319342
UpdateLogSetting(0);
320343
break;
344+
321345
case DialogResult.No:
322346
switch (MessageBox.Show("Continue showing this warning for this organization?", "Trace Log Setting", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
323347
{
324348
case DialogResult.No:
325349
tsmiSuppressLogSettingWarning.Checked = true;
326350
break;
351+
327352
case DialogResult.Cancel:
328353
info.Cancel = true;
329354
break;
330355
}
331356
break;
357+
332358
case DialogResult.Cancel:
333359
info.Cancel = true;
334360
break;
@@ -496,25 +522,27 @@ private void RefreshNewTraces(bool forcerefresh)
496522
}
497523
else
498524
{
499-
var logs = gridControl.crmGridView.DataSource as DataCollection<Entity>;
500-
foreach (var log in logs)
525+
if (gridControl.crmGridView.DataSource is DataCollection<Entity> logs)
501526
{
502-
newlogs.Remove(log.Id);
503-
}
504-
UpdateRefreshButton(newlogs.Entities.Count);
527+
foreach (var log in logs)
528+
{
529+
newlogs.Remove(log.Id);
530+
}
531+
UpdateRefreshButton(newlogs.Entities.Count);
505532

506-
if ((forcerefresh || comboRefreshMode.SelectedIndex == 2) && newlogs.Entities.Count > 0)
507-
{
508-
foreach (var log in newlogs.Entities.Reverse())
533+
if ((forcerefresh || comboRefreshMode.SelectedIndex == 2) && newlogs.Entities.Count > 0)
509534
{
510-
logs.Insert(0, log);
535+
foreach (var log in newlogs.Entities.Reverse())
536+
{
537+
logs.Insert(0, log);
538+
}
539+
FriendlyfyCorrelationIds(logs);
540+
SimplifyPluginTypes(logs);
541+
SetTraceSizes(logs);
542+
ExtractExceptionSummaries(logs);
543+
gridControl.crmGridView.Refresh();
544+
UpdateRefreshButton(0);
511545
}
512-
FriendlyfyCorrelationIds(logs);
513-
SimplifyPluginTypes(logs);
514-
SetTraceSizes(logs);
515-
ExtractExceptionSummaries(logs);
516-
gridControl.crmGridView.Refresh();
517-
UpdateRefreshButton(0);
518546
}
519547
}
520548
StartRefreshTimer(false);
@@ -1182,4 +1210,4 @@ private static void OpenLogTrace(Entity record)
11821210
Process.Start(filename);
11831211
}
11841212
}
1185-
}
1213+
}

0 commit comments

Comments
 (0)