QER.CompositionApi/QER.CompositionApi.Role/RoleSplit.cs
Decompiler Source FileQER.CompositionApi.RoleSplitDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- CallFunctionAsync: CanAssign at line 167
- CallFunctionAsync: CanAssign at line 212
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 writes entity values references DB/Dialog objects
Summary: classes RoleSplit, _003C_003Ec__DisplayClass29_0, _003C_003Ec__DisplayClass29_1; methods MoveNext, SetStateMachine, _003CGetSingleAssignmentActionsAsync_003Eb__0, _003CGetSingleAssignmentActionsAsync_003Eb__1, _003CGetSingleAssignmentActionsAsync_003Eb__2, InitAsync; references AERole, Delegation, DynamicGroup, OrgRoot, Person; markers reads entity values, writes entity values, references DB/Dialog objects
Classes
RoleSplit _003C_003Ec__DisplayClass29_0 _003C_003Ec__DisplayClass29_1Methods
- MoveNext
- SetStateMachine
- _003CGetSingleAssignmentActionsAsync_003Eb__0
- _003CGetSingleAssignmentActionsAsync_003Eb__1
- _003CGetSingleAssignmentActionsAsync_003Eb__2
- InitAsync
- ConfigureSplitItemsAsync
- CanCreateTargetRoleAsync
- GetSplitActions
- CheckAsync
- GetSplitActionsAsync
- ConfigureAssignmentSplitItemsAsync
- GetSingleAssignmentActionsAsync
DB/Dialog object references
OIM key/entity markers
ObjectKeyBasetree UID_OrgRoot UID_PersonHead UID_PersonHeadSecond UID_AERoleManagerAPI/entity calls
GetValueAsync TryResult GetValue PutValue MetaData GetDisplayTolerantSingular From Source GetObjectKeyRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Collections;3using System.Collections.Generic;4using System.Diagnostics;5using System.Linq;6using System.Runtime.CompilerServices;7using System.Runtime.ExceptionServices;8using System.Runtime.InteropServices;9using System.Threading;10using System.Threading.Tasks;11using QBM.CompositionApi;12using QBM.CompositionApi.UiAction;13using VI.Base;14using VI.DB;15using VI.DB.DataAccess;16using VI.DB.Entities;17using VI.DB.MetaData;18using VI.DB.Sync;1920namespace QER.CompositionApi.Role;2122public class RoleSplit23{24 [CompilerGenerated]25 private sealed class _003C_003Ec__DisplayClass29_026 {27 [StructLayout((LayoutKind)3)]28 private struct _003C_003CGetSingleAssignmentActionsAsync_003Eb__0_003Ed : IAsyncStateMachine29 {30 public int _003C_003E1__state;3132 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;3334 public _003C_003Ec__DisplayClass29_0 _003C_003E4__this;3536 public CancellationToken cx;3738 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;3940 private void MoveNext()41 {42 //IL_008d: Unknown result type (might be due to invalid IL or missing references)43 //IL_0092: Unknown result type (might be due to invalid IL or missing references)44 //IL_0099: Unknown result type (might be due to invalid IL or missing references)45 //IL_0049: Unknown result type (might be due to invalid IL or missing references)46 //IL_0054: Unknown result type (might be due to invalid IL or missing references)47 //IL_0059: Unknown result type (might be due to invalid IL or missing references)48 //IL_005d: Unknown result type (might be due to invalid IL or missing references)49 //IL_0062: Unknown result type (might be due to invalid IL or missing references)50 //IL_0076: Unknown result type (might be due to invalid IL or missing references)51 //IL_0077: Unknown result type (might be due to invalid IL or missing references)52 int num = _003C_003E1__state;53 _003C_003Ec__DisplayClass29_0 CS_0024_003C_003E8__locals3 = _003C_003E4__this;54 bool result;55 try56 {57 ConfiguredTaskAwaiter<bool> val;58 if (num != 0)59 {60 val = CS_0024_003C_003E8__locals3.canAssignCache.GetOrAdd<string, AsyncLazy<bool>>(CS_0024_003C_003E8__locals3.newAsgn.TableNameEntitlement, (string t) => new AsyncLazy<bool>(new _003C_003Ec__DisplayClass29_161 {62 CS_0024_003C_003E8__locals1 = CS_0024_003C_003E8__locals3,63 t = t64 }._003CGetSingleAssignmentActionsAsync_003Eb__2, (LazyThreadSafetyMode)2)).GetValueAsync(cx).ConfigureAwait(false)65 .GetAwaiter();66 if (!val.IsCompleted)67 {68 num = (_003C_003E1__state = 0);69 _003C_003Eu__1 = val;70 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003C_003CGetSingleAssignmentActionsAsync_003Eb__0_003Ed>(ref val, ref this);71 return;72 }73 }74 else75 {76 val = _003C_003Eu__1;77 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);78 num = (_003C_003E1__state = -1);79 }80 result = !val.GetResult();81 }82 catch (System.Exception exception)83 {84 _003C_003E1__state = -2;85 _003C_003Et__builder.SetException(exception);86 return;87 }88 _003C_003E1__state = -2;89 _003C_003Et__builder.SetResult(result);90 }9192 [DebuggerHidden]93 private void SetStateMachine(IAsyncStateMachine stateMachine)94 {95 _003C_003Et__builder.SetStateMachine(stateMachine);96 }97 }9899 public IDictionary<string, AsyncLazy<bool>> canAssignCache;100101 public AssignTableInfo newAsgn;102103 public RoleSplit _003C_003E4__this;104105 public Func<string, AsyncLazy<bool>> _003C_003E9__1;106107 [AsyncStateMachine(typeof(_003C_003CGetSingleAssignmentActionsAsync_003Eb__0_003Ed))]108 internal async System.Threading.Tasks.Task<bool> _003CGetSingleAssignmentActionsAsync_003Eb__0(CancellationToken cx)109 {110 //IL_0002: Unknown result type (might be due to invalid IL or missing references)111 //IL_0007: Unknown result type (might be due to invalid IL or missing references)112 //IL_0016: Unknown result type (might be due to invalid IL or missing references)113 //IL_0017: Unknown result type (might be due to invalid IL or missing references)114 return !(await canAssignCache.GetOrAdd<string, AsyncLazy<bool>>(newAsgn.TableNameEntitlement, (string t) => new AsyncLazy<bool>(new _003C_003Ec__DisplayClass29_1115 {116 CS_0024_003C_003E8__locals1 = this,117 t = t118 }._003CGetSingleAssignmentActionsAsync_003Eb__2, (LazyThreadSafetyMode)2)).GetValueAsync(cx).ConfigureAwait(false));119 }120121 internal AsyncLazy<bool> _003CGetSingleAssignmentActionsAsync_003Eb__1(string t)122 {123 return new AsyncLazy<bool>(new _003C_003Ec__DisplayClass29_1124 {125 CS_0024_003C_003E8__locals1 = this,126 t = t127 }._003CGetSingleAssignmentActionsAsync_003Eb__2, (LazyThreadSafetyMode)2);128 }129 }130131 [CompilerGenerated]132 private sealed class _003C_003Ec__DisplayClass29_1133 {134 [StructLayout((LayoutKind)3)]135 private struct _003C_003CGetSingleAssignmentActionsAsync_003Eb__2_003Ed : IAsyncStateMachine136 {137 public int _003C_003E1__state;138139 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;140141 public _003C_003Ec__DisplayClass29_1 _003C_003E4__this;142143 public CancellationToken ctk;144145 private ConfiguredValueTaskAwaiter<object> _003C_003Eu__1;146147 private void MoveNext()148 {149 //IL_0075: Unknown result type (might be due to invalid IL or missing references)150 //IL_007a: Unknown result type (might be due to invalid IL or missing references)151 //IL_0081: Unknown result type (might be due to invalid IL or missing references)152 //IL_002d: Unknown result type (might be due to invalid IL or missing references)153 //IL_003c: Unknown result type (might be due to invalid IL or missing references)154 //IL_0041: Unknown result type (might be due to invalid IL or missing references)155 //IL_0045: Unknown result type (might be due to invalid IL or missing references)156 //IL_004a: Unknown result type (might be due to invalid IL or missing references)157 //IL_005e: Unknown result type (might be due to invalid IL or missing references)158 //IL_005f: Unknown result type (might be due to invalid IL or missing references)159 int num = _003C_003E1__state;160 _003C_003Ec__DisplayClass29_1 _003C_003Ec__DisplayClass29_ = _003C_003E4__this;161 bool result;162 try163 {164 ConfiguredValueTaskAwaiter<object> val;165 if (num != 0)166 {167 val = _003C_003Ec__DisplayClass29_.CS_0024_003C_003E8__locals1._003C_003E4__this.NewRole.CallFunctionAsync("CanAssign", _003C_003Ec__DisplayClass29_.t, ctk).ConfigureAwait(false).GetAwaiter();168 if (!val.IsCompleted)169 {170 num = (_003C_003E1__state = 0);171 _003C_003Eu__1 = val;172 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003C_003CGetSingleAssignmentActionsAsync_003Eb__2_003Ed>(ref val, ref this);173 return;174 }175 }176 else177 {178 val = _003C_003Eu__1;179 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<object>);180 num = (_003C_003E1__state = -1);181 }182 result = (bool)val.GetResult();183 }184 catch (System.Exception exception)185 {186 _003C_003E1__state = -2;187 _003C_003Et__builder.SetException(exception);188 return;189 }190 _003C_003E1__state = -2;191 _003C_003Et__builder.SetResult(result);192 }193194 [DebuggerHidden]195 private void SetStateMachine(IAsyncStateMachine stateMachine)196 {197 _003C_003Et__builder.SetStateMachine(stateMachine);198 }199 }200201 public string t;202203 public _003C_003Ec__DisplayClass29_0 CS_0024_003C_003E8__locals1;204205 [AsyncStateMachine(typeof(_003C_003CGetSingleAssignmentActionsAsync_003Eb__2_003Ed))]206 internal async System.Threading.Tasks.Task<bool> _003CGetSingleAssignmentActionsAsync_003Eb__2(CancellationToken ctk)207 {208 //IL_0002: Unknown result type (might be due to invalid IL or missing references)209 //IL_0007: Unknown result type (might be due to invalid IL or missing references)210 //IL_0016: Unknown result type (might be due to invalid IL or missing references)211 //IL_0017: Unknown result type (might be due to invalid IL or missing references)212 return (bool)(await CS_0024_003C_003E8__locals1._003C_003E4__this.NewRole.CallFunctionAsync("CanAssign", t, ctk).ConfigureAwait(false));213 }214 }215216 [StructLayout((LayoutKind)3)]217 [CompilerGenerated]218 private struct _003CCanCreateTargetRoleAsync_003Ed__24 : IAsyncStateMachine219 {220 public int _003C_003E1__state;221222 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;223224 public RoleSplit _003C_003E4__this;225226 public CancellationToken ct;227228 private DiffAction _003CdiffAction_003E5__2;229230 private bool _003Csuccess_003E5__3;231232 private ConfiguredTaskAwaiter<DiffAction> _003C_003Eu__1;233234 private ConfiguredTaskAwaiter _003C_003Eu__2;235236 private object _003C_003E7__wrap3;237238 private int _003C_003E7__wrap4;239240 private ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<UiActionResult>> _003C_003Eu__3;241242 private void MoveNext()243 {244 //IL_01f9: Unknown result type (might be due to invalid IL or missing references)245 //IL_0204: Unknown result type (might be due to invalid IL or missing references)246 //IL_0209: Unknown result type (might be due to invalid IL or missing references)247 //IL_020d: Unknown result type (might be due to invalid IL or missing references)248 //IL_0212: Unknown result type (might be due to invalid IL or missing references)249 //IL_007f: Unknown result type (might be due to invalid IL or missing references)250 //IL_0084: Unknown result type (might be due to invalid IL or missing references)251 //IL_008c: Unknown result type (might be due to invalid IL or missing references)252 //IL_00fa: Unknown result type (might be due to invalid IL or missing references)253 //IL_00ff: Unknown result type (might be due to invalid IL or missing references)254 //IL_0107: Unknown result type (might be due to invalid IL or missing references)255 //IL_0242: Unknown result type (might be due to invalid IL or missing references)256 //IL_0247: Unknown result type (might be due to invalid IL or missing references)257 //IL_024f: Unknown result type (might be due to invalid IL or missing references)258 //IL_0036: Unknown result type (might be due to invalid IL or missing references)259 //IL_0041: Unknown result type (might be due to invalid IL or missing references)260 //IL_0046: Unknown result type (might be due to invalid IL or missing references)261 //IL_004a: Unknown result type (might be due to invalid IL or missing references)262 //IL_004f: Unknown result type (might be due to invalid IL or missing references)263 //IL_0227: Unknown result type (might be due to invalid IL or missing references)264 //IL_0229: Unknown result type (might be due to invalid IL or missing references)265 //IL_00b1: Unknown result type (might be due to invalid IL or missing references)266 //IL_00bc: Unknown result type (might be due to invalid IL or missing references)267 //IL_00c1: Unknown result type (might be due to invalid IL or missing references)268 //IL_00c5: Unknown result type (might be due to invalid IL or missing references)269 //IL_00ca: Unknown result type (might be due to invalid IL or missing references)270 //IL_0064: Unknown result type (might be due to invalid IL or missing references)271 //IL_0066: Unknown result type (might be due to invalid IL or missing references)272 //IL_00df: Unknown result type (might be due to invalid IL or missing references)273 //IL_00e1: Unknown result type (might be due to invalid IL or missing references)274 //IL_0194: Unknown result type (might be due to invalid IL or missing references)275 //IL_0199: Unknown result type (might be due to invalid IL or missing references)276 //IL_01a1: Unknown result type (might be due to invalid IL or missing references)277 //IL_014b: Unknown result type (might be due to invalid IL or missing references)278 //IL_0156: Unknown result type (might be due to invalid IL or missing references)279 //IL_015b: Unknown result type (might be due to invalid IL or missing references)280 //IL_015f: Unknown result type (might be due to invalid IL or missing references)281 //IL_0164: Unknown result type (might be due to invalid IL or missing references)282 //IL_0179: Unknown result type (might be due to invalid IL or missing references)283 //IL_017b: Unknown result type (might be due to invalid IL or missing references)284 int num = _003C_003E1__state;285 RoleSplit roleSplit = _003C_003E4__this;286 bool result3;287 try288 {289 ConfiguredTaskAwaiter<DiffAction> val2;290 ConfiguredTaskAwaiter val;291 ConfiguredTaskAwaitable val3;292 DiffAction result;293 switch (num)294 {295 default:296 val2 = DiffAction.FromEntityAsync(roleSplit.NewRole, roleSplit._session, "TestAction", ct).ConfigureAwait(false).GetAwaiter();297 if (!val2.IsCompleted)298 {299 num = (_003C_003E1__state = 0);300 _003C_003Eu__1 = val2;301 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<DiffAction>, _003CCanCreateTargetRoleAsync_003Ed__24>(ref val2, ref this);302 return;303 }304 goto IL_009b;305 case 0:306 val2 = _003C_003Eu__1;307 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<DiffAction>);308 num = (_003C_003E1__state = -1);309 goto IL_009b;310 case 1:311 val = _003C_003Eu__2;312 _003C_003Eu__2 = default(ConfiguredTaskAwaiter);313 num = (_003C_003E1__state = -1);314 goto IL_0116;315 case 2:316 try317 {318 ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<UiActionResult>> val4;319 if (num != 2)320 {321 val4 = new ActionRunner(roleSplit._session, new DiffAction[1] { _003CdiffAction_003E5__2 }).RunAsync(ct).ConfigureAwait(false).GetAwaiter();322 if (!val4.IsCompleted)323 {324 num = (_003C_003E1__state = 2);325 _003C_003Eu__3 = val4;326 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<UiActionResult>>, _003CCanCreateTargetRoleAsync_003Ed__24>(ref val4, ref this);327 return;328 }329 }330 else331 {332 val4 = _003C_003Eu__3;333 _003C_003Eu__3 = default(ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<UiActionResult>>);334 num = (_003C_003E1__state = -1);335 }336 System.Collections.Generic.IEnumerable<UiActionResult> result2 = val4.GetResult();337 _003Csuccess_003E5__3 = Enumerable.All<UiActionResult>(result2, (Func<UiActionResult, bool>)((UiActionResult a) => a.State == ActionState.Succeeded));338 }339 catch (object obj)340 {341 _003C_003E7__wrap3 = obj;342 }343 val3 = roleSplit._session.RollbackTransactionAsync(CancellationToken.None).ConfigureAwait(false);344 val = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();345 if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)346 {347 num = (_003C_003E1__state = 3);348 _003C_003Eu__2 = val;349 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCanCreateTargetRoleAsync_003Ed__24>(ref val, ref this);350 return;351 }352 break;353 case 3:354 {355 val = _003C_003Eu__2;356 _003C_003Eu__2 = default(ConfiguredTaskAwaiter);357 num = (_003C_003E1__state = -1);358 break;359 }360 IL_0116:361 ((ConfiguredTaskAwaiter)(ref val)).GetResult();362 _003C_003E7__wrap3 = null;363 _003C_003E7__wrap4 = 0;364 goto case 2;365 IL_009b:366 result = val2.GetResult();367 _003CdiffAction_003E5__2 = result;368 val3 = roleSplit._session.BeginTransactionAsync(ct).ConfigureAwait(false);369 val = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();370 if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)371 {372 num = (_003C_003E1__state = 1);373 _003C_003Eu__2 = val;374 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCanCreateTargetRoleAsync_003Ed__24>(ref val, ref this);375 return;376 }377 goto IL_0116;378 }379 ((ConfiguredTaskAwaiter)(ref val)).GetResult();380 object obj2 = _003C_003E7__wrap3;381 if (obj2 != null)382 {383 ExceptionDispatchInfo.Capture((obj2 as System.Exception) ?? throw obj2).Throw();384 }385 _003C_003E7__wrap3 = null;386 result3 = _003Csuccess_003E5__3;387 }388 catch (System.Exception exception)389 {390 _003C_003E1__state = -2;391 _003C_003Et__builder.SetException(exception);392 return;393 }394 _003C_003E1__state = -2;395 _003C_003Et__builder.SetResult(result3);396 }397398 [DebuggerHidden]399 private void SetStateMachine(IAsyncStateMachine stateMachine)400 {401 _003C_003Et__builder.SetStateMachine(stateMachine);402 }403 }404405 [StructLayout((LayoutKind)3)]406 [CompilerGenerated]407 private struct _003CCheckAsync_003Ed__26 : IAsyncStateMachine408 {409 public int _003C_003E1__state;410411 public AsyncTaskMethodBuilder _003C_003Et__builder;412413 public RoleSplit _003C_003E4__this;414415 public CancellationToken ct;416417 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;418419 private void MoveNext()420 {421 //IL_0056: Unknown result type (might be due to invalid IL or missing references)422 //IL_005b: Unknown result type (might be due to invalid IL or missing references)423 //IL_0062: Unknown result type (might be due to invalid IL or missing references)424 //IL_0013: Unknown result type (might be due to invalid IL or missing references)425 //IL_001e: Unknown result type (might be due to invalid IL or missing references)426 //IL_0023: Unknown result type (might be due to invalid IL or missing references)427 //IL_0026: Unknown result type (might be due to invalid IL or missing references)428 //IL_002b: Unknown result type (might be due to invalid IL or missing references)429 //IL_003f: Unknown result type (might be due to invalid IL or missing references)430 //IL_0040: Unknown result type (might be due to invalid IL or missing references)431 int num = _003C_003E1__state;432 RoleSplit roleSplit = _003C_003E4__this;433 try434 {435 ConfiguredTaskAwaiter<bool> val;436 if (num != 0)437 {438 val = roleSplit.CanCreateTargetRoleAsync(ct).ConfigureAwait(false).GetAwaiter();439 if (!val.IsCompleted)440 {441 num = (_003C_003E1__state = 0);442 _003C_003Eu__1 = val;443 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CCheckAsync_003Ed__26>(ref val, ref this);444 return;445 }446 }447 else448 {449 val = _003C_003Eu__1;450 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);451 num = (_003C_003E1__state = -1);452 }453 if (!val.GetResult())454 {455 throw new ViException(roleSplit._translator.TranslateControlText(TranslatableKeys.CannotCreateWithParentRole), ExceptionRelevance.EndUser);456 }457 }458 catch (System.Exception exception)459 {460 _003C_003E1__state = -2;461 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);462 return;463 }464 _003C_003E1__state = -2;465 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();466 }467468 [DebuggerHidden]469 private void SetStateMachine(IAsyncStateMachine stateMachine)470 {471 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);472 }473 }474475 [StructLayout((LayoutKind)3)]476 [CompilerGenerated]477 private struct _003CConfigureAssignmentSplitItemsAsync_003Ed__28 : IAsyncStateMachine478 {479 public int _003C_003E1__state;480481 public AsyncTaskMethodBuilder _003C_003Et__builder;482483 public ISession session;484485 public RoleSplit _003C_003E4__this;486487 public CancellationToken ct;488489 public DbObjectKey newRoleKey;490491 private AssignmentHelper _003CassignHelper_003E5__2;492493 private IStatementRunner _003Crunner_003E5__3;494495 private IDictionary<string, AssignTableInfo> _003CasgnTablesSource_003E5__4;496497 private IDictionary<string, RoleObjectAssign> _003Cassignments_003E5__5;498499 private IDictionary<string, AssignTableInfo> _003CasgnTablesTarget_003E5__6;500501 private DelegationHelper _003Chelper_003E5__7;502503 private List<IRoleSplitItem> _003CsplitItems_003E5__8;504505 private Dictionary<string, AsyncLazy<bool>> _003CcanAssignCache_003E5__9;506507 private ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>> _003C_003Eu__1;508509 private ConfiguredTaskAwaiter<IDictionary<string, RoleObjectAssign>> _003C_003Eu__2;510511 private System.Collections.Generic.IEnumerator<RoleObjectAssign> _003C_003E7__wrap9;512513 private ConfiguredTaskAwaiter _003C_003Eu__3;514515 private void MoveNext()516 {517 //IL_009f: Unknown result type (might be due to invalid IL or missing references)518 //IL_00a4: Unknown result type (might be due to invalid IL or missing references)519 //IL_00ab: Unknown result type (might be due to invalid IL or missing references)520 //IL_012a: Unknown result type (might be due to invalid IL or missing references)521 //IL_012f: Unknown result type (might be due to invalid IL or missing references)522 //IL_0137: Unknown result type (might be due to invalid IL or missing references)523 //IL_01d6: Unknown result type (might be due to invalid IL or missing references)524 //IL_01db: Unknown result type (might be due to invalid IL or missing references)525 //IL_01e2: Unknown result type (might be due to invalid IL or missing references)526 //IL_0058: Unknown result type (might be due to invalid IL or missing references)527 //IL_0063: Unknown result type (might be due to invalid IL or missing references)528 //IL_0068: Unknown result type (might be due to invalid IL or missing references)529 //IL_006c: Unknown result type (might be due to invalid IL or missing references)530 //IL_0071: Unknown result type (might be due to invalid IL or missing references)531 //IL_00e1: Unknown result type (might be due to invalid IL or missing references)532 //IL_00ec: Unknown result type (might be due to invalid IL or missing references)533 //IL_00f1: Unknown result type (might be due to invalid IL or missing references)534 //IL_00f5: Unknown result type (might be due to invalid IL or missing references)535 //IL_00fa: Unknown result type (might be due to invalid IL or missing references)536 //IL_0085: Unknown result type (might be due to invalid IL or missing references)537 //IL_0086: Unknown result type (might be due to invalid IL or missing references)538 //IL_010f: Unknown result type (might be due to invalid IL or missing references)539 //IL_0111: Unknown result type (might be due to invalid IL or missing references)540 //IL_018f: Unknown result type (might be due to invalid IL or missing references)541 //IL_019a: Unknown result type (might be due to invalid IL or missing references)542 //IL_019f: Unknown result type (might be due to invalid IL or missing references)543 //IL_01a3: Unknown result type (might be due to invalid IL or missing references)544 //IL_01a8: Unknown result type (might be due to invalid IL or missing references)545 //IL_02d4: Unknown result type (might be due to invalid IL or missing references)546 //IL_02d9: Unknown result type (might be due to invalid IL or missing references)547 //IL_02e1: Unknown result type (might be due to invalid IL or missing references)548 //IL_01bc: Unknown result type (might be due to invalid IL or missing references)549 //IL_01bd: Unknown result type (might be due to invalid IL or missing references)550 //IL_028b: Unknown result type (might be due to invalid IL or missing references)551 //IL_0296: Unknown result type (might be due to invalid IL or missing references)552 //IL_029b: Unknown result type (might be due to invalid IL or missing references)553 //IL_029f: Unknown result type (might be due to invalid IL or missing references)554 //IL_02a4: Unknown result type (might be due to invalid IL or missing references)555 //IL_02b9: Unknown result type (might be due to invalid IL or missing references)556 //IL_02bb: Unknown result type (might be due to invalid IL or missing references)557 int num = _003C_003E1__state;558 RoleSplit roleSplit = _003C_003E4__this;559 try560 {561 ConfiguredTaskAwaiter<IDictionary<string, RoleObjectAssign>> val2;562 ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>> val;563 IDictionary<string, AssignTableInfo> val3;564 IDictionary<string, RoleObjectAssign> result;565 switch (num)566 {567 default:568 _003CassignHelper_003E5__2 = new AssignmentHelper(session);569 _003Crunner_003E5__3 = session.Resolve<IStatementRunner>();570 val = AssignTableInfo.FromDbAsync(_003Crunner_003E5__3, roleSplit.SourceKey.Tablename, ct).ConfigureAwait(false).GetAwaiter();571 if (!val.IsCompleted)572 {573 num = (_003C_003E1__state = 0);574 _003C_003Eu__1 = val;575 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>>, _003CConfigureAssignmentSplitItemsAsync_003Ed__28>(ref val, ref this);576 return;577 }578 goto IL_00ba;579 case 0:580 val = _003C_003Eu__1;581 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>>);582 num = (_003C_003E1__state = -1);583 goto IL_00ba;584 case 1:585 val2 = _003C_003Eu__2;586 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<IDictionary<string, RoleObjectAssign>>);587 num = (_003C_003E1__state = -1);588 goto IL_0146;589 case 2:590 val = _003C_003Eu__1;591 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>>);592 num = (_003C_003E1__state = -1);593 goto IL_01f1;594 case 3:595 break;596 IL_01f9:597 _003CasgnTablesTarget_003E5__6 = val3;598 _003Chelper_003E5__7 = new DelegationHelper(session);599 _003CsplitItems_003E5__8 = new List<IRoleSplitItem>();600 roleSplit.SplitItems = (System.Collections.Generic.IEnumerable<IRoleSplitItem>)_003CsplitItems_003E5__8;601 _003CcanAssignCache_003E5__9 = new Dictionary<string, AsyncLazy<bool>>();602 _003C_003E7__wrap9 = ((System.Collections.Generic.IEnumerable<RoleObjectAssign>)_003Cassignments_003E5__5.Values).GetEnumerator();603 break;604 IL_00ba:605 val3 = val.GetResult();606 _003CasgnTablesSource_003E5__4 = val3;607 val2 = _003CassignHelper_003E5__2.GetAssignedPermissionsAsync((System.Collections.Generic.IEnumerable<AssignTableInfo>)_003CasgnTablesSource_003E5__4.Values, roleSplit.SourceKey, ct).ConfigureAwait(false).GetAwaiter();608 if (!val2.IsCompleted)609 {610 num = (_003C_003E1__state = 1);611 _003C_003Eu__2 = val2;612 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IDictionary<string, RoleObjectAssign>>, _003CConfigureAssignmentSplitItemsAsync_003Ed__28>(ref val2, ref this);613 return;614 }615 goto IL_0146;616 IL_01f1:617 val3 = val.GetResult();618 goto IL_01f9;619 IL_0146:620 result = val2.GetResult();621 _003Cassignments_003E5__5 = result;622 if (roleSplit.SourceKey.Tablename == newRoleKey.Tablename)623 {624 val3 = _003CasgnTablesSource_003E5__4;625 goto IL_01f9;626 }627 val = AssignTableInfo.FromDbAsync(_003Crunner_003E5__3, newRoleKey.Tablename, ct).ConfigureAwait(false).GetAwaiter();628 if (!val.IsCompleted)629 {630 num = (_003C_003E1__state = 2);631 _003C_003Eu__1 = val;632 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IDictionary<string, AssignTableInfo>>, _003CConfigureAssignmentSplitItemsAsync_003Ed__28>(ref val, ref this);633 return;634 }635 goto IL_01f1;636 }637 try638 {639 if (num != 3)640 {641 goto IL_02f7;642 }643 ConfiguredTaskAwaiter val4 = _003C_003Eu__3;644 _003C_003Eu__3 = default(ConfiguredTaskAwaiter);645 num = (_003C_003E1__state = -1);646 goto IL_02f0;647 IL_02f0:648 ((ConfiguredTaskAwaiter)(ref val4)).GetResult();649 goto IL_02f7;650 IL_02f7:651 if (((System.Collections.IEnumerator)_003C_003E7__wrap9).MoveNext())652 {653 RoleObjectAssign current = _003C_003E7__wrap9.Current;654 ConfiguredTaskAwaitable val5 = roleSplit.GetSingleAssignmentActionsAsync(newRoleKey, current, _003CassignHelper_003E5__2, _003Chelper_003E5__7, _003CasgnTablesTarget_003E5__6, (System.Collections.Generic.ICollection<IRoleSplitItem>)_003CsplitItems_003E5__8, (IDictionary<string, AsyncLazy<bool>>)(object)_003CcanAssignCache_003E5__9, ct).ConfigureAwait(false);655 val4 = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();656 if (!((ConfiguredTaskAwaiter)(ref val4)).IsCompleted)657 {658 num = (_003C_003E1__state = 3);659 _003C_003Eu__3 = val4;660 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CConfigureAssignmentSplitItemsAsync_003Ed__28>(ref val4, ref this);661 return;662 }663 goto IL_02f0;664 }665 }666 finally667 {668 if (num < 0 && _003C_003E7__wrap9 != null)669 {670 ((System.IDisposable)_003C_003E7__wrap9).Dispose();671 }672 }673 _003C_003E7__wrap9 = null;674 }675 catch (System.Exception exception)676 {677 _003C_003E1__state = -2;678 _003CassignHelper_003E5__2 = null;679 _003Crunner_003E5__3 = null;680 _003CasgnTablesSource_003E5__4 = null;681 _003Cassignments_003E5__5 = null;682 _003CasgnTablesTarget_003E5__6 = null;683 _003Chelper_003E5__7 = null;684 _003CsplitItems_003E5__8 = null;685 _003CcanAssignCache_003E5__9 = null;686 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);687 return;688 }689 _003C_003E1__state = -2;690 _003CassignHelper_003E5__2 = null;691 _003Crunner_003E5__3 = null;692 _003CasgnTablesSource_003E5__4 = null;693 _003Cassignments_003E5__5 = null;694 _003CasgnTablesTarget_003E5__6 = null;695 _003Chelper_003E5__7 = null;696 _003CsplitItems_003E5__8 = null;697 _003CcanAssignCache_003E5__9 = null;698 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();699 }700701 [DebuggerHidden]702 private void SetStateMachine(IAsyncStateMachine stateMachine)703 {704 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);705 }706 }707708 [StructLayout((LayoutKind)3)]709 [CompilerGenerated]710 private struct _003CConfigureSplitItemsAsync_003Ed__23 : IAsyncStateMachine711 {712 public int _003C_003E1__state;713714 public AsyncTaskMethodBuilder _003C_003Et__builder;715716 public RoleSplit _003C_003E4__this;717718 public ISession session;719720 public CancellationToken ct;721722 public bool withPutRole;723724 private DbObjectKey _003CnewRoleKey_003E5__2;725726 private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__1;727728 private ConfiguredTaskAwaiter<TryResult<IEntity>> _003C_003Eu__2;729730 private ConfiguredTaskAwaiter _003C_003Eu__3;731732 private void MoveNext()733 {734 //IL_00a5: Unknown result type (might be due to invalid IL or missing references)735 //IL_00aa: Unknown result type (might be due to invalid IL or missing references)736 //IL_00b2: Unknown result type (might be due to invalid IL or missing references)737 //IL_0198: Unknown result type (might be due to invalid IL or missing references)738 //IL_019d: Unknown result type (might be due to invalid IL or missing references)739 //IL_01a5: Unknown result type (might be due to invalid IL or missing references)740 //IL_026f: Unknown result type (might be due to invalid IL or missing references)741 //IL_0274: Unknown result type (might be due to invalid IL or missing references)742 //IL_027c: Unknown result type (might be due to invalid IL or missing references)743 //IL_005c: Unknown result type (might be due to invalid IL or missing references)744 //IL_0067: Unknown result type (might be due to invalid IL or missing references)745 //IL_006c: Unknown result type (might be due to invalid IL or missing references)746 //IL_0070: Unknown result type (might be due to invalid IL or missing references)747 //IL_0075: Unknown result type (might be due to invalid IL or missing references)748 //IL_0034: Unknown result type (might be due to invalid IL or missing references)749 //IL_014f: Unknown result type (might be due to invalid IL or missing references)750 //IL_015a: Unknown result type (might be due to invalid IL or missing references)751 //IL_015f: Unknown result type (might be due to invalid IL or missing references)752 //IL_0163: Unknown result type (might be due to invalid IL or missing references)753 //IL_0168: Unknown result type (might be due to invalid IL or missing references)754 //IL_0229: Unknown result type (might be due to invalid IL or missing references)755 //IL_0234: Unknown result type (might be due to invalid IL or missing references)756 //IL_0239: Unknown result type (might be due to invalid IL or missing references)757 //IL_023d: Unknown result type (might be due to invalid IL or missing references)758 //IL_0242: Unknown result type (might be due to invalid IL or missing references)759 //IL_008a: Unknown result type (might be due to invalid IL or missing references)760 //IL_008c: Unknown result type (might be due to invalid IL or missing references)761 //IL_017d: Unknown result type (might be due to invalid IL or missing references)762 //IL_017f: Unknown result type (might be due to invalid IL or missing references)763 //IL_0257: Unknown result type (might be due to invalid IL or missing references)764 //IL_0259: Unknown result type (might be due to invalid IL or missing references)765 int num = _003C_003E1__state;766 RoleSplit CS_0024_003C_003E8__locals12 = _003C_003E4__this;767 try768 {769 ConfiguredTaskAwaiter<IMetaTable> val3;770 ConfiguredTaskAwaiter<TryResult<IEntity>> val2;771 ConfiguredTaskAwaiter val;772 TryResult<IEntity> result;773 ConfiguredTaskAwaitable val4;774 IMetaTable result2;775 Query query;776 switch (num)777 {778 default:779 CS_0024_003C_003E8__locals12._session = session;780 if (CS_0024_003C_003E8__locals12.NewRole == null)781 {782 throw new InvalidOperationException();783 }784 ((System.Collections.Generic.ICollection<IUiAction>)CS_0024_003C_003E8__locals12._baseActions).Clear();785 val3 = session.MetaData().GetTableAsync(CS_0024_003C_003E8__locals12.NewRole.Tablename, ct).ConfigureAwait(false)786 .GetAwaiter();787 if (!val3.IsCompleted)788 {789 num = (_003C_003E1__state = 0);790 _003C_003Eu__1 = val3;791 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CConfigureSplitItemsAsync_003Ed__23>(ref val3, ref this);792 return;793 }794 goto IL_00c1;795 case 0:796 val3 = _003C_003Eu__1;797 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IMetaTable>);798 num = (_003C_003E1__state = -1);799 goto IL_00c1;800 case 1:801 val2 = _003C_003Eu__2;802 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<TryResult<IEntity>>);803 num = (_003C_003E1__state = -1);804 goto IL_01b4;805 case 2:806 {807 val = _003C_003Eu__3;808 _003C_003Eu__3 = default(ConfiguredTaskAwaiter);809 num = (_003C_003E1__state = -1);810 break;811 }812 IL_01b4:813 result = val2.GetResult();814 if (result.Success)815 {816 ((System.Collections.Generic.ICollection<IUiAction>)CS_0024_003C_003E8__locals12._baseActions).Add((IUiAction)new MandatoryUiAction(new CopyDynamicRole(result.Result, _003CnewRoleKey_003E5__2, CS_0024_003C_003E8__locals12._translator.TranslateControlText(TranslatableKeys.CopyDynamicRole), "CopyDynamicGroup")817 {818 SortOrder = -1,819 ObjectDisplay = session.GetDisplayTolerantSingular("DynamicGroup")820 }));821 }822 val4 = CS_0024_003C_003E8__locals12.ConfigureAssignmentSplitItemsAsync(session, _003CnewRoleKey_003E5__2, ct).ConfigureAwait(false);823 val = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();824 if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)825 {826 num = (_003C_003E1__state = 2);827 _003C_003Eu__3 = val;828 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CConfigureSplitItemsAsync_003Ed__23>(ref val, ref this);829 return;830 }831 break;832 IL_00c1:833 result2 = val3.GetResult();834 _003CnewRoleKey_003E5__2 = new DbObjectKey(result2, CS_0024_003C_003E8__locals12.NewRole);835 if (withPutRole)836 {837 ((System.Collections.Generic.ICollection<IUiAction>)CS_0024_003C_003E8__locals12._baseActions).Add((IUiAction)new MandatoryUiAction(new PutEntityAction(CS_0024_003C_003E8__locals12.NewRole, CS_0024_003C_003E8__locals12._translator.TranslateControlText(TranslatableKeys.CreateNewRole), "PutNewRole")838 {839 SortOrder = -2840 }));841 }842 query = from s in Query.From("DynamicGroup").SelectAll()843 where s.Column("ObjectKeyBasetree") == CS_0024_003C_003E8__locals12.SourceKey.ToXmlString()844 select s;845 val2 = session.Source().TryGetAsync(query, EntityLoadType.DelayedLogic, ct).ConfigureAwait(false)846 .GetAwaiter();847 if (!val2.IsCompleted)848 {849 num = (_003C_003E1__state = 1);850 _003C_003Eu__2 = val2;851 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<TryResult<IEntity>>, _003CConfigureSplitItemsAsync_003Ed__23>(ref val2, ref this);852 return;853 }854 goto IL_01b4;855 }856 ((ConfiguredTaskAwaiter)(ref val)).GetResult();857 }858 catch (System.Exception exception)859 {860 _003C_003E1__state = -2;861 _003CnewRoleKey_003E5__2 = null;862 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);863 return;864 }865 _003C_003E1__state = -2;866 _003CnewRoleKey_003E5__2 = null;867 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();868 }869870 [DebuggerHidden]871 private void SetStateMachine(IAsyncStateMachine stateMachine)872 {873 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);874 }875 }876877 [StructLayout((LayoutKind)3)]878 [CompilerGenerated]879 private struct _003CGetSingleAssignmentActionsAsync_003Ed__29 : IAsyncStateMachine880 {881 public int _003C_003E1__state;882883 public AsyncTaskMethodBuilder _003C_003Et__builder;884885 public IDictionary<string, AsyncLazy<bool>> canAssignCache;886887 public RoleSplit _003C_003E4__this;888889 public RoleObjectAssign elem;890891 public AssignmentHelper assignHelper;892893 public CancellationToken ct;894895 public DelegationHelper helper;896897 private _003C_003Ec__DisplayClass29_0 _003C_003E8__1;898899 public IDictionary<string, AssignTableInfo> asgnTablesTarget;900901 public DbObjectKey newRoleKey;902903 public System.Collections.Generic.ICollection<IRoleSplitItem> splitItems;904905 private DbObjectKey _003CassignObjectKey_003E5__2;906907 private XOrigin _003Corigin_003E5__3;908909 private DbObjectKey _003CentitlementObjectKey_003E5__4;910911 private string _003Cdisplay_003E5__5;912913 private ConfiguredTaskAwaiter<string> _003C_003Eu__1;914915 private ConfiguredTaskAwaiter<TryResult<string>> _003C_003Eu__2;916917 private void MoveNext()918 {919 //IL_00e8: Unknown result type (might be due to invalid IL or missing references)920 //IL_00ed: Unknown result type (might be due to invalid IL or missing references)921 //IL_00f5: Unknown result type (might be due to invalid IL or missing references)922 //IL_01cd: Unknown result type (might be due to invalid IL or missing references)923 //IL_01d2: Unknown result type (might be due to invalid IL or missing references)924 //IL_01da: Unknown result type (might be due to invalid IL or missing references)925 //IL_009f: Unknown result type (might be due to invalid IL or missing references)926 //IL_00aa: Unknown result type (might be due to invalid IL or missing references)927 //IL_00af: Unknown result type (might be due to invalid IL or missing references)928 //IL_00b3: Unknown result type (might be due to invalid IL or missing references)929 //IL_00b8: Unknown result type (might be due to invalid IL or missing references)930 //IL_00cd: Unknown result type (might be due to invalid IL or missing references)931 //IL_00cf: Unknown result type (might be due to invalid IL or missing references)932 //IL_0184: Unknown result type (might be due to invalid IL or missing references)933 //IL_018f: Unknown result type (might be due to invalid IL or missing references)934 //IL_0194: Unknown result type (might be due to invalid IL or missing references)935 //IL_0198: Unknown result type (might be due to invalid IL or missing references)936 //IL_019d: Unknown result type (might be due to invalid IL or missing references)937 //IL_01b2: Unknown result type (might be due to invalid IL or missing references)938 //IL_01b4: Unknown result type (might be due to invalid IL or missing references)939 int num = _003C_003E1__state;940 RoleSplit roleSplit = _003C_003E4__this;941 try942 {943 ConfiguredTaskAwaiter<string> val;944 if (num == 0)945 {946 val = _003C_003Eu__1;947 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<string>);948 num = (_003C_003E1__state = -1);949 goto IL_0104;950 }951 ConfiguredTaskAwaiter<TryResult<string>> val2;952 if (num == 1)953 {954 val2 = _003C_003Eu__2;955 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<TryResult<string>>);956 num = (_003C_003E1__state = -1);957 goto IL_01e9;958 }959 _003C_003E8__1 = new _003C_003Ec__DisplayClass29_0();960 _003C_003E8__1.canAssignCache = canAssignCache;961 _003C_003E8__1._003C_003E4__this = _003C_003E4__this;962 _003CassignObjectKey_003E5__2 = new DbObjectKey(elem.AssignObjectKey);963 _003Corigin_003E5__3 = (XOrigin)elem.XOrigin;964 if (_003Corigin_003E5__3 != XOrigin.None)965 {966 _003CentitlementObjectKey_003E5__4 = new DbObjectKey(elem.EntitlementObjectKey);967 val = assignHelper.GetDisplayAsync(_003CentitlementObjectKey_003E5__4, ct).ConfigureAwait(false).GetAwaiter();968 if (!val.IsCompleted)969 {970 num = (_003C_003E1__state = 0);971 _003C_003Eu__1 = val;972 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CGetSingleAssignmentActionsAsync_003Ed__29>(ref val, ref this);973 return;974 }975 goto IL_0104;976 }977 goto end_IL_000e;978 IL_023d:979 _003C_003E8__1.newAsgn = asgnTablesTarget[_003CentitlementObjectKey_003E5__4.Tablename];980 DbObjectKey objectKey = DbObjectKey.GetObjectKey(_003C_003E8__1.newAsgn.TableName, _003C_003E8__1.newAsgn.ColumnNameEntitlement, _003CentitlementObjectKey_003E5__4.Keys[0], _003C_003E8__1.newAsgn.ColumnNameBasetree, newRoleKey.Keys[0]);981 RoleSplitItem roleSplitItem = new RoleSplitItem(_003Cdisplay_003E5__5, _003C_003E8__1.newAsgn.TableNameEntitlement, _003CassignObjectKey_003E5__2, objectKey, roleSplit.SourceRole.Display, roleSplit.NewRole, roleSplit._translator, _003Corigin_003E5__3)982 {983 DisableAssignOnNewRole = [AsyncStateMachine(typeof(_003C_003Ec__DisplayClass29_0._003C_003CGetSingleAssignmentActionsAsync_003Eb__0_003Ed))] async (CancellationToken cx) => !(await _003C_003E8__1.canAssignCache.GetOrAdd<string, AsyncLazy<bool>>(_003C_003E8__1.newAsgn.TableNameEntitlement, (string t) => new AsyncLazy<bool>(new _003C_003Ec__DisplayClass29_1984 {985 CS_0024_003C_003E8__locals1 = _003C_003E8__1,986 t = t987 }._003CGetSingleAssignmentActionsAsync_003Eb__2, (LazyThreadSafetyMode)2)).GetValueAsync(cx).ConfigureAwait(false))988 };989 if (string.Equals("Person", _003C_003E8__1.newAsgn.TableNameEntitlement))990 {991 roleSplitItem.SplitType = RoleSplitItemType.Copy;992 }993 splitItems.Add((IRoleSplitItem)roleSplitItem);994 goto end_IL_000e;995 IL_0104:996 string result = val.GetResult();997 _003Cdisplay_003E5__5 = result;998 if (_003Corigin_003E5__3 == XOrigin.Indirect)999 {1000 ((System.Collections.Generic.ICollection<IUiAction>)roleSplit._baseActions).Add((IUiAction)new ImpossibleAction(_003Cdisplay_003E5__5, roleSplit._translator.TranslateControlText(TranslatableKeys.NotRecreatingInheritedAssignment), elem.EntitlementObjectKey));1001 }1002 else if (_003Corigin_003E5__3 != XOrigin.Dynamic && _003Corigin_003E5__3 != (XOrigin.Indirect | XOrigin.Dynamic))1003 {1004 if (_003Corigin_003E5__3 == XOrigin.Ordered)1005 {1006 val2 = helper.TryGetActiveDelegationAsync(_003CassignObjectKey_003E5__2, ct).ConfigureAwait(false).GetAwaiter();1007 if (!val2.IsCompleted)1008 {1009 num = (_003C_003E1__state = 1);1010 _003C_003Eu__2 = val2;1011 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<TryResult<string>>, _003CGetSingleAssignmentActionsAsync_003Ed__29>(ref val2, ref this);1012 return;1013 }1014 goto IL_01e9;1015 }1016 goto IL_023d;1017 }1018 goto end_IL_000e;1019 IL_01e9:1020 TryResult<string> result2 = val2.GetResult();1021 if (!result2.Success)1022 {1023 goto IL_023d;1024 }1025 ((System.Collections.Generic.ICollection<IUiAction>)roleSplit._baseActions).Add((IUiAction)new ImpossibleAction(_003Cdisplay_003E5__5, string.Format(roleSplit._translator.TranslateControlText(TranslatableKeys.NotRecreatingDelegatedMembership), (object)result2.Result), elem.EntitlementObjectKey));1026 end_IL_000e:;1027 }1028 catch (System.Exception exception)1029 {1030 _003C_003E1__state = -2;1031 _003C_003E8__1 = null;1032 _003CassignObjectKey_003E5__2 = null;1033 _003CentitlementObjectKey_003E5__4 = null;1034 _003Cdisplay_003E5__5 = null;1035 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1036 return;1037 }1038 _003C_003E1__state = -2;1039 _003C_003E8__1 = null;1040 _003CassignObjectKey_003E5__2 = null;1041 _003CentitlementObjectKey_003E5__4 = null;1042 _003Cdisplay_003E5__5 = null;1043 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1044 }10451046 [DebuggerHidden]1047 private void SetStateMachine(IAsyncStateMachine stateMachine)1048 {1049 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1050 }1051 }10521053 [StructLayout((LayoutKind)3)]1054 [CompilerGenerated]1055 private struct _003CGetSplitActionsAsync_003Ed__27 : IAsyncStateMachine1056 {1057 public int _003C_003E1__state;10581059 public AsyncTaskMethodBuilder<System.Collections.Generic.IEnumerable<IUiAction>> _003C_003Et__builder;10601061 public RoleSplit _003C_003E4__this;10621063 public CancellationToken ct;10641065 private List<IUiAction> _003Clist_003E5__2;10661067 private System.Collections.Generic.IEnumerator<IRoleSplitItem> _003C_003E7__wrap2;10681069 private List<IUiAction> _003C_003E7__wrap3;10701071 private ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<IUiAction>> _003C_003Eu__1;10721073 private void MoveNext()1074 {1075 //IL_00a3: Unknown result type (might be due to invalid IL or missing references)1076 //IL_00a8: Unknown result type (might be due to invalid IL or missing references)1077 //IL_00b0: Unknown result type (might be due to invalid IL or missing references)1078 //IL_005a: Unknown result type (might be due to invalid IL or missing references)1079 //IL_0065: Unknown result type (might be due to invalid IL or missing references)1080 //IL_006a: Unknown result type (might be due to invalid IL or missing references)1081 //IL_006e: Unknown result type (might be due to invalid IL or missing references)1082 //IL_0073: Unknown result type (might be due to invalid IL or missing references)1083 //IL_0088: Unknown result type (might be due to invalid IL or missing references)1084 //IL_008a: Unknown result type (might be due to invalid IL or missing references)1085 int num = _003C_003E1__state;1086 RoleSplit roleSplit = _003C_003E4__this;1087 System.Collections.Generic.IEnumerable<IUiAction> result2;1088 try1089 {1090 if (num != 0)1091 {1092 _003Clist_003E5__2 = Enumerable.ToList<IUiAction>((System.Collections.Generic.IEnumerable<IUiAction>)roleSplit._baseActions);1093 _003C_003E7__wrap2 = roleSplit.SplitItems.GetEnumerator();1094 }1095 try1096 {1097 if (num != 0)1098 {1099 goto IL_00da;1100 }1101 ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<IUiAction>> val = _003C_003Eu__1;1102 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<IUiAction>>);1103 num = (_003C_003E1__state = -1);1104 goto IL_00bf;1105 IL_00bf:1106 System.Collections.Generic.IEnumerable<IUiAction> result = val.GetResult();1107 _003C_003E7__wrap3.AddRange(result);1108 _003C_003E7__wrap3 = null;1109 goto IL_00da;1110 IL_00da:1111 if (((System.Collections.IEnumerator)_003C_003E7__wrap2).MoveNext())1112 {1113 IRoleSplitItem current = _003C_003E7__wrap2.Current;1114 _003C_003E7__wrap3 = _003Clist_003E5__2;1115 val = current.GetSplitActionsAsync(roleSplit._session, ct).ConfigureAwait(false).GetAwaiter();1116 if (!val.IsCompleted)1117 {1118 num = (_003C_003E1__state = 0);1119 _003C_003Eu__1 = val;1120 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<IUiAction>>, _003CGetSplitActionsAsync_003Ed__27>(ref val, ref this);1121 return;1122 }1123 goto IL_00bf;1124 }1125 }1126 finally1127 {1128 if (num < 0 && _003C_003E7__wrap2 != null)1129 {1130 ((System.IDisposable)_003C_003E7__wrap2).Dispose();1131 }1132 }1133 _003C_003E7__wrap2 = null;1134 result2 = (System.Collections.Generic.IEnumerable<IUiAction>)_003Clist_003E5__2;1135 }1136 catch (System.Exception exception)1137 {1138 _003C_003E1__state = -2;1139 _003Clist_003E5__2 = null;1140 _003C_003Et__builder.SetException(exception);1141 return;1142 }1143 _003C_003E1__state = -2;1144 _003Clist_003E5__2 = null;1145 _003C_003Et__builder.SetResult(result2);1146 }11471148 [DebuggerHidden]1149 private void SetStateMachine(IAsyncStateMachine stateMachine)1150 {1151 _003C_003Et__builder.SetStateMachine(stateMachine);1152 }1153 }11541155 [StructLayout((LayoutKind)3)]1156 [CompilerGenerated]1157 private struct _003CInitAsync_003Ed__10 : IAsyncStateMachine1158 {1159 public int _003C_003E1__state;11601161 public AsyncTaskMethodBuilder _003C_003Et__builder;11621163 public ISession session;11641165 public string newRoleType;11661167 public CancellationToken ct;11681169 public RoleSplit _003C_003E4__this;11701171 public bool withPutRole;11721173 private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__1;11741175 private ConfiguredTaskAwaiter _003C_003Eu__2;11761177 private void MoveNext()1178 {1179 //IL_0072: Unknown result type (might be due to invalid IL or missing references)1180 //IL_0077: Unknown result type (might be due to invalid IL or missing references)1181 //IL_007e: Unknown result type (might be due to invalid IL or missing references)1182 //IL_00a4: Unknown result type (might be due to invalid IL or missing references)1183 //IL_00af: Unknown result type (might be due to invalid IL or missing references)1184 //IL_00b4: Unknown result type (might be due to invalid IL or missing references)1185 //IL_00b8: Unknown result type (might be due to invalid IL or missing references)1186 //IL_00bd: Unknown result type (might be due to invalid IL or missing references)1187 //IL_00ea: Unknown result type (might be due to invalid IL or missing references)1188 //IL_00ef: Unknown result type (might be due to invalid IL or missing references)1189 //IL_00f7: Unknown result type (might be due to invalid IL or missing references)1190 //IL_002b: Unknown result type (might be due to invalid IL or missing references)1191 //IL_0036: Unknown result type (might be due to invalid IL or missing references)1192 //IL_003b: Unknown result type (might be due to invalid IL or missing references)1193 //IL_003f: Unknown result type (might be due to invalid IL or missing references)1194 //IL_0044: Unknown result type (might be due to invalid IL or missing references)1195 //IL_00d2: Unknown result type (might be due to invalid IL or missing references)1196 //IL_00d4: Unknown result type (might be due to invalid IL or missing references)1197 //IL_0058: Unknown result type (might be due to invalid IL or missing references)1198 //IL_0059: Unknown result type (might be due to invalid IL or missing references)1199 int num = _003C_003E1__state;1200 RoleSplit roleSplit = _003C_003E4__this;1201 try1202 {1203 ConfiguredTaskAwaiter val;1204 ConfiguredTaskAwaiter<IEntity> val2;1205 if (num != 0)1206 {1207 if (num == 1)1208 {1209 val = _003C_003Eu__2;1210 _003C_003Eu__2 = default(ConfiguredTaskAwaiter);1211 num = (_003C_003E1__state = -1);1212 goto IL_0106;1213 }1214 val2 = session.Source().CreateNewAsync(newRoleType, EntityCreationType.Interactive, ct).ConfigureAwait(false)1215 .GetAwaiter();1216 if (!val2.IsCompleted)1217 {1218 num = (_003C_003E1__state = 0);1219 _003C_003Eu__1 = val2;1220 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003CInitAsync_003Ed__10>(ref val2, ref this);1221 return;1222 }1223 }1224 else1225 {1226 val2 = _003C_003Eu__1;1227 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);1228 num = (_003C_003E1__state = -1);1229 }1230 IEntity result = val2.GetResult();1231 ConfiguredTaskAwaitable val3 = roleSplit.InitAsync(session, result, withPutRole, ct).ConfigureAwait(false);1232 val = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();1233 if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1234 {1235 num = (_003C_003E1__state = 1);1236 _003C_003Eu__2 = val;1237 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CInitAsync_003Ed__10>(ref val, ref this);1238 return;1239 }1240 goto IL_0106;1241 IL_0106:1242 ((ConfiguredTaskAwaiter)(ref val)).GetResult();1243 }1244 catch (System.Exception exception)1245 {1246 _003C_003E1__state = -2;1247 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1248 return;1249 }1250 _003C_003E1__state = -2;1251 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1252 }12531254 [DebuggerHidden]1255 private void SetStateMachine(IAsyncStateMachine stateMachine)1256 {1257 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1258 }1259 }12601261 [StructLayout((LayoutKind)3)]1262 [CompilerGenerated]1263 private struct _003CInitAsync_003Ed__12 : IAsyncStateMachine1264 {1265 public int _003C_003E1__state;12661267 public AsyncTaskMethodBuilder _003C_003Et__builder;12681269 public RoleSplit _003C_003E4__this;12701271 public ISession session;12721273 public CancellationToken ct;12741275 public IEntity newRole;12761277 public bool withPutRole;12781279 private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__1;12801281 private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__2;12821283 private ConfiguredTaskAwaiter _003C_003Eu__3;12841285 private void MoveNext()1286 {1287 //IL_008d: Unknown result type (might be due to invalid IL or missing references)1288 //IL_0092: Unknown result type (might be due to invalid IL or missing references)1289 //IL_0099: Unknown result type (might be due to invalid IL or missing references)1290 //IL_01f6: Unknown result type (might be due to invalid IL or missing references)1291 //IL_01fb: Unknown result type (might be due to invalid IL or missing references)1292 //IL_0203: Unknown result type (might be due to invalid IL or missing references)1293 //IL_0386: Unknown result type (might be due to invalid IL or missing references)1294 //IL_038b: Unknown result type (might be due to invalid IL or missing references)1295 //IL_0393: Unknown result type (might be due to invalid IL or missing references)1296 //IL_0046: Unknown result type (might be due to invalid IL or missing references)1297 //IL_0051: Unknown result type (might be due to invalid IL or missing references)1298 //IL_0056: Unknown result type (might be due to invalid IL or missing references)1299 //IL_005a: Unknown result type (might be due to invalid IL or missing references)1300 //IL_005f: Unknown result type (might be due to invalid IL or missing references)1301 //IL_002d: Unknown result type (might be due to invalid IL or missing references)1302 //IL_0073: Unknown result type (might be due to invalid IL or missing references)1303 //IL_0074: Unknown result type (might be due to invalid IL or missing references)1304 //IL_01ad: Unknown result type (might be due to invalid IL or missing references)1305 //IL_01b8: Unknown result type (might be due to invalid IL or missing references)1306 //IL_01bd: Unknown result type (might be due to invalid IL or missing references)1307 //IL_01c1: Unknown result type (might be due to invalid IL or missing references)1308 //IL_01c6: Unknown result type (might be due to invalid IL or missing references)1309 //IL_01db: Unknown result type (might be due to invalid IL or missing references)1310 //IL_01dd: Unknown result type (might be due to invalid IL or missing references)1311 //IL_0340: Unknown result type (might be due to invalid IL or missing references)1312 //IL_034b: Unknown result type (might be due to invalid IL or missing references)1313 //IL_0350: Unknown result type (might be due to invalid IL or missing references)1314 //IL_0354: Unknown result type (might be due to invalid IL or missing references)1315 //IL_0359: Unknown result type (might be due to invalid IL or missing references)1316 //IL_036e: Unknown result type (might be due to invalid IL or missing references)1317 //IL_0370: Unknown result type (might be due to invalid IL or missing references)1318 int num = _003C_003E1__state;1319 RoleSplit roleSplit = _003C_003E4__this;1320 try1321 {1322 ConfiguredTaskAwaiter<IEntity> val3;1323 ConfiguredTaskAwaiter<IMetaTable> val2;1324 ConfiguredTaskAwaiter val;1325 IEntity result;1326 string[] array;1327 ConfiguredTaskAwaitable val4;1328 string text2;1329 switch (num)1330 {1331 default:1332 if (roleSplit.NewRole != null)1333 {1334 throw new ArgumentException("InitAsync has already been called.");1335 }1336 val3 = session.Source().GetAsync(roleSplit.SourceKey, EntityLoadType.ReadOnly, ct).ConfigureAwait(false)1337 .GetAwaiter();1338 if (!val3.IsCompleted)1339 {1340 num = (_003C_003E1__state = 0);1341 _003C_003Eu__1 = val3;1342 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003CInitAsync_003Ed__12>(ref val3, ref this);1343 return;1344 }1345 goto IL_00a8;1346 case 0:1347 val3 = _003C_003Eu__1;1348 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);1349 num = (_003C_003E1__state = -1);1350 goto IL_00a8;1351 case 1:1352 val2 = _003C_003Eu__2;1353 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<IMetaTable>);1354 num = (_003C_003E1__state = -1);1355 goto IL_0212;1356 case 2:1357 {1358 val = _003C_003Eu__3;1359 _003C_003Eu__3 = default(ConfiguredTaskAwaiter);1360 num = (_003C_003E1__state = -1);1361 break;1362 }1363 IL_00a8:1364 result = val3.GetResult();1365 roleSplit.SourceRole = result;1366 if (roleSplit.SourceRole.Contains("ImportSource") && !DbVal.IsEmpty(roleSplit.SourceRole.GetValue("ImportSource"), ValType.String))1367 {1368 throw new ViException(roleSplit._translator.TranslateControlText(TranslatableKeys.CannotSplitImportedRoles), ExceptionRelevance.EndUser);1369 }1370 roleSplit.NewRole = newRole;1371 if (newRole.Tablename == roleSplit.SourceRole.Tablename && roleSplit.NewRole.Contains("UID_OrgRoot") && roleSplit.NewRole.Columns["UID_OrgRoot"].CanEdit)1372 {1373 roleSplit.NewRole.PutValue("UID_OrgRoot", roleSplit.SourceRole.GetValue("UID_OrgRoot"));1374 }1375 if (newRole.Tablename == roleSplit.SourceRole.Tablename)1376 {1377 val2 = session.MetaData().GetTableAsync(roleSplit.SourceRole.Tablename, ct).ConfigureAwait(false)1378 .GetAwaiter();1379 if (!val2.IsCompleted)1380 {1381 num = (_003C_003E1__state = 1);1382 _003C_003Eu__2 = val2;1383 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CInitAsync_003Ed__12>(ref val2, ref this);1384 return;1385 }1386 goto IL_0212;1387 }1388 goto IL_02ab;1389 IL_02ab:1390 array = new string[3] { "UID_PersonHead", "UID_PersonHeadSecond", "UID_AERoleManager" };1391 foreach (string text in array)1392 {1393 if (roleSplit.NewRole.Contains(text) && roleSplit.SourceRole.Contains(text) && string.IsNullOrEmpty(roleSplit.NewRole.GetValue<string>(text)))1394 {1395 roleSplit.NewRole.PutValue(text, roleSplit.SourceRole.GetValue(text));1396 }1397 }1398 val4 = roleSplit.ConfigureSplitItemsAsync(session, withPutRole, ct).ConfigureAwait(false);1399 val = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1400 if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1401 {1402 num = (_003C_003E1__state = 2);1403 _003C_003Eu__3 = val;1404 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CInitAsync_003Ed__12>(ref val, ref this);1405 return;1406 }1407 break;1408 IL_0212:1409 text2 = Enumerable.FirstOrDefault<IMetaColumn>((System.Collections.Generic.IEnumerable<IMetaColumn>)val2.GetResult().Columns, (Func<IMetaColumn, bool>)((IMetaColumn f) => f.IsParentConnectColumn))?.Columnname;1410 if (text2 != null && roleSplit.SourceRole.Contains(text2) && newRole.Columns[text2].CanEdit && string.IsNullOrEmpty(roleSplit.NewRole.GetValue<string>(text2)))1411 {1412 roleSplit.NewRole.PutValue(text2, roleSplit.SourceRole.GetValue(text2));1413 }1414 goto IL_02ab;1415 }1416 ((ConfiguredTaskAwaiter)(ref val)).GetResult();1417 }1418 catch (System.Exception exception)1419 {1420 _003C_003E1__state = -2;1421 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1422 return;1423 }1424 _003C_003E1__state = -2;1425 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1426 }14271428 [DebuggerHidden]1429 private void SetStateMachine(IAsyncStateMachine stateMachine)1430 {1431 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1432 }1433 }14341435 private readonly System.Collections.Generic.IList<IUiAction> _baseActions = (System.Collections.Generic.IList<IUiAction>)new List<IUiAction>();14361437 private readonly ITranslator _translator;14381439 private ISession _session;14401441 [field: CompilerGenerated]1442 public DbObjectKey SourceKey1443 {1444 [CompilerGenerated]1445 get;1446 }14471448 [field: CompilerGenerated]1449 public System.Collections.Generic.IEnumerable<IRoleSplitItem> SplitItems1450 {1451 [CompilerGenerated]1452 get;1453 [CompilerGenerated]1454 private set;1455 }14561457 [field: CompilerGenerated]1458 public IEntity NewRole1459 {1460 [CompilerGenerated]1461 get;1462 [CompilerGenerated]1463 private set;1464 }14651466 [field: CompilerGenerated]1467 public IEntity SourceRole1468 {1469 [CompilerGenerated]1470 get;1471 [CompilerGenerated]1472 private set;1473 }14741475 public RoleSplit(DbObjectKey sourceKey, ITranslator translator)1476 {1477 //IL_001f: Unknown result type (might be due to invalid IL or missing references)1478 if (sourceKey == null)1479 {1480 throw new ArgumentNullException("sourceKey");1481 }1482 SourceKey = sourceKey;1483 _translator = translator;1484 }14851486 public System.Threading.Tasks.Task InitAsync(ISession session, string newRoleType, CancellationToken ct = default(CancellationToken))1487 {1488 //IL_0004: Unknown result type (might be due to invalid IL or missing references)1489 return InitAsync(session, newRoleType, withPutRole: true, ct);1490 }14911492 [AsyncStateMachine(typeof(_003CInitAsync_003Ed__10))]1493 public System.Threading.Tasks.Task InitAsync(ISession session, string newRoleType, bool withPutRole, CancellationToken ct = default(CancellationToken))1494 {1495 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1496 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1497 //IL_002e: Unknown result type (might be due to invalid IL or missing references)1498 //IL_0030: Unknown result type (might be due to invalid IL or missing references)1499 _003CInitAsync_003Ed__10 _003CInitAsync_003Ed__ = default(_003CInitAsync_003Ed__10);1500 _003CInitAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1501 _003CInitAsync_003Ed__._003C_003E4__this = this;1502 _003CInitAsync_003Ed__.session = session;1503 _003CInitAsync_003Ed__.newRoleType = newRoleType;1504 _003CInitAsync_003Ed__.withPutRole = withPutRole;1505 _003CInitAsync_003Ed__.ct = ct;1506 _003CInitAsync_003Ed__._003C_003E1__state = -1;1507 ((AsyncTaskMethodBuilder)(ref _003CInitAsync_003Ed__._003C_003Et__builder)).Start<_003CInitAsync_003Ed__10>(ref _003CInitAsync_003Ed__);1508 return ((AsyncTaskMethodBuilder)(ref _003CInitAsync_003Ed__._003C_003Et__builder)).Task;1509 }15101511 public System.Threading.Tasks.Task InitAsync(ISession session, IEntity newRole, CancellationToken ct = default(CancellationToken))1512 {1513 //IL_0004: Unknown result type (might be due to invalid IL or missing references)1514 return InitAsync(session, newRole, withPutRole: false, ct);1515 }15161517 [AsyncStateMachine(typeof(_003CInitAsync_003Ed__12))]1518 private System.Threading.Tasks.Task InitAsync(ISession session, IEntity newRole, bool withPutRole, CancellationToken ct = default(CancellationToken))1519 {1520 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1521 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1522 //IL_002e: Unknown result type (might be due to invalid IL or missing references)1523 //IL_0030: Unknown result type (might be due to invalid IL or missing references)1524 _003CInitAsync_003Ed__12 _003CInitAsync_003Ed__ = default(_003CInitAsync_003Ed__12);1525 _003CInitAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1526 _003CInitAsync_003Ed__._003C_003E4__this = this;1527 _003CInitAsync_003Ed__.session = session;1528 _003CInitAsync_003Ed__.newRole = newRole;1529 _003CInitAsync_003Ed__.withPutRole = withPutRole;1530 _003CInitAsync_003Ed__.ct = ct;1531 _003CInitAsync_003Ed__._003C_003E1__state = -1;1532 ((AsyncTaskMethodBuilder)(ref _003CInitAsync_003Ed__._003C_003Et__builder)).Start<_003CInitAsync_003Ed__12>(ref _003CInitAsync_003Ed__);1533 return ((AsyncTaskMethodBuilder)(ref _003CInitAsync_003Ed__._003C_003Et__builder)).Task;1534 }15351536 [AsyncStateMachine(typeof(_003CConfigureSplitItemsAsync_003Ed__23))]1537 private System.Threading.Tasks.Task ConfigureSplitItemsAsync(ISession session, bool withPutRole, CancellationToken ct = default(CancellationToken))1538 {1539 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1540 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1541 //IL_0026: Unknown result type (might be due to invalid IL or missing references)1542 //IL_0027: Unknown result type (might be due to invalid IL or missing references)1543 _003CConfigureSplitItemsAsync_003Ed__23 _003CConfigureSplitItemsAsync_003Ed__ = default(_003CConfigureSplitItemsAsync_003Ed__23);1544 _003CConfigureSplitItemsAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1545 _003CConfigureSplitItemsAsync_003Ed__._003C_003E4__this = this;1546 _003CConfigureSplitItemsAsync_003Ed__.session = session;1547 _003CConfigureSplitItemsAsync_003Ed__.withPutRole = withPutRole;1548 _003CConfigureSplitItemsAsync_003Ed__.ct = ct;1549 _003CConfigureSplitItemsAsync_003Ed__._003C_003E1__state = -1;1550 ((AsyncTaskMethodBuilder)(ref _003CConfigureSplitItemsAsync_003Ed__._003C_003Et__builder)).Start<_003CConfigureSplitItemsAsync_003Ed__23>(ref _003CConfigureSplitItemsAsync_003Ed__);1551 return ((AsyncTaskMethodBuilder)(ref _003CConfigureSplitItemsAsync_003Ed__._003C_003Et__builder)).Task;1552 }15531554 [AsyncStateMachine(typeof(_003CCanCreateTargetRoleAsync_003Ed__24))]1555 public async System.Threading.Tasks.Task<bool> CanCreateTargetRoleAsync(CancellationToken ct = default(CancellationToken))1556 {1557 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1558 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1559 //IL_0016: Unknown result type (might be due to invalid IL or missing references)1560 //IL_0017: Unknown result type (might be due to invalid IL or missing references)1561 DiffAction diffAction = await DiffAction.FromEntityAsync(NewRole, _session, "TestAction", ct).ConfigureAwait(false);1562 await _session.BeginTransactionAsync(ct).ConfigureAwait(false);1563 object obj = null;1564 bool success = default(bool);1565 try1566 {1567 success = Enumerable.All<UiActionResult>(await new ActionRunner(_session, new DiffAction[1] { diffAction }).RunAsync(ct).ConfigureAwait(false), (Func<UiActionResult, bool>)((UiActionResult a) => a.State == ActionState.Succeeded));1568 }1569 catch (object obj2)1570 {1571 obj = obj2;1572 }1573 await _session.RollbackTransactionAsync(CancellationToken.None).ConfigureAwait(false);1574 object obj3 = obj;1575 if (obj3 != null)1576 {1577 ExceptionDispatchInfo.Capture((obj3 as System.Exception) ?? throw obj3).Throw();1578 }1579 return success;1580 }15811582 [Obsolete]1583 public System.Collections.Generic.IEnumerable<IUiAction> GetSplitActions()1584 {1585 return SyncActions.Do<System.Collections.Generic.IEnumerable<IUiAction>>([CompilerGenerated] () => GetSplitActionsAsync());1586 }15871588 [AsyncStateMachine(typeof(_003CCheckAsync_003Ed__26))]1589 public System.Threading.Tasks.Task CheckAsync(CancellationToken ct = default(CancellationToken))1590 {1591 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1592 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1593 //IL_0016: Unknown result type (might be due to invalid IL or missing references)1594 //IL_0017: Unknown result type (might be due to invalid IL or missing references)1595 _003CCheckAsync_003Ed__26 _003CCheckAsync_003Ed__ = default(_003CCheckAsync_003Ed__26);1596 _003CCheckAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1597 _003CCheckAsync_003Ed__._003C_003E4__this = this;1598 _003CCheckAsync_003Ed__.ct = ct;1599 _003CCheckAsync_003Ed__._003C_003E1__state = -1;1600 ((AsyncTaskMethodBuilder)(ref _003CCheckAsync_003Ed__._003C_003Et__builder)).Start<_003CCheckAsync_003Ed__26>(ref _003CCheckAsync_003Ed__);1601 return ((AsyncTaskMethodBuilder)(ref _003CCheckAsync_003Ed__._003C_003Et__builder)).Task;1602 }16031604 [AsyncStateMachine(typeof(_003CGetSplitActionsAsync_003Ed__27))]1605 public async System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<IUiAction>> GetSplitActionsAsync(CancellationToken ct = default(CancellationToken))1606 {1607 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1608 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1609 //IL_0016: Unknown result type (might be due to invalid IL or missing references)1610 //IL_0017: Unknown result type (might be due to invalid IL or missing references)1611 List<IUiAction> list = Enumerable.ToList<IUiAction>((System.Collections.Generic.IEnumerable<IUiAction>)_baseActions);1612 System.Collections.Generic.IEnumerator<IRoleSplitItem> enumerator = SplitItems.GetEnumerator();1613 try1614 {1615 while (((System.Collections.IEnumerator)enumerator).MoveNext())1616 {1617 IRoleSplitItem current = enumerator.Current;1618 List<IUiAction> val = list;1619 val.AddRange(await current.GetSplitActionsAsync(_session, ct).ConfigureAwait(false));1620 }1621 }1622 finally1623 {1624 ((System.IDisposable)enumerator)?.Dispose();1625 }1626 return (System.Collections.Generic.IEnumerable<IUiAction>)list;1627 }16281629 [AsyncStateMachine(typeof(_003CConfigureAssignmentSplitItemsAsync_003Ed__28))]1630 private System.Threading.Tasks.Task ConfigureAssignmentSplitItemsAsync(ISession session, DbObjectKey newRoleKey, CancellationToken ct)1631 {1632 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1633 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1634 //IL_0026: Unknown result type (might be due to invalid IL or missing references)1635 //IL_0027: Unknown result type (might be due to invalid IL or missing references)1636 _003CConfigureAssignmentSplitItemsAsync_003Ed__28 _003CConfigureAssignmentSplitItemsAsync_003Ed__ = default(_003CConfigureAssignmentSplitItemsAsync_003Ed__28);1637 _003CConfigureAssignmentSplitItemsAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1638 _003CConfigureAssignmentSplitItemsAsync_003Ed__._003C_003E4__this = this;1639 _003CConfigureAssignmentSplitItemsAsync_003Ed__.session = session;1640 _003CConfigureAssignmentSplitItemsAsync_003Ed__.newRoleKey = newRoleKey;1641 _003CConfigureAssignmentSplitItemsAsync_003Ed__.ct = ct;1642 _003CConfigureAssignmentSplitItemsAsync_003Ed__._003C_003E1__state = -1;1643 ((AsyncTaskMethodBuilder)(ref _003CConfigureAssignmentSplitItemsAsync_003Ed__._003C_003Et__builder)).Start<_003CConfigureAssignmentSplitItemsAsync_003Ed__28>(ref _003CConfigureAssignmentSplitItemsAsync_003Ed__);1644 return ((AsyncTaskMethodBuilder)(ref _003CConfigureAssignmentSplitItemsAsync_003Ed__._003C_003Et__builder)).Task;1645 }16461647 [AsyncStateMachine(typeof(_003CGetSingleAssignmentActionsAsync_003Ed__29))]1648 private System.Threading.Tasks.Task GetSingleAssignmentActionsAsync(DbObjectKey newRoleKey, RoleObjectAssign elem, AssignmentHelper assignHelper, DelegationHelper helper, IDictionary<string, AssignTableInfo> asgnTablesTarget, System.Collections.Generic.ICollection<IRoleSplitItem> splitItems, IDictionary<string, AsyncLazy<bool>> canAssignCache, CancellationToken ct)1649 {1650 //IL_0002: Unknown result type (might be due to invalid IL or missing references)1651 //IL_0007: Unknown result type (might be due to invalid IL or missing references)1652 //IL_0052: Unknown result type (might be due to invalid IL or missing references)1653 //IL_0054: Unknown result type (might be due to invalid IL or missing references)1654 _003CGetSingleAssignmentActionsAsync_003Ed__29 _003CGetSingleAssignmentActionsAsync_003Ed__ = default(_003CGetSingleAssignmentActionsAsync_003Ed__29);1655 _003CGetSingleAssignmentActionsAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1656 _003CGetSingleAssignmentActionsAsync_003Ed__._003C_003E4__this = this;1657 _003CGetSingleAssignmentActionsAsync_003Ed__.newRoleKey = newRoleKey;1658 _003CGetSingleAssignmentActionsAsync_003Ed__.elem = elem;1659 _003CGetSingleAssignmentActionsAsync_003Ed__.assignHelper = assignHelper;1660 _003CGetSingleAssignmentActionsAsync_003Ed__.helper = helper;1661 _003CGetSingleAssignmentActionsAsync_003Ed__.asgnTablesTarget = asgnTablesTarget;1662 _003CGetSingleAssignmentActionsAsync_003Ed__.splitItems = splitItems;1663 _003CGetSingleAssignmentActionsAsync_003Ed__.canAssignCache = canAssignCache;1664 _003CGetSingleAssignmentActionsAsync_003Ed__.ct = ct;1665 _003CGetSingleAssignmentActionsAsync_003Ed__._003C_003E1__state = -1;1666 ((AsyncTaskMethodBuilder)(ref _003CGetSingleAssignmentActionsAsync_003Ed__._003C_003Et__builder)).Start<_003CGetSingleAssignmentActionsAsync_003Ed__29>(ref _003CGetSingleAssignmentActionsAsync_003Ed__);1667 return ((AsyncTaskMethodBuilder)(ref _003CGetSingleAssignmentActionsAsync_003Ed__._003C_003Et__builder)).Task;1668 }1669}1670