Back to OIM Explorer

QER.CompositionApi/QER.CompositionApi.Role/RoleSplit.cs

Decompiler Source FileQER.CompositionApi.RoleSplitDecompiled Source

2 extracted method/event/call references in RoleSplit.

Source: F:\Claude\.tmp\oim-decompiled-full\0989_One_Identity_Manager_QER.CompositionApi.dll\QER.CompositionApi.Role\RoleSplit.cs

Source size: 75.228 characters

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_1

OIM key/entity markers

ObjectKeyBasetree UID_OrgRoot UID_PersonHead UID_PersonHeadSecond UID_AERoleManager

API/entity calls

GetValueAsync TryResult GetValue PutValue MetaData GetDisplayTolerantSingular From Source GetObjectKey

Registrations / handlers

None extracted.

Complete Source

C#1.670 lines
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