Common.Customizer/VI.Common.Customizer/DialogTag.cs
Decompiler Source FileCommon.Customizer.DialogTagDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- Function registration: IsChangeTable at line 429
Typed Edges
- No typed edges extracted for this source.
References
- No direct source references extracted.
Referenced By
- No direct source references extracted.
C# source-derived context
Generated by pattern extraction from the decompiled C# source and decompile index. This is factual source evidence, not inferred behavior.
reads entity values references DB/Dialog objects
Summary: classes DialogTag, _003C_003Ec__DisplayClass1_0, _003C_003Ec__DisplayClass1_1; methods _003C_CheckTagTypeHierarchy_003Eb__0, _003C_CheckTagTypeHierarchy_003Eb__1, MoveNext, SetStateMachine, _CheckTagTypeHierarchy, OnSavingAsync; references DialogTag, DialogTaggedItem; markers reads entity values, references DB/Dialog objects
Classes
DialogTag _003C_003Ec__DisplayClass1_0 _003C_003Ec__DisplayClass1_1Methods
DB/Dialog object references
OIM key/entity markers
UID_DialogTag UID_DialogTagParentAPI/entity calls
ExistsAsync GetValueAsync GetValue Source SqlFormatter FromRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Diagnostics;3using System.Runtime.CompilerServices;4using System.Runtime.InteropServices;5using System.Threading;6using System.Threading.Tasks;7using VI.Base;8using VI.DB;9using VI.DB.Entities;10using VI.DB.MetaData;11using VI.DB.Sync;1213namespace VI.Common.Customizer;1415public class DialogTag : StateLessEntityLogic16{17 [CompilerGenerated]18 private sealed class _003C_003Ec__DisplayClass1_019 {20 public string uidParent;2122 internal ExpressionClause _003C_CheckTagTypeHierarchy_003Eb__0(IExpressionContext c)23 {24 return c.Column("UID_DialogTag") == uidParent;25 }26 }2728 [CompilerGenerated]29 private sealed class _003C_003Ec__DisplayClass1_130 {31 public string uidDialogTag;3233 internal ExpressionClause _003C_CheckTagTypeHierarchy_003Eb__1(IExpressionContext c)34 {35 return c.Column("UID_DialogTagParent") == uidDialogTag;36 }37 }3839 [StructLayout((LayoutKind)3)]40 [CompilerGenerated]41 private struct _003COnSavingAsync_003Ed__2 : IAsyncStateMachine42 {43 public int _003C_003E1__state;4445 public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;4647 public IEntity entity;4849 public CancellationToken ct;5051 public LogicReadWriteParameters parameters;5253 public DialogTag _003C_003E4__this;5455 private IEntityColumn _003CtypeColumn_003E5__2;5657 private string _003ColdType_003E5__3;5859 private ConfiguredValueTaskAwaiter<object> _003C_003Eu__1;6061 private ISqlFormatter _003C_003E7__wrap3;6263 private ConfiguredValueTaskAwaiter<string> _003C_003Eu__2;6465 private ConfiguredTaskAwaiter<bool> _003C_003Eu__3;6667 private ConfiguredTaskAwaiter<Diff> _003C_003Eu__4;6869 private void MoveNext()70 {71 //IL_00b7: Unknown result type (might be due to invalid IL or missing references)72 //IL_00bc: Unknown result type (might be due to invalid IL or missing references)73 //IL_00c4: Unknown result type (might be due to invalid IL or missing references)74 //IL_013d: Unknown result type (might be due to invalid IL or missing references)75 //IL_0142: Unknown result type (might be due to invalid IL or missing references)76 //IL_014a: Unknown result type (might be due to invalid IL or missing references)77 //IL_0221: Unknown result type (might be due to invalid IL or missing references)78 //IL_0226: Unknown result type (might be due to invalid IL or missing references)79 //IL_022e: Unknown result type (might be due to invalid IL or missing references)80 //IL_02c3: Unknown result type (might be due to invalid IL or missing references)81 //IL_02c8: Unknown result type (might be due to invalid IL or missing references)82 //IL_02d0: Unknown result type (might be due to invalid IL or missing references)83 //IL_034f: Unknown result type (might be due to invalid IL or missing references)84 //IL_0354: Unknown result type (might be due to invalid IL or missing references)85 //IL_035c: Unknown result type (might be due to invalid IL or missing references)86 //IL_00f0: Unknown result type (might be due to invalid IL or missing references)87 //IL_00ff: Unknown result type (might be due to invalid IL or missing references)88 //IL_0104: Unknown result type (might be due to invalid IL or missing references)89 //IL_0108: Unknown result type (might be due to invalid IL or missing references)90 //IL_010d: Unknown result type (might be due to invalid IL or missing references)91 //IL_027a: Unknown result type (might be due to invalid IL or missing references)92 //IL_0285: Unknown result type (might be due to invalid IL or missing references)93 //IL_028a: Unknown result type (might be due to invalid IL or missing references)94 //IL_028e: Unknown result type (might be due to invalid IL or missing references)95 //IL_0293: Unknown result type (might be due to invalid IL or missing references)96 //IL_0309: Unknown result type (might be due to invalid IL or missing references)97 //IL_0314: Unknown result type (might be due to invalid IL or missing references)98 //IL_0319: Unknown result type (might be due to invalid IL or missing references)99 //IL_031d: Unknown result type (might be due to invalid IL or missing references)100 //IL_0322: Unknown result type (might be due to invalid IL or missing references)101 //IL_0122: Unknown result type (might be due to invalid IL or missing references)102 //IL_0124: Unknown result type (might be due to invalid IL or missing references)103 //IL_02a8: Unknown result type (might be due to invalid IL or missing references)104 //IL_02aa: Unknown result type (might be due to invalid IL or missing references)105 //IL_0337: Unknown result type (might be due to invalid IL or missing references)106 //IL_0339: Unknown result type (might be due to invalid IL or missing references)107 //IL_006a: Unknown result type (might be due to invalid IL or missing references)108 //IL_0079: Unknown result type (might be due to invalid IL or missing references)109 //IL_007e: Unknown result type (might be due to invalid IL or missing references)110 //IL_0082: Unknown result type (might be due to invalid IL or missing references)111 //IL_0087: Unknown result type (might be due to invalid IL or missing references)112 //IL_01d4: Unknown result type (might be due to invalid IL or missing references)113 //IL_01e3: Unknown result type (might be due to invalid IL or missing references)114 //IL_01e8: Unknown result type (might be due to invalid IL or missing references)115 //IL_01ec: Unknown result type (might be due to invalid IL or missing references)116 //IL_01f1: Unknown result type (might be due to invalid IL or missing references)117 //IL_009c: Unknown result type (might be due to invalid IL or missing references)118 //IL_009e: Unknown result type (might be due to invalid IL or missing references)119 //IL_0206: Unknown result type (might be due to invalid IL or missing references)120 //IL_0208: Unknown result type (might be due to invalid IL or missing references)121 int num = _003C_003E1__state;122 DialogTag dialogTag = _003C_003E4__this;123 Diff result3;124 try125 {126 ConfiguredValueTaskAwaiter<object> val4;127 ConfiguredValueTaskAwaiter<string> val3;128 ConfiguredTaskAwaiter<bool> val2;129 ConfiguredTaskAwaiter<Diff> val;130 string result;131 string whereclause;132 object result2;133 string text;134 switch (num)135 {136 default:137 _003CtypeColumn_003E5__2 = entity.Columns["TagType"];138 if (entity.IsLoaded && _003CtypeColumn_003E5__2.IsDifferent)139 {140 val4 = _003CtypeColumn_003E5__2.GetOldValueAsync(ct).ConfigureAwait(false).GetAwaiter();141 if (!val4.IsCompleted)142 {143 num = (_003C_003E1__state = 0);144 _003C_003Eu__1 = val4;145 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003COnSavingAsync_003Ed__2>(ref val4, ref this);146 return;147 }148 goto IL_00d3;149 }150 goto IL_02fb;151 case 0:152 val4 = _003C_003Eu__1;153 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<object>);154 num = (_003C_003E1__state = -1);155 goto IL_00d3;156 case 1:157 val4 = _003C_003Eu__1;158 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<object>);159 num = (_003C_003E1__state = -1);160 goto IL_0159;161 case 2:162 val3 = _003C_003Eu__2;163 _003C_003Eu__2 = default(ConfiguredValueTaskAwaiter<string>);164 num = (_003C_003E1__state = -1);165 goto IL_023d;166 case 3:167 val2 = _003C_003Eu__3;168 _003C_003Eu__3 = default(ConfiguredTaskAwaiter<bool>);169 num = (_003C_003E1__state = -1);170 goto IL_02df;171 case 4:172 {173 val = _003C_003Eu__4;174 _003C_003Eu__4 = default(ConfiguredTaskAwaiter<Diff>);175 num = (_003C_003E1__state = -1);176 break;177 }178 IL_02f4:179 _003ColdType_003E5__3 = null;180 goto IL_02fb;181 IL_023d:182 result = val3.GetResult();183 whereclause = _003C_003E7__wrap3.UidComparison("UID_DialogTag", result);184 _003C_003E7__wrap3 = null;185 val2 = parameters.Session.Source().ExistsAsync("DialogTaggedItem", whereclause, ct).ConfigureAwait(false)186 .GetAwaiter();187 if (!val2.IsCompleted)188 {189 num = (_003C_003E1__state = 3);190 _003C_003Eu__3 = val2;191 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003COnSavingAsync_003Ed__2>(ref val2, ref this);192 return;193 }194 goto IL_02df;195 IL_02df:196 if (val2.GetResult())197 {198 throw new ViException(882141, ExceptionRelevance.EndUser);199 }200 goto IL_02f4;201 IL_00d3:202 result2 = val4.GetResult();203 _003ColdType_003E5__3 = DbVal.ConvertTo<string>(result2);204 val4 = _003CtypeColumn_003E5__2.GetValueAsync(ct).ConfigureAwait(false).GetAwaiter();205 if (!val4.IsCompleted)206 {207 num = (_003C_003E1__state = 1);208 _003C_003Eu__1 = val4;209 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003COnSavingAsync_003Ed__2>(ref val4, ref this);210 return;211 }212 goto IL_0159;213 IL_02fb:214 val = ((EntityLogicBase)dialogTag).OnSavingAsync(entity, parameters, ct).ConfigureAwait(false).GetAwaiter();215 if (!val.IsCompleted)216 {217 num = (_003C_003E1__state = 4);218 _003C_003Eu__4 = val;219 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__2>(ref val, ref this);220 return;221 }222 break;223 IL_0159:224 text = DbVal.ConvertTo<string>(val4.GetResult());225 if ((string.Equals(_003ColdType_003E5__3, "CHANGE", (StringComparison)5) && !string.Equals(text, "CHANGE", (StringComparison)5)) || (string.Equals(_003ColdType_003E5__3, "VIintern", (StringComparison)5) && !string.Equals(text, "VIintern", (StringComparison)5)))226 {227 ISqlFormatter sqlFormatter = parameters.Session.SqlFormatter();228 _003C_003E7__wrap3 = sqlFormatter;229 val3 = entity.GetValueAsync<string>("UID_DialogTag", ct).ConfigureAwait(false).GetAwaiter();230 if (!val3.IsCompleted)231 {232 num = (_003C_003E1__state = 2);233 _003C_003Eu__2 = val3;234 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003COnSavingAsync_003Ed__2>(ref val3, ref this);235 return;236 }237 goto IL_023d;238 }239 goto IL_02f4;240 }241 result3 = val.GetResult();242 }243 catch (System.Exception exception)244 {245 _003C_003E1__state = -2;246 _003CtypeColumn_003E5__2 = null;247 _003C_003Et__builder.SetException(exception);248 return;249 }250 _003C_003E1__state = -2;251 _003CtypeColumn_003E5__2 = null;252 _003C_003Et__builder.SetResult(result3);253 }254255 [DebuggerHidden]256 private void SetStateMachine(IAsyncStateMachine stateMachine)257 {258 _003C_003Et__builder.SetStateMachine(stateMachine);259 }260 }261262 [StructLayout((LayoutKind)3)]263 [CompilerGenerated]264 private struct _003C_CheckTagTypeHierarchy_003Ed__1 : IAsyncStateMachine265 {266 public int _003C_003E1__state;267268 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;269270 public string uidParent;271272 public IEntity entity;273274 public string myTagType;275276 public ISession session;277278 public CancellationToken ct;279280 private ConfiguredTaskAwaiter<string> _003C_003Eu__1;281282 private ConfiguredTaskAwaiter<bool> _003C_003Eu__2;283284 private void MoveNext()285 {286 //IL_010d: Unknown result type (might be due to invalid IL or missing references)287 //IL_0112: Unknown result type (might be due to invalid IL or missing references)288 //IL_011a: Unknown result type (might be due to invalid IL or missing references)289 //IL_0244: Unknown result type (might be due to invalid IL or missing references)290 //IL_0249: Unknown result type (might be due to invalid IL or missing references)291 //IL_0251: Unknown result type (might be due to invalid IL or missing references)292 //IL_00c4: Unknown result type (might be due to invalid IL or missing references)293 //IL_00cf: Unknown result type (might be due to invalid IL or missing references)294 //IL_00d4: Unknown result type (might be due to invalid IL or missing references)295 //IL_00d8: Unknown result type (might be due to invalid IL or missing references)296 //IL_00dd: Unknown result type (might be due to invalid IL or missing references)297 //IL_01fe: Unknown result type (might be due to invalid IL or missing references)298 //IL_0209: Unknown result type (might be due to invalid IL or missing references)299 //IL_020e: Unknown result type (might be due to invalid IL or missing references)300 //IL_0212: Unknown result type (might be due to invalid IL or missing references)301 //IL_0217: Unknown result type (might be due to invalid IL or missing references)302 //IL_00f2: Unknown result type (might be due to invalid IL or missing references)303 //IL_00f4: Unknown result type (might be due to invalid IL or missing references)304 //IL_022c: Unknown result type (might be due to invalid IL or missing references)305 //IL_022e: Unknown result type (might be due to invalid IL or missing references)306 int num = _003C_003E1__state;307 bool result2;308 try309 {310 ConfiguredTaskAwaiter<bool> val;311 ConfiguredTaskAwaiter<string> val2;312 if (num != 0)313 {314 if (num == 1)315 {316 val = _003C_003Eu__2;317 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<bool>);318 num = (_003C_003E1__state = -1);319 goto IL_0260;320 }321 _003C_003Ec__DisplayClass1_0 CS_0024_003C_003E8__locals5 = new _003C_003Ec__DisplayClass1_0322 {323 uidParent = uidParent324 };325 if (CS_0024_003C_003E8__locals5.uidParent == null)326 {327 CS_0024_003C_003E8__locals5.uidParent = entity.Columns["UID_DialogTagParent"].GetValue<string>();328 }329 if (string.IsNullOrEmpty(CS_0024_003C_003E8__locals5.uidParent))330 {331 goto IL_0167;332 }333 if (myTagType == null)334 {335 myTagType = entity.Columns["TagType"].GetValue<string>();336 }337 Query query = (from c in Query.From("DialogTag")338 where c.Column("UID_DialogTag") == CS_0024_003C_003E8__locals5.uidParent339 select c).Select("TagType");340 val2 = session.Source().GetSingleValueAsync<string>(query, ct).ConfigureAwait(false)341 .GetAwaiter();342 if (!val2.IsCompleted)343 {344 num = (_003C_003E1__state = 0);345 _003C_003Eu__1 = val2;346 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003C_CheckTagTypeHierarchy_003Ed__1>(ref val2, ref this);347 return;348 }349 }350 else351 {352 val2 = _003C_003Eu__1;353 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<string>);354 num = (_003C_003E1__state = -1);355 }356 string result = val2.GetResult();357 if (string.Equals("Release", result, (StringComparison)5))358 {359 if (!string.Equals("Change", myTagType, (StringComparison)5))360 {361 throw new ViException(882525, ExceptionRelevance.EndUser);362 }363 goto IL_0167;364 }365 result2 = true;366 goto end_IL_0007;367 IL_0167:368 string oldValue = entity.Columns["TagType"].GetOldValue<string>();369 if (string.Equals("Release", oldValue, (StringComparison)5) && !string.Equals(oldValue, myTagType, (StringComparison)5))370 {371 _003C_003Ec__DisplayClass1_1 CS_0024_003C_003E8__locals6 = new _003C_003Ec__DisplayClass1_1372 {373 uidDialogTag = entity.Columns["UID_DialogTag"].GetValue<string>()374 };375 Query query2 = (from c in Query.From("DialogTag")376 where c.Column("UID_DialogTagParent") == CS_0024_003C_003E8__locals6.uidDialogTag377 select c).Exists();378 val = session.Source().ExistsAsync(query2, ct).ConfigureAwait(false)379 .GetAwaiter();380 if (!val.IsCompleted)381 {382 num = (_003C_003E1__state = 1);383 _003C_003Eu__2 = val;384 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003C_CheckTagTypeHierarchy_003Ed__1>(ref val, ref this);385 return;386 }387 goto IL_0260;388 }389 goto IL_0275;390 IL_0275:391 result2 = true;392 goto end_IL_0007;393 IL_0260:394 if (val.GetResult())395 {396 throw new ViException(882530, ExceptionRelevance.EndUser);397 }398 goto IL_0275;399 end_IL_0007:;400 }401 catch (System.Exception exception)402 {403 _003C_003E1__state = -2;404 _003C_003Et__builder.SetException(exception);405 return;406 }407 _003C_003E1__state = -2;408 _003C_003Et__builder.SetResult(result2);409 }410411 [DebuggerHidden]412 private void SetStateMachine(IAsyncStateMachine stateMachine)413 {414 _003C_003Et__builder.SetStateMachine(stateMachine);415 }416 }417418 public DialogTag()419 {420 string[] array = new string[4] { "CurrentState", "CurrentStateRemarks", "Ident_DialogTag", "TagType" };421 foreach (string text in array)422 {423 CanEdit(text).Except("SPECIAL(IsTransport)").From("IsClosed").As<bool>((Func<bool, bool>)((bool c) => !c));424 }425 CanEdit("UID_DialogTagParent").From("TagType").As<string>((Func<string, bool>)((string tagType) => !string.Equals("Release", tagType, (StringComparison)5))).ClearValueOnFalse();426 Check("UID_DialogTagParent").AsExpensive<string>((Func<ISession, IEntity, string, CancellationToken, System.Threading.Tasks.Task<bool>>)([AsyncStateMachine(typeof(_003C_003Ec._003C_003C_002Dctor_003Eb__0_1_003Ed))] async (ISession s, IEntity e, string uidDialogTagParent, CancellationToken ct) => await _CheckTagTypeHierarchy(s, e, uidDialogTagParent, null, ct).ConfigureAwait(false)));427 PreventLoops("UID_DialogTagParent");428 Check("TagType").AsExpensive<string>((Func<ISession, IEntity, string, CancellationToken, System.Threading.Tasks.Task<bool>>)([AsyncStateMachine(typeof(_003C_003Ec._003C_003C_002Dctor_003Eb__0_2_003Ed))] async (ISession s, IEntity e, string tagType, CancellationToken ct) => await _CheckTagTypeHierarchy(s, e, null, tagType, ct).ConfigureAwait(false)));429 RegisterFunction("IsChangeTable").As<string, bool>([AsyncStateMachine(typeof(_003C_003Ec._003C_003C_002Dctor_003Eb__0_3_003Ed))] async (ISession s, IEntity e, string tn, CancellationToken ct) => IsChangeTable(s, await e.GetValueAsync<string>("TagType", ct).ConfigureAwait(false), tn)).Description("Method_DialogTag_IsChangeTable");430 }431432 [AsyncStateMachine(typeof(_003C_CheckTagTypeHierarchy_003Ed__1))]433 private static async System.Threading.Tasks.Task<bool> _CheckTagTypeHierarchy(ISession session, IEntity entity, string? uidParent, string? myTagType, CancellationToken ct)434 {435 //IL_0002: Unknown result type (might be due to invalid IL or missing references)436 //IL_0007: Unknown result type (might be due to invalid IL or missing references)437 //IL_002e: Unknown result type (might be due to invalid IL or missing references)438 //IL_0030: Unknown result type (might be due to invalid IL or missing references)439 if (uidParent == null)440 {441 uidParent = entity.Columns["UID_DialogTagParent"].GetValue<string>();442 }443 if (!string.IsNullOrEmpty(uidParent))444 {445 if (myTagType == null)446 {447 myTagType = entity.Columns["TagType"].GetValue<string>();448 }449 Query query = (from c in Query.From("DialogTag")450 where c.Column("UID_DialogTag") == uidParent451 select c).Select("TagType");452 if (!string.Equals("Release", await session.Source().GetSingleValueAsync<string>(query, ct).ConfigureAwait(false), (StringComparison)5))453 {454 return true;455 }456 if (!string.Equals("Change", myTagType, (StringComparison)5))457 {458 throw new ViException(882525, ExceptionRelevance.EndUser);459 }460 }461 string oldValue = entity.Columns["TagType"].GetOldValue<string>();462 if (string.Equals("Release", oldValue, (StringComparison)5) && !string.Equals(oldValue, myTagType, (StringComparison)5))463 {464 string uidDialogTag = entity.Columns["UID_DialogTag"].GetValue<string>();465 Query query2 = (from c in Query.From("DialogTag")466 where c.Column("UID_DialogTagParent") == uidDialogTag467 select c).Exists();468 if (await session.Source().ExistsAsync(query2, ct).ConfigureAwait(false))469 {470 throw new ViException(882530, ExceptionRelevance.EndUser);471 }472 }473 return true;474 }475476 [AsyncStateMachine(typeof(_003COnSavingAsync_003Ed__2))]477 public override async System.Threading.Tasks.Task<Diff> OnSavingAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken ct)478 {479 //IL_0002: Unknown result type (might be due to invalid IL or missing references)480 //IL_0007: Unknown result type (might be due to invalid IL or missing references)481 //IL_0026: Unknown result type (might be due to invalid IL or missing references)482 //IL_0027: Unknown result type (might be due to invalid IL or missing references)483 IEntityColumn typeColumn = entity.Columns["TagType"];484 if (entity.IsLoaded && typeColumn.IsDifferent)485 {486 string oldType = DbVal.ConvertTo<string>(await typeColumn.GetOldValueAsync(ct).ConfigureAwait(false));487 string text = DbVal.ConvertTo<string>(await typeColumn.GetValueAsync(ct).ConfigureAwait(false));488 if ((string.Equals(oldType, "CHANGE", (StringComparison)5) && !string.Equals(text, "CHANGE", (StringComparison)5)) || (string.Equals(oldType, "VIintern", (StringComparison)5) && !string.Equals(text, "VIintern", (StringComparison)5)))489 {490 ISqlFormatter sqlFormatter = parameters.Session.SqlFormatter();491 ISqlFormatter formatter = sqlFormatter;492 string whereclause = formatter.UidComparison("UID_DialogTag", await entity.GetValueAsync<string>("UID_DialogTag", ct).ConfigureAwait(false));493 if (await parameters.Session.Source().ExistsAsync("DialogTaggedItem", whereclause, ct).ConfigureAwait(false))494 {495 throw new ViException(882141, ExceptionRelevance.EndUser);496 }497 }498 }499 return await base.OnSavingAsync(entity, parameters, ct).ConfigureAwait(false);500 }501502 public static bool IsChangeTable(ISession s, string tagType, string tablename)503 {504 IMetaTable table = s.MetaData().GetTable(tablename);505 if (string.Equals(tagType, "CHANGE", (StringComparison)5) && !s.IsTransport())506 {507 return !table.IsTransportDisabled;508 }509 return true;510 }511}512