QER.Customizer/QER.Customizer/DynamicGroup.cs
Decompiler Source FileQER.Customizer.DynamicGroupDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- Method registration: Calculate at line 629
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 DynamicGroup, _003C_003Ec__DisplayClass2_0; methods _003C_CheckObjectKeyBaseTree_003Eb__0, MoveNext, SetStateMachine, OnSavingAsync, _CheckObjectKeyBaseTree, CheckWhereClause; references BasetreeAssign, DialogTable, DynamicGroup, OrgRoot, OrgRootAssign; markers reads entity values, references DB/Dialog objects
Classes
DynamicGroup _003C_003Ec__DisplayClass2_0Methods
DB/Dialog object references
OIM key/entity markers
UID_Org UID_DynamicGroup UID_DialogTableObjectClass ObjectKeyBaseTree UID_DialogTable UID_OrgRoot UID_BaseTreeAssign UID_DialogTableElementAPI/entity calls
GetValue GetValueAsync ExistsAsync SqlFormatter GenerateProcessId CreateContextData IsTransport From Source CreateDataParameter MetaData IsDeletedRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Data;3using System.Diagnostics;4using System.Runtime.CompilerServices;5using System.Runtime.InteropServices;6using System.Threading;7using System.Threading.Tasks;8using VI.Base;9using VI.DB;10using VI.DB.DataAccess;11using VI.DB.Entities;12using VI.DB.MetaData;1314namespace QER.Customizer;1516public class DynamicGroup : StateLessEntityLogic17{18 [CompilerGenerated]19 private sealed class _003C_003Ec__DisplayClass2_020 {21 public DbObjectKey dbObjectKey;2223 internal ExpressionClause _003C_CheckObjectKeyBaseTree_003Eb__0(IExpressionContext c)24 {25 return c.Column("UID_Org") == dbObjectKey.Keys[0];26 }27 }2829 [StructLayout((LayoutKind)3)]30 [CompilerGenerated]31 private struct _003CCalculate_003Ed__4 : IAsyncStateMachine32 {33 public int _003C_003E1__state;3435 public AsyncTaskMethodBuilder _003C_003Et__builder;3637 public ISession session;3839 public IEntity entity;4041 public CancellationToken ct;4243 private ConfiguredTaskAwaiter<int> _003C_003Eu__1;4445 private void MoveNext()46 {47 //IL_00e9: Unknown result type (might be due to invalid IL or missing references)48 //IL_00ee: Unknown result type (might be due to invalid IL or missing references)49 //IL_00f6: Unknown result type (might be due to invalid IL or missing references)50 //IL_00a3: Unknown result type (might be due to invalid IL or missing references)51 //IL_00ae: Unknown result type (might be due to invalid IL or missing references)52 //IL_00b3: Unknown result type (might be due to invalid IL or missing references)53 //IL_00b7: Unknown result type (might be due to invalid IL or missing references)54 //IL_00bc: Unknown result type (might be due to invalid IL or missing references)55 //IL_00d1: Unknown result type (might be due to invalid IL or missing references)56 //IL_00d3: Unknown result type (might be due to invalid IL or missing references)57 int num = _003C_003E1__state;58 try59 {60 ConfiguredTaskAwaiter<int> val;61 if (num != 0)62 {63 ISqlFormatter sqlFormatter = session.SqlFormatter();64 string text = session.GenerateProcessId();65 string statement = sqlFormatter.StoredProcedure(new SqlFunction("QBM", "GDBQueue", "PDBQueueInsert_Single"), sqlFormatter.FormatUidValue("QER-K-DynamicGroupTest"), sqlFormatter.FormatUidValue(entity.GetValue<string>("UID_DynamicGroup")), sqlFormatter.FormatValue("", ValType.String), sqlFormatter.FormatUidValue(text));66 IDbSession dbSession = session.Resolve<IDbSession>();67 DbContextData dbContextData = session.CreateContextData(text);68 val = dbSession.SqlExecuteNonQueryInContextAsync(dbContextData, statement, ct).ConfigureAwait(false).GetAwaiter();69 if (!val.IsCompleted)70 {71 num = (_003C_003E1__state = 0);72 _003C_003Eu__1 = val;73 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<int>, _003CCalculate_003Ed__4>(ref val, ref this);74 return;75 }76 }77 else78 {79 val = _003C_003Eu__1;80 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<int>);81 num = (_003C_003E1__state = -1);82 }83 val.GetResult();84 }85 catch (System.Exception exception)86 {87 _003C_003E1__state = -2;88 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);89 return;90 }91 _003C_003E1__state = -2;92 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();93 }9495 [DebuggerHidden]96 private void SetStateMachine(IAsyncStateMachine stateMachine)97 {98 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);99 }100 }101102 [StructLayout((LayoutKind)3)]103 [CompilerGenerated]104 private struct _003CCheckOrgRoot_003Ed__5 : IAsyncStateMachine105 {106 public int _003C_003E1__state;107108 public AsyncTaskMethodBuilder _003C_003Et__builder;109110 public LogicParameter lp;111112 private string _003CuidDialogTableElement_003E5__2;113114 private ConfiguredValueTaskAwaiter<string> _003C_003Eu__1;115116 private ConfiguredTaskAwaiter<bool> _003C_003Eu__2;117118 private string _003CorgRootDisplay_003E5__3;119120 private void MoveNext()121 {122 //IL_00e1: Unknown result type (might be due to invalid IL or missing references)123 //IL_00e6: Unknown result type (might be due to invalid IL or missing references)124 //IL_00ee: Unknown result type (might be due to invalid IL or missing references)125 //IL_0182: Unknown result type (might be due to invalid IL or missing references)126 //IL_0187: Unknown result type (might be due to invalid IL or missing references)127 //IL_018f: Unknown result type (might be due to invalid IL or missing references)128 //IL_028e: Unknown result type (might be due to invalid IL or missing references)129 //IL_0293: Unknown result type (might be due to invalid IL or missing references)130 //IL_029b: Unknown result type (might be due to invalid IL or missing references)131 //IL_0319: Unknown result type (might be due to invalid IL or missing references)132 //IL_031e: Unknown result type (might be due to invalid IL or missing references)133 //IL_0326: Unknown result type (might be due to invalid IL or missing references)134 //IL_03be: Unknown result type (might be due to invalid IL or missing references)135 //IL_03c3: Unknown result type (might be due to invalid IL or missing references)136 //IL_03cb: Unknown result type (might be due to invalid IL or missing references)137 //IL_0371: Unknown result type (might be due to invalid IL or missing references)138 //IL_0380: Unknown result type (might be due to invalid IL or missing references)139 //IL_0385: Unknown result type (might be due to invalid IL or missing references)140 //IL_0389: Unknown result type (might be due to invalid IL or missing references)141 //IL_038e: Unknown result type (might be due to invalid IL or missing references)142 //IL_0132: Unknown result type (might be due to invalid IL or missing references)143 //IL_0138: Unknown result type (might be due to invalid IL or missing references)144 //IL_0144: Unknown result type (might be due to invalid IL or missing references)145 //IL_0149: Unknown result type (might be due to invalid IL or missing references)146 //IL_014d: Unknown result type (might be due to invalid IL or missing references)147 //IL_0152: Unknown result type (might be due to invalid IL or missing references)148 //IL_0245: Unknown result type (might be due to invalid IL or missing references)149 //IL_0250: Unknown result type (might be due to invalid IL or missing references)150 //IL_0255: Unknown result type (might be due to invalid IL or missing references)151 //IL_0259: Unknown result type (might be due to invalid IL or missing references)152 //IL_025e: Unknown result type (might be due to invalid IL or missing references)153 //IL_02cc: Unknown result type (might be due to invalid IL or missing references)154 //IL_02db: Unknown result type (might be due to invalid IL or missing references)155 //IL_02e0: Unknown result type (might be due to invalid IL or missing references)156 //IL_02e4: Unknown result type (might be due to invalid IL or missing references)157 //IL_02e9: Unknown result type (might be due to invalid IL or missing references)158 //IL_03a3: Unknown result type (might be due to invalid IL or missing references)159 //IL_03a5: Unknown result type (might be due to invalid IL or missing references)160 //IL_0091: Unknown result type (might be due to invalid IL or missing references)161 //IL_0097: Unknown result type (might be due to invalid IL or missing references)162 //IL_00a3: Unknown result type (might be due to invalid IL or missing references)163 //IL_00a8: Unknown result type (might be due to invalid IL or missing references)164 //IL_00ac: Unknown result type (might be due to invalid IL or missing references)165 //IL_00b1: Unknown result type (might be due to invalid IL or missing references)166 //IL_0167: Unknown result type (might be due to invalid IL or missing references)167 //IL_0169: Unknown result type (might be due to invalid IL or missing references)168 //IL_0273: Unknown result type (might be due to invalid IL or missing references)169 //IL_0275: Unknown result type (might be due to invalid IL or missing references)170 //IL_02fe: Unknown result type (might be due to invalid IL or missing references)171 //IL_0300: Unknown result type (might be due to invalid IL or missing references)172 //IL_00c6: Unknown result type (might be due to invalid IL or missing references)173 //IL_00c8: Unknown result type (might be due to invalid IL or missing references)174 int num = _003C_003E1__state;175 try176 {177 ConfiguredTaskAwaiter<bool> val2;178 ConfiguredValueTaskAwaiter<string> val;179 string result;180 string result2;181 switch (num)182 {183 default:184 if (!lp.Session.IsTransport() && (lp.Entity.Columns["UID_DialogTableObjectClass"].IsChanged || lp.Entity.Columns["ObjectKeyBaseTree"].IsChanged))185 {186 val = lp.ObjectWalker.GetValueAsync<string>("FK(UID_DialogTableObjectClass).UID_DialogTable").ConfigureAwait(false).GetAwaiter();187 if (!val.IsCompleted)188 {189 num = (_003C_003E1__state = 0);190 _003C_003Eu__1 = val;191 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);192 return;193 }194 goto IL_00fd;195 }196 goto end_IL_0007;197 case 0:198 val = _003C_003Eu__1;199 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);200 num = (_003C_003E1__state = -1);201 goto IL_00fd;202 case 1:203 val = _003C_003Eu__1;204 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);205 num = (_003C_003E1__state = -1);206 goto IL_019e;207 case 2:208 val2 = _003C_003Eu__2;209 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<bool>);210 num = (_003C_003E1__state = -1);211 goto IL_02aa;212 case 3:213 val = _003C_003Eu__1;214 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);215 num = (_003C_003E1__state = -1);216 goto IL_0335;217 case 4:218 {219 val = _003C_003Eu__1;220 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);221 num = (_003C_003E1__state = -1);222 break;223 }224 IL_00fd:225 result = val.GetResult();226 _003CuidDialogTableElement_003E5__2 = result;227 if (!string.IsNullOrEmpty(_003CuidDialogTableElement_003E5__2))228 {229 val = lp.ObjectWalker.GetValueAsync<string>("FK(ObjectKeyBaseTree).UID_OrgRoot").ConfigureAwait(false).GetAwaiter();230 if (!val.IsCompleted)231 {232 num = (_003C_003E1__state = 1);233 _003C_003Eu__1 = val;234 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);235 return;236 }237 goto IL_019e;238 }239 goto end_IL_0007;240 IL_0335:241 result = val.GetResult();242 _003CorgRootDisplay_003E5__3 = result;243 val = lp.Entity.Columns["UID_DialogTableObjectClass"].GetDisplayValueAsync(lp.Session, lp.CancellationToken).ConfigureAwait(false).GetAwaiter();244 if (!val.IsCompleted)245 {246 num = (_003C_003E1__state = 4);247 _003C_003Eu__1 = val;248 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);249 return;250 }251 break;252 IL_02aa:253 if (!val2.GetResult())254 {255 val = lp.ObjectWalker.GetValueAsync<string>("FK(ObjectKeyBaseTree).FK(UID_OrgRoot).Ident_OrgRoot[D]", lp.CancellationToken).ConfigureAwait(false).GetAwaiter();256 if (!val.IsCompleted)257 {258 num = (_003C_003E1__state = 3);259 _003C_003Eu__1 = val;260 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);261 return;262 }263 goto IL_0335;264 }265 goto end_IL_0007;266 IL_019e:267 result2 = val.GetResult();268 if (!string.IsNullOrEmpty(result2))269 {270 ISqlFormatter sqlFormatter = lp.SqlFormatter;271 string whereClause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_OrgRoot", result2), sqlFormatter.Comparison("IsAssignmentAllowed", true, ValType.Bool), sqlFormatter.FkComparison("UID_BaseTreeAssign", "BaseTreeAssign", sqlFormatter.UidComparison("UID_DialogTableElement", _003CuidDialogTableElement_003E5__2)));272 Query query = Query.From("OrgRootAssign").Where(whereClause).Exists();273 val2 = lp.Session.Source().ExistsAsync(query, lp.CancellationToken).ConfigureAwait(false)274 .GetAwaiter();275 if (!val2.IsCompleted)276 {277 num = (_003C_003E1__state = 2);278 _003C_003Eu__2 = val2;279 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CCheckOrgRoot_003Ed__5>(ref val2, ref this);280 return;281 }282 goto IL_02aa;283 }284 goto end_IL_0007;285 }286 string result3 = val.GetResult();287 throw new ViException(2133418, ExceptionRelevance.EndUser, result3, _003CorgRootDisplay_003E5__3);288 end_IL_0007:;289 }290 catch (System.Exception exception)291 {292 _003C_003E1__state = -2;293 _003CuidDialogTableElement_003E5__2 = null;294 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);295 return;296 }297 _003C_003E1__state = -2;298 _003CuidDialogTableElement_003E5__2 = null;299 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();300 }301302 [DebuggerHidden]303 private void SetStateMachine(IAsyncStateMachine stateMachine)304 {305 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);306 }307 }308309 [StructLayout((LayoutKind)3)]310 [CompilerGenerated]311 private struct _003CCheckWhereClause_003Ed__3 : IAsyncStateMachine312 {313 public int _003C_003E1__state;314315 public AsyncTaskMethodBuilder _003C_003Et__builder;316317 public LogicParameter lp;318319 private ConfiguredTaskAwaiter<object> _003C_003Eu__1;320321 private void MoveNext()322 {323 //IL_017a: Unknown result type (might be due to invalid IL or missing references)324 //IL_0137: Unknown result type (might be due to invalid IL or missing references)325 //IL_013c: Unknown result type (might be due to invalid IL or missing references)326 //IL_0144: Unknown result type (might be due to invalid IL or missing references)327 //IL_00ee: Unknown result type (might be due to invalid IL or missing references)328 //IL_00f9: Unknown result type (might be due to invalid IL or missing references)329 //IL_00fe: Unknown result type (might be due to invalid IL or missing references)330 //IL_0102: Unknown result type (might be due to invalid IL or missing references)331 //IL_0107: Unknown result type (might be due to invalid IL or missing references)332 //IL_011c: Unknown result type (might be due to invalid IL or missing references)333 //IL_011e: Unknown result type (might be due to invalid IL or missing references)334 int num = _003C_003E1__state;335 try336 {337 if (num == 0)338 {339 goto IL_003d;340 }341 ISqlFormatter sqlFormatter = default(ISqlFormatter);342 if (lp.Entity.Columns["WhereClause"].IsChanged)343 {344 sqlFormatter = lp.SqlFormatter;345 goto IL_003d;346 }347 goto end_IL_0007;348 IL_003d:349 try350 {351 ConfiguredTaskAwaiter<object> val2;352 if (num != 0)353 {354 string text = sqlFormatter.CleanWhereClause(lp.Entity.GetValue<string>("WhereClause"));355 string text2 = sqlFormatter.CleanWhereClause(lp.ObjectWalker.GetValue<string>("FK(UID_DialogTableObjectClass).TableName"));356 string sqlStatement = $"select Count(*) from {text2} where ({text})";357 DbObjectKey dbObjectKey = new DbObjectKey(lp.Entity.Columns["ObjectKeyBaseTree"].GetValue<string>());358 IDataParameter val = lp.SqlFormatter.CreateDataParameter("UID_Org", ValType.String, dbObjectKey.Keys[0]);359 val2 = lp.DbSession.SqlExecuteScalarAsync(sqlStatement, (IDataParameter[])(object)new IDataParameter[1] { val }, lp.CancellationToken).ConfigureAwait(false).GetAwaiter();360 if (!val2.IsCompleted)361 {362 num = (_003C_003E1__state = 0);363 _003C_003Eu__1 = val2;364 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<object>, _003CCheckWhereClause_003Ed__3>(ref val2, ref this);365 return;366 }367 }368 else369 {370 val2 = _003C_003Eu__1;371 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<object>);372 num = (_003C_003E1__state = -1);373 }374 val2.GetResult();375 }376 catch (System.Exception innerException)377 {378 IMetaTable result = lp.Session.MetaData().GetTableAsync("DynamicGroup", lp.CancellationToken).Result;379 throw new ViException(2133271, ExceptionRelevance.EndUser, innerException, result.Columns["WhereClause"].Display);380 }381 end_IL_0007:;382 }383 catch (System.Exception exception)384 {385 _003C_003E1__state = -2;386 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);387 return;388 }389 _003C_003E1__state = -2;390 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();391 }392393 [DebuggerHidden]394 private void SetStateMachine(IAsyncStateMachine stateMachine)395 {396 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);397 }398 }399400 [StructLayout((LayoutKind)3)]401 [CompilerGenerated]402 private struct _003COnSavingAsync_003Ed__1 : IAsyncStateMachine403 {404 public int _003C_003E1__state;405406 public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;407408 public IEntity entity;409410 public LogicReadWriteParameters parameters;411412 public CancellationToken cancellationToken;413414 public DynamicGroup _003C_003E4__this;415416 private LogicParameter _003Clp_003E5__2;417418 private ConfiguredTaskAwaiter _003C_003Eu__1;419420 private ConfiguredTaskAwaiter<Diff> _003C_003Eu__2;421422 private void MoveNext()423 {424 //IL_0095: Unknown result type (might be due to invalid IL or missing references)425 //IL_009a: Unknown result type (might be due to invalid IL or missing references)426 //IL_00a1: Unknown result type (might be due to invalid IL or missing references)427 //IL_00ff: Unknown result type (might be due to invalid IL or missing references)428 //IL_0104: Unknown result type (might be due to invalid IL or missing references)429 //IL_010b: Unknown result type (might be due to invalid IL or missing references)430 //IL_017c: Unknown result type (might be due to invalid IL or missing references)431 //IL_0181: Unknown result type (might be due to invalid IL or missing references)432 //IL_0189: Unknown result type (might be due to invalid IL or missing references)433 //IL_00c3: Unknown result type (might be due to invalid IL or missing references)434 //IL_00c8: Unknown result type (might be due to invalid IL or missing references)435 //IL_00cc: Unknown result type (might be due to invalid IL or missing references)436 //IL_00d1: Unknown result type (might be due to invalid IL or missing references)437 //IL_0136: Unknown result type (might be due to invalid IL or missing references)438 //IL_0141: Unknown result type (might be due to invalid IL or missing references)439 //IL_0146: Unknown result type (might be due to invalid IL or missing references)440 //IL_014a: Unknown result type (might be due to invalid IL or missing references)441 //IL_014f: Unknown result type (might be due to invalid IL or missing references)442 //IL_003e: Unknown result type (might be due to invalid IL or missing references)443 //IL_0059: Unknown result type (might be due to invalid IL or missing references)444 //IL_005e: Unknown result type (might be due to invalid IL or missing references)445 //IL_0062: Unknown result type (might be due to invalid IL or missing references)446 //IL_0067: Unknown result type (might be due to invalid IL or missing references)447 //IL_00e5: Unknown result type (might be due to invalid IL or missing references)448 //IL_00e6: Unknown result type (might be due to invalid IL or missing references)449 //IL_0164: Unknown result type (might be due to invalid IL or missing references)450 //IL_0166: Unknown result type (might be due to invalid IL or missing references)451 //IL_007b: Unknown result type (might be due to invalid IL or missing references)452 //IL_007c: Unknown result type (might be due to invalid IL or missing references)453 int num = _003C_003E1__state;454 DynamicGroup dynamicGroup = _003C_003E4__this;455 Diff result;456 try457 {458 ConfiguredTaskAwaitable val3;459 ConfiguredTaskAwaiter val2;460 ConfiguredTaskAwaiter<Diff> val;461 switch (num)462 {463 default:464 if (!entity.IsDeleted())465 {466 _003Clp_003E5__2 = new LogicParameter(entity, parameters, cancellationToken);467 val3 = CheckOrgRoot(_003Clp_003E5__2).ConfigureAwait(false);468 val2 = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();469 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)470 {471 num = (_003C_003E1__state = 0);472 _003C_003Eu__1 = val2;473 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__1>(ref val2, ref this);474 return;475 }476 goto IL_00b0;477 }478 goto IL_0128;479 case 0:480 val2 = _003C_003Eu__1;481 _003C_003Eu__1 = default(ConfiguredTaskAwaiter);482 num = (_003C_003E1__state = -1);483 goto IL_00b0;484 case 1:485 val2 = _003C_003Eu__1;486 _003C_003Eu__1 = default(ConfiguredTaskAwaiter);487 num = (_003C_003E1__state = -1);488 goto IL_011a;489 case 2:490 {491 val = _003C_003Eu__2;492 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<Diff>);493 num = (_003C_003E1__state = -1);494 break;495 }496 IL_0128:497 val = ((EntityLogicBase)dynamicGroup).OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false).GetAwaiter();498 if (!val.IsCompleted)499 {500 num = (_003C_003E1__state = 2);501 _003C_003Eu__2 = val;502 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__1>(ref val, ref this);503 return;504 }505 break;506 IL_011a:507 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();508 _003Clp_003E5__2 = null;509 goto IL_0128;510 IL_00b0:511 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();512 val3 = CheckWhereClause(_003Clp_003E5__2).ConfigureAwait(false);513 val2 = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();514 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)515 {516 num = (_003C_003E1__state = 1);517 _003C_003Eu__1 = val2;518 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__1>(ref val2, ref this);519 return;520 }521 goto IL_011a;522 }523 result = val.GetResult();524 }525 catch (System.Exception exception)526 {527 _003C_003E1__state = -2;528 _003C_003Et__builder.SetException(exception);529 return;530 }531 _003C_003E1__state = -2;532 _003C_003Et__builder.SetResult(result);533 }534535 [DebuggerHidden]536 private void SetStateMachine(IAsyncStateMachine stateMachine)537 {538 _003C_003Et__builder.SetStateMachine(stateMachine);539 }540 }541542 [StructLayout((LayoutKind)3)]543 [CompilerGenerated]544 private struct _003C_CheckObjectKeyBaseTree_003Ed__2 : IAsyncStateMachine545 {546 public int _003C_003E1__state;547548 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;549550 public string objectKeyBaseTree;551552 public ISession session;553554 public CancellationToken ct;555556 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;557558 private void MoveNext()559 {560 //IL_00ba: Unknown result type (might be due to invalid IL or missing references)561 //IL_00bf: Unknown result type (might be due to invalid IL or missing references)562 //IL_00c7: Unknown result type (might be due to invalid IL or missing references)563 //IL_0074: Unknown result type (might be due to invalid IL or missing references)564 //IL_007f: Unknown result type (might be due to invalid IL or missing references)565 //IL_0084: Unknown result type (might be due to invalid IL or missing references)566 //IL_0088: Unknown result type (might be due to invalid IL or missing references)567 //IL_008d: Unknown result type (might be due to invalid IL or missing references)568 //IL_00a2: Unknown result type (might be due to invalid IL or missing references)569 //IL_00a4: Unknown result type (might be due to invalid IL or missing references)570 int num = _003C_003E1__state;571 bool result;572 try573 {574 ConfiguredTaskAwaiter<bool> val;575 if (num == 0)576 {577 val = _003C_003Eu__1;578 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);579 num = (_003C_003E1__state = -1);580 goto IL_00d6;581 }582 _003C_003Ec__DisplayClass2_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass2_0();583 if (!string.IsNullOrEmpty(objectKeyBaseTree))584 {585 CS_0024_003C_003E8__locals2.dbObjectKey = new DbObjectKey(objectKeyBaseTree);586 Query query = (from c in Query.From("BaseTree")587 where c.Column("UID_Org") == CS_0024_003C_003E8__locals2.dbObjectKey.Keys[0]588 select c).Select("IsInValidForDynamicGroup");589 val = session.Source().GetSingleValueAsync<bool>(query, ct).ConfigureAwait(false)590 .GetAwaiter();591 if (!val.IsCompleted)592 {593 num = (_003C_003E1__state = 0);594 _003C_003Eu__1 = val;595 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003C_CheckObjectKeyBaseTree_003Ed__2>(ref val, ref this);596 return;597 }598 goto IL_00d6;599 }600 result = true;601 goto end_IL_0007;602 IL_00d6:603 if (val.GetResult())604 {605 throw new ViException(2133421, ExceptionRelevance.EndUser);606 }607 result = true;608 end_IL_0007:;609 }610 catch (System.Exception exception)611 {612 _003C_003E1__state = -2;613 _003C_003Et__builder.SetException(exception);614 return;615 }616 _003C_003E1__state = -2;617 _003C_003Et__builder.SetResult(result);618 }619620 [DebuggerHidden]621 private void SetStateMachine(IAsyncStateMachine stateMachine)622 {623 _003C_003Et__builder.SetStateMachine(stateMachine);624 }625 }626627 public DynamicGroup()628 {629 RegisterMethod("Calculate").As(Calculate).Behavior(MethodBehavior.ChangesExternalState).Description("Method_DynamicGroup_Calculate");630 Check("ObjectKeyBaseTree").AsExpensive<string>((Func<ISession, IEntity, string, CancellationToken, System.Threading.Tasks.Task<bool>>)_CheckObjectKeyBaseTree);631 }632633 [AsyncStateMachine(typeof(_003COnSavingAsync_003Ed__1))]634 public override async System.Threading.Tasks.Task<Diff> OnSavingAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken cancellationToken)635 {636 //IL_0002: Unknown result type (might be due to invalid IL or missing references)637 //IL_0007: Unknown result type (might be due to invalid IL or missing references)638 //IL_0026: Unknown result type (might be due to invalid IL or missing references)639 //IL_0027: Unknown result type (might be due to invalid IL or missing references)640 if (!entity.IsDeleted())641 {642 LogicParameter lp = new LogicParameter(entity, parameters, cancellationToken);643 await CheckOrgRoot(lp).ConfigureAwait(false);644 await CheckWhereClause(lp).ConfigureAwait(false);645 }646 return await base.OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false);647 }648649 [AsyncStateMachine(typeof(_003C_CheckObjectKeyBaseTree_003Ed__2))]650 private async System.Threading.Tasks.Task<bool> _CheckObjectKeyBaseTree(ISession session, IEntity entity, string objectKeyBaseTree, CancellationToken ct)651 {652 //IL_0002: Unknown result type (might be due to invalid IL or missing references)653 //IL_0007: Unknown result type (might be due to invalid IL or missing references)654 //IL_001e: Unknown result type (might be due to invalid IL or missing references)655 //IL_0020: Unknown result type (might be due to invalid IL or missing references)656 if (string.IsNullOrEmpty(objectKeyBaseTree))657 {658 return true;659 }660 DbObjectKey dbObjectKey = new DbObjectKey(objectKeyBaseTree);661 Query query = (from c in Query.From("BaseTree")662 where c.Column("UID_Org") == dbObjectKey.Keys[0]663 select c).Select("IsInValidForDynamicGroup");664 if (await session.Source().GetSingleValueAsync<bool>(query, ct).ConfigureAwait(false))665 {666 throw new ViException(2133421, ExceptionRelevance.EndUser);667 }668 return true;669 }670671 [AsyncStateMachine(typeof(_003CCheckWhereClause_003Ed__3))]672 private static System.Threading.Tasks.Task CheckWhereClause(LogicParameter lp)673 {674 //IL_0002: Unknown result type (might be due to invalid IL or missing references)675 //IL_0007: Unknown result type (might be due to invalid IL or missing references)676 _003CCheckWhereClause_003Ed__3 _003CCheckWhereClause_003Ed__ = default(_003CCheckWhereClause_003Ed__3);677 _003CCheckWhereClause_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();678 _003CCheckWhereClause_003Ed__.lp = lp;679 _003CCheckWhereClause_003Ed__._003C_003E1__state = -1;680 ((AsyncTaskMethodBuilder)(ref _003CCheckWhereClause_003Ed__._003C_003Et__builder)).Start<_003CCheckWhereClause_003Ed__3>(ref _003CCheckWhereClause_003Ed__);681 return ((AsyncTaskMethodBuilder)(ref _003CCheckWhereClause_003Ed__._003C_003Et__builder)).Task;682 }683684 [AsyncStateMachine(typeof(_003CCalculate_003Ed__4))]685 private System.Threading.Tasks.Task Calculate(ISession session, IEntity entity, CancellationToken ct)686 {687 //IL_0002: Unknown result type (might be due to invalid IL or missing references)688 //IL_0007: Unknown result type (might be due to invalid IL or missing references)689 //IL_001e: Unknown result type (might be due to invalid IL or missing references)690 //IL_001f: Unknown result type (might be due to invalid IL or missing references)691 _003CCalculate_003Ed__4 _003CCalculate_003Ed__ = default(_003CCalculate_003Ed__4);692 _003CCalculate_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();693 _003CCalculate_003Ed__.session = session;694 _003CCalculate_003Ed__.entity = entity;695 _003CCalculate_003Ed__.ct = ct;696 _003CCalculate_003Ed__._003C_003E1__state = -1;697 ((AsyncTaskMethodBuilder)(ref _003CCalculate_003Ed__._003C_003Et__builder)).Start<_003CCalculate_003Ed__4>(ref _003CCalculate_003Ed__);698 return ((AsyncTaskMethodBuilder)(ref _003CCalculate_003Ed__._003C_003Et__builder)).Task;699 }700701 [AsyncStateMachine(typeof(_003CCheckOrgRoot_003Ed__5))]702 private static System.Threading.Tasks.Task CheckOrgRoot(LogicParameter lp)703 {704 //IL_0002: Unknown result type (might be due to invalid IL or missing references)705 //IL_0007: Unknown result type (might be due to invalid IL or missing references)706 _003CCheckOrgRoot_003Ed__5 _003CCheckOrgRoot_003Ed__ = default(_003CCheckOrgRoot_003Ed__5);707 _003CCheckOrgRoot_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();708 _003CCheckOrgRoot_003Ed__.lp = lp;709 _003CCheckOrgRoot_003Ed__._003C_003E1__state = -1;710 ((AsyncTaskMethodBuilder)(ref _003CCheckOrgRoot_003Ed__._003C_003Et__builder)).Start<_003CCheckOrgRoot_003Ed__5>(ref _003CCheckOrgRoot_003Ed__);711 return ((AsyncTaskMethodBuilder)(ref _003CCheckOrgRoot_003Ed__._003C_003Et__builder)).Task;712 }713}714