@@ -19,6 +19,8 @@ public sealed class StudioController : IStudioController
19
19
{
20
20
public event Action ShowYourself ;
21
21
22
+ public event Action HideYourself ;
23
+
22
24
public event Action < List < IServer > > OnServersAdded ;
23
25
24
26
public event Action < List < IServer > > OnServersRemoved ;
@@ -122,6 +124,7 @@ void IStudioController.NavigateObject(IServer server, Entity entityObject)
122
124
{
123
125
var srv = this . Servers [ server ] ;
124
126
manager . SelectSMOObjectInObjectExplorer ( entityObject . InternalObject as ScriptSchemaObjectBase , srv . Connection ) ;
127
+ ForceHideYourselfIfNeeded ( ) ;
125
128
}
126
129
catch ( Exception ex )
127
130
{
@@ -316,12 +319,22 @@ public void ForceShowYourself()
316
319
}
317
320
}
318
321
322
+ public void ForceHideYourselfIfNeeded ( )
323
+ {
324
+ if ( HideYourself != null )
325
+ {
326
+ if ( _cfg . HideAfterAction )
327
+ HideYourself ( ) ;
328
+ }
329
+ }
330
+
319
331
public void ModifyFunction ( IServer server , Entity entityObject )
320
332
{
321
333
this . SafeRun ( ( ) =>
322
334
{
323
335
var serverInfo = GetServer ( server ) ;
324
336
ManagementStudioController . OpenFunctionForModification ( entityObject . InternalObject as UserDefinedFunction , serverInfo . Connection , _cfg . AlterOrCreate ) ;
337
+ ForceHideYourselfIfNeeded ( ) ;
325
338
} , "ModifyFunction failed - " + GetSafeEntityObject ( entityObject ) ) ;
326
339
}
327
340
@@ -331,6 +344,7 @@ public void ModifyView(IServer server , Entity entityObject)
331
344
{
332
345
var serverInfo = GetServer ( server ) ;
333
346
ManagementStudioController . ModifyView ( entityObject . InternalObject as View , serverInfo . Connection , _cfg . AlterOrCreate ) ;
347
+ ForceHideYourselfIfNeeded ( ) ;
334
348
} , "ModifyView failed - " + GetSafeEntityObject ( entityObject ) ) ;
335
349
}
336
350
@@ -340,6 +354,7 @@ public void ModifyProcedure(IServer server, Entity entityObject)
340
354
{
341
355
var serverInfo = GetServer ( server ) ;
342
356
ManagementStudioController . OpenStoredProcedureForModification ( entityObject . InternalObject as StoredProcedure , serverInfo . Connection , _cfg . AlterOrCreate ) ;
357
+ ForceHideYourselfIfNeeded ( ) ;
343
358
} , "ModifyProcedure failed - " + GetSafeEntityObject ( entityObject ) ) ;
344
359
}
345
360
@@ -350,6 +365,7 @@ public void SelectFromView(IServer server, Entity entityObject)
350
365
var serverInfo = GetServer ( server ) ;
351
366
ManagementStudioController . SelectFromView ( entityObject . InternalObject as View , serverInfo . Connection , _cfg . SelectTopX , _cfg . IncludeAllColumns , _cfg . AddWhereClauseFor , _cfg . AddNoLock ) ;
352
367
368
+ ForceHideYourselfIfNeeded ( ) ;
353
369
} , "SelectFromView failed - " + GetSafeEntityObject ( entityObject ) ) ;
354
370
}
355
371
@@ -359,6 +375,7 @@ public void ExecuteProcedure(IServer server, Entity entityObject)
359
375
{
360
376
var serverInfo = GetServer ( server ) ;
361
377
ManagementStudioController . ExecuteStoredProc ( entityObject . InternalObject as StoredProcedure , serverInfo . Connection ) ;
378
+ ForceHideYourselfIfNeeded ( ) ;
362
379
} , "ExecuteProcedure failed - " + GetSafeEntityObject ( entityObject ) ) ;
363
380
}
364
381
@@ -368,6 +385,7 @@ public void ExecuteFunction(IServer server, Entity entityObject)
368
385
{
369
386
var serverInfo = GetServer ( server ) ;
370
387
ManagementStudioController . ExecuteFunction ( entityObject . InternalObject as UserDefinedFunction , serverInfo . Connection ) ;
388
+ ForceHideYourselfIfNeeded ( ) ;
371
389
} , "ExecuteProcedure failed - " + GetSafeEntityObject ( entityObject ) ) ;
372
390
}
373
391
@@ -382,6 +400,7 @@ public void ScriptTable(IServer server, Entity entityObject)
382
400
{
383
401
var serverInfo = GetServer ( server ) ;
384
402
ManagementStudioController . ScriptTable ( entityObject . InternalObject as Table , serverInfo . Connection , _cfg . ScriptIndexes , _cfg . ScriptForeignKeys , _cfg . ScriptTriggers ) ;
403
+ ForceHideYourselfIfNeeded ( ) ;
385
404
} , "ScriptTable - " + GetSafeEntityObject ( entityObject ) ) ;
386
405
}
387
406
@@ -391,6 +410,7 @@ public void SelectFromTable(IServer server, Entity entityObject)
391
410
{
392
411
var serverInfo = GetServer ( server ) ;
393
412
ManagementStudioController . SelectFromTable ( entityObject . InternalObject as Table , serverInfo . Connection , _cfg . SelectTopX , _cfg . IncludeAllColumns , _cfg . AddWhereClauseFor , _cfg . AddNoLock , _cfg . OrderBy ) ;
413
+ ForceHideYourselfIfNeeded ( ) ;
394
414
} , "SelectFromTable - " + GetSafeEntityObject ( entityObject ) ) ;
395
415
}
396
416
@@ -400,6 +420,7 @@ public void EditTableData(IServer server, Entity entityObject)
400
420
{
401
421
var serverInfo = GetServer ( server ) ;
402
422
manager . OpenTable2 ( entityObject . InternalObject as Table , serverInfo . Connection , serverInfo . Server ) ;
423
+ ForceHideYourselfIfNeeded ( ) ;
403
424
} , "EditTableData - " + GetSafeEntityObject ( entityObject ) ) ;
404
425
}
405
426
@@ -409,6 +430,7 @@ public void DesignTable(IServer server, Entity entityObject)
409
430
{
410
431
var serverInfo = GetServer ( server ) ;
411
432
ManagementStudioController . DesignTable ( entityObject . InternalObject as Table , serverInfo . Connection ) ;
433
+ ForceHideYourselfIfNeeded ( ) ;
412
434
} , "DesignTable - " + GetSafeEntityObject ( entityObject ) ) ;
413
435
}
414
436
0 commit comments