CPL.Customizer/CPL.Customizer/ComplianceRule.cs

Compact public source page. The previous oversized rendered HTML was archived outside the public site; this page keeps source-derived context plus a bounded excerpt for browsing/search.

original 0.68 MBcompact pageexcerpt 2 lines

Source-derived context

classes ComplianceRule; methods MoveNext, SetStateMachine, OnSavingAsync, OnWorkingCopySaving, OnRelationObjectSaving, OnWorkingCopySaved; references AERole, ComplianceArea, ComplianceRule, ComplianceRuleHasMControl, ComplianceRuleInArea, ComplianceSubRule; markers reads entity values, references DB/Dialog objects

Bounded excerpt

First lines from the rendered source block, bounded to keep the public page fast.

1using System;2using System.Collections;3using System.Collections.Generic;4using System.Diagnostics;5using System.Linq;6using System.Runtime.CompilerServices;7using System.Runtime.InteropServices;8using System.Text;9using System.Threading;10using System.Threading.Tasks;11using QER.Customizer;12using VI.Base;13using VI.DB;14using VI.DB.Entities;15using VI.DB.MetaData;1617namespace CPL.Customizer;1819public class ComplianceRule : WorkingCopyEntityLogic<ComplianceRuleFlags>20{21	[StructLayout((LayoutKind)3)]22	[CompilerGenerated]23	private struct _003CGetEditFlags_003Ed__20 : IAsyncStateMachine24	{25		public int _003C_003E1__state;2627		public AsyncTaskMethodBuilder<ComplianceRuleFlags> _003C_003Et__builder;2829		public IEntity e;3031		public ISession s;3233		private ComplianceRuleFlags _003CefReturn_003E5__2;3435		private ConfiguredValueTaskAwaiter<bool> _003C_003Eu__1;3637		private void MoveNext()38		{39			//IL_0082: Unknown result type (might be due to invalid IL or missing references)40			//IL_0087: Unknown result type (might be due to invalid IL or missing references)41			//IL_008e: Unknown result type (might be due to invalid IL or missing references)42			//IL_010e: Unknown result type (might be due to invalid IL or missing references)43			//IL_0113: Unknown result type (might be due to invalid IL or missing references)44			//IL_011a: Unknown result type (might be due to invalid IL or missing references)45			//IL_019a: Unknown result type (might be due to invalid IL or missing references)46			//IL_019f: Unknown result type (might be due to invalid IL or missing references)47			//IL_01a6: Unknown result type (might be due to invalid IL or missing references)48			//IL_0226: Unknown result type (might be due to invalid IL or missing references)49			//IL_022b: Unknown result type (might be due to invalid IL or missing references)50			//IL_0232: Unknown result type (might be due to invalid IL or missing references)51			//IL_02b2: Unknown result type (might be due to invalid IL or missing references)52			//IL_02b7: Unknown result type (might be due to invalid IL or missing references)53			//IL_02be: Unknown result type (might be due to invalid IL or missing references)54			//IL_0035: Unknown result type (might be due to invalid IL or missing references)55			//IL_003b: Unknown result type (might be due to invalid IL or missing references)56			//IL_0046: Unknown result type (might be due to invalid IL or missing references)57			//IL_004b: Unknown result type (might be due to invalid IL or missing references)58			//IL_004f: Unknown result type (might be due to invalid IL or missing references)59			//IL_0054: Unknown result type (might be due to invalid IL or missing references)60			//IL_0068: Unknown result type (might be due to invalid IL or missing references)61			//IL_0069: Unknown result type (might be due to invalid IL or missing references)62			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)63			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)64			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)65			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)66			//IL_00db: Unknown result type (might be due to invalid IL or missing references)67			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)68			//IL_014d: Unknown result type (might be due to invalid IL or missing references)69			//IL_0153: Unknown result type (might be due to invalid IL or missing references)70			//IL_015e: Unknown result type (might be due to invalid IL or missing references)71			//IL_0163: Unknown result type (might be due to invalid IL or missing references)72			//IL_0167: Unknown result type (might be due to invalid IL or missing references)73			//IL_016c: Unknown result type (might be due to invalid IL or missing references)74			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)75			//IL_01df: Unknown result type (might be due to invalid IL or missing references)76			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)77			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)78			//IL_01f3: Unknown result type (might be due to invalid IL or missing references)79			//IL_01f8: Unknown result type (might be due to invalid IL or missing references)80			//IL_0265: Unknown result type (might be due to invalid IL or missing references)81			//IL_026b: Unknown result type (might be due to invalid IL or missing references)82			//IL_0276: Unknown result type (might be due to invalid IL or missing references)83			//IL_027b: Unknown result type (might be due to invalid IL or missing references)84			//IL_027f: Unknown result type (might be due to invalid IL or missing references)85			//IL_0284: Unknown result type (might be due to invalid IL or missing references)86			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)87			//IL_00f5: Unknown result type (might be due to invalid IL or missing references)88			//IL_0180: Unknown result type (might be due to invalid IL or missing references)89			//IL_0181: Unknown result type (might be due to invalid IL or missing references)90			//IL_020c: Unknown result type (might be due to invalid IL or missing references)91			//IL_020d: Unknown result type (might be due to invalid IL or missing references)92			//IL_0298: Unknown result type (might be due to invalid IL or missing references)93			//IL_0299: Unknown result type (might be due to invalid IL or missing references)94			int num = _003C_003E1__state;95			ComplianceRuleFlags result;96			try97			{98				ConfiguredValueTaskAwaiter<bool> val;99				switch (num)100				{101				default:102					_003CefReturn_003E5__2 = ComplianceRuleFlags.None;103					val = TryGetValue<bool>(e, "IsWorkingCopy").ConfigureAwait(false).GetAwaiter();104					if (!val.IsCompleted)105					{106						num = (_003C_003E1__state = 0);107						_003C_003Eu__1 = val;108						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003CGetEditFlags_003Ed__20>(ref val, ref this);109						return;110					}111					goto IL_009d;112				case 0:113					val = _003C_003Eu__1;114					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<bool>);115					num = (_003C_003E1__state = -1);116					goto IL_009d;117				case 1:118					val = _003C_003Eu__1;119					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<bool>);120					num = (_003C_003E1__state = -1);121					goto IL_0129;122				case 2:123					val = _003C_003Eu__1;124					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<bool>);125					num = (_003C_003E1__state = -1);126					goto IL_01b5;127				case 3:128					val = _003C_003Eu__1;129					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<bool>);130					num = (_003C_003E1__state = -1);131					goto IL_0241;132				case 4:133					{134						val = _003C_003Eu__1;135						_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<bool>);136						num = (_003C_003E1__state = -1);137						break;138					}139					IL_0241:140					if (val.GetResult())141					{142						_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsSimpleMode;143					}144					val = TryGetValue<bool>(e, "IsExceptionAllowed").ConfigureAwait(false).GetAwaiter();145					if (!val.IsCompleted)146					{147						num = (_003C_003E1__state = 4);148						_003C_003Eu__1 = val;149						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003CGetEditFlags_003Ed__20>(ref val, ref this);150						return;151					}152					break;153					IL_009d:154					if (val.GetResult())155					{156						_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsWorkingCopy;157					}158					val = TryGetValue<bool>(e, "IsCurrentOrderOnly").ConfigureAwait(false).GetAwaiter();159					if (!val.IsCompleted)160					{161						num = (_003C_003E1__state = 1);162						_003C_003Eu__1 = val;163						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003CGetEditFlags_003Ed__20>(ref val, ref this);164						return;165					}166					goto IL_0129;167					IL_01b5:168					if (val.GetResult())169					{170						_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsToGrantEver;171					}172					val = TryGetValue<bool>(e, "IsSimpleMode").ConfigureAwait(false).GetAwaiter();173					if (!val.IsCompleted)174					{175						num = (_003C_003E1__state = 3);176						_003C_003Eu__1 = val;177						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003CGetEditFlags_003Ed__20>(ref val, ref this);178						return;179					}180					goto IL_0241;181					IL_0129:182					if (val.GetResult())183					{184						_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsCurrentOrderOnly;185					}186					val = TryGetValue<bool>(e, "IsToGrantEver").ConfigureAwait(false).GetAwaiter();187					if (!val.IsCompleted)188					{189						num = (_003C_003E1__state = 2);190						_003C_003Eu__1 = val;191						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003CGetEditFlags_003Ed__20>(ref val, ref this);192						return;193					}194					goto IL_01b5;195				}196				if (val.GetResult())197				{198					_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsExceptionAllowed;199				}200				if (s.User().IsAdministrativeAccount)201				{202					_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsAdminAccount;203				}204				if (e.IsLoaded)205				{206					_003CefReturn_003E5__2 |= ComplianceRuleFlags.IsLoaded;207				}208				result = _003CefReturn_003E5__2;209			}210			catch (System.Exception exception)211			{212				_003C_003E1__state = -2;213				_003C_003Et__builder.SetException(exception);214				return;215			}216			_003C_003E1__state = -2;217			_003C_003Et__builder.SetResult(result);218		}219220		[DebuggerHidden]221		private void SetStateMachine(IAsyncStateMachine stateMachine)222		{223			_003C_003Et__builder.SetStateMachine(stateMachine);224		}225	}226227	[StructLayout((LayoutKind)3)]228	[CompilerGenerated]229	private struct _003CIsSimpleMode_003Ed__22 : IAsyncStateMachine230	{231		public int _003C_003E1__state;232233		public AsyncValueTaskMethodBuilder<bool> _003C_003Et__builder;234235		public LogicParameter lp;236237		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__1;238239		private void MoveNext()240		{241			//IL_006b: Unknown result type (might be due to invalid IL or missing references)242			//IL_0070: Unknown result type (might be due to invalid IL or missing references)243			//IL_0077: Unknown result type (might be due to invalid IL or missing references)244			//IL_0025: Unknown result type (might be due to invalid IL or missing references)245			//IL_0030: Unknown result type (might be due to invalid IL or missing references)246			//IL_0035: Unknown result type (might be due to invalid IL or missing references)247			//IL_0038: Unknown result type (might be due to invalid IL or missing references)248			//IL_003d: Unknown result type (might be due to invalid IL or missing references)249			//IL_0051: Unknown result type (might be due to invalid IL or missing references)250			//IL_0052: Unknown result type (might be due to invalid IL or missing references)251			int num = _003C_003E1__state;252			bool result;253			try254			{255				ConfiguredTaskAwaiter<IMetaTable> val;256				if (num != 0)257				{258					val = lp.Session.MetaData().GetTableAsync("ComplianceRule", lp.CancellationToken).ConfigureAwait(false)259						.GetAwaiter();260					if (!val.IsCompleted)261					{262						num = (_003C_003E1__state = 0);263						_003C_003Eu__1 = val;264						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CIsSimpleMode_003Ed__22>(ref val, ref this);265						return;266					}267				}268				else269				{270					val = _003C_003Eu__1;271					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IMetaTable>);272					num = (_003C_003E1__state = -1);273				}274				result = val.GetResult().Columns["IsSimpleMode"].Enabled && lp.Entity.GetValue<bool>("IsSimpleMode");275			}276			catch (System.Exception exception)277			{278				_003C_003E1__state = -2;279				_003C_003Et__builder.SetException(exception);280				return;281			}282			_003C_003E1__state = -2;283			_003C_003Et__builder.SetResult(result);284		}285286		[DebuggerHidden]287		private void SetStateMachine(IAsyncStateMachine stateMachine)288		{289			_003C_003Et__builder.SetStateMachine(stateMachine);290		}291	}292293	[StructLayout((LayoutKind)3)]294	[CompilerGenerated]295	private struct _003COnActiveCopySaved_003Ed__7 : IAsyncStateMachine296	{297		public int _003C_003E1__state;298299		public AsyncTaskMethodBuilder _003C_003Et__builder;300301		public ComplianceRule _003C_003E4__this;302303		public LogicParameter lp;304305		public IEntity eActive;306307		private System.IDisposable _003C_003E7__wrap1;308309		private IMetaTableRelations _003CmRels_003E5__3;310311		private IMetaTableRelation _003CmRelSubRule_003E5__4;312313		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__1;314315		private ConfiguredTaskAwaiter<IMetaTableRelations> _003C_003Eu__2;316317		private ConfiguredValueTaskAwaiter<bool> _003C_003Eu__3;318319		private ConfiguredTaskAwaiter _003C_003Eu__4;320321		private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__5;322323		private void MoveNext()324		{325			//IL_0488: Unknown result type (might be due to invalid IL or missing references)326			//IL_048d: Unknown result type (might be due to invalid IL or missing references)327			//IL_0495: Unknown result type (might be due to invalid IL or missing references)328			//IL_0533: Unknown result type (might be due to invalid IL or missing references)329			//IL_0538: Unknown result type (might be due to invalid IL or missing references)330			//IL_0540: Unknown result type (might be due to invalid IL or missing references)331			//IL_05b4: Unknown result type (might be due to invalid IL or missing references)332			//IL_05b9: Unknown result type (might be due to invalid IL or missing references)333			//IL_05c1: Unknown result type (might be due to invalid IL or missing references)334			//IL_0626: Unknown result type (might be due to invalid IL or missing references)335			//IL_062b: Unknown result type (might be due to invalid IL or missing references)336			//IL_0633: Unknown result type (might be due to invalid IL or missing references)337			//IL_056b: Unknown result type (might be due to invalid IL or missing references)338			//IL_0576: Unknown result type (might be due to invalid IL or missing references)339			//IL_057b: Unknown result type (might be due to invalid IL or missing references)340			//IL_057f: Unknown result type (might be due to invalid IL or missing references)341			//IL_0584: Unknown result type (might be due to invalid IL or missing references)342			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)343			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)344			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)345			//IL_013c: Unknown result type (might be due to invalid IL or missing references)346			//IL_0141: Unknown result type (might be due to invalid IL or missing references)347			//IL_0149: Unknown result type (might be due to invalid IL or missing references)348			//IL_01e7: Unknown result type (might be due to invalid IL or missing references)349			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)350			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)351			//IL_027c: Unknown result type (might be due to invalid IL or missing references)352			//IL_0281: Unknown result type (might be due to invalid IL or missing references)353			//IL_0289: Unknown result type (might be due to invalid IL or missing references)354			//IL_0332: Unknown result type (might be due to invalid IL or missing references)355			//IL_0337: Unknown result type (might be due to invalid IL or missing references)356			//IL_033f: Unknown result type (might be due to invalid IL or missing references)357			//IL_03e8: Unknown result type (might be due to invalid IL or missing references)358			//IL_03ed: Unknown result type (might be due to invalid IL or missing references)359			//IL_03f5: Unknown result type (might be due to invalid IL or missing references)360			//IL_007e: Unknown result type (might be due to invalid IL or missing references)361			//IL_0084: Unknown result type (might be due to invalid IL or missing references)362			//IL_008c: Unknown result type (might be due to invalid IL or missing references)363			//IL_0091: Unknown result type (might be due to invalid IL or missing references)364			//IL_0095: Unknown result type (might be due to invalid IL or missing references)365			//IL_009a: Unknown result type (might be due to invalid IL or missing references)366			//IL_05ea: Unknown result type (might be due to invalid IL or missing references)367			//IL_05ef: Unknown result type (might be due to invalid IL or missing references)368			//IL_05f3: Unknown result type (might be due to invalid IL or missing references)369			//IL_05f8: Unknown result type (might be due to invalid IL or missing references)370			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)371			//IL_04f5: Unknown result type (might be due to invalid IL or missing references)372			//IL_04fa: Unknown result type (might be due to invalid IL or missing references)373			//IL_04fe: Unknown result type (might be due to invalid IL or missing references)374			//IL_0503: Unknown result type (might be due to invalid IL or missing references)375			//IL_0599: Unknown result type (might be due to invalid IL or missing references)376			//IL_059b: Unknown result type (might be due to invalid IL or missing references)377			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)378			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)379			//IL_0103: Unknown result type (might be due to invalid IL or missing references)380			//IL_0107: Unknown result type (might be due to invalid IL or missing references)381			//IL_010c: Unknown result type (might be due to invalid IL or missing references)382			//IL_00af: Unknown result type (might be due to invalid IL or missing references)383			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)384			//IL_060e: Unknown result type (might be due to invalid IL or missing references)385			//IL_0610: Unknown result type (might be due to invalid IL or missing references)386			//IL_0518: Unknown result type (might be due to invalid IL or missing references)387			//IL_051a: Unknown result type (might be due to invalid IL or missing references)388			//IL_0121: Unknown result type (might be due to invalid IL or missing references)389			//IL_0123: Unknown result type (might be due to invalid IL or missing references)390			//IL_01a9: Unknown result type (might be due to invalid IL or missing references)391			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)392			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)393			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)394			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)395			//IL_01ce: Unknown result type (might be due to invalid IL or missing references)396			//IL_023e: Unknown result type (might be due to invalid IL or missing references)397			//IL_0243: Unknown result type (might be due to invalid IL or missing references)398			//IL_0247: Unknown result type (might be due to invalid IL or missing references)399			//IL_024c: Unknown result type (might be due to invalid IL or missing references)400			//IL_044a: Unknown result type (might be due to invalid IL or missing references)401			//IL_044f: Unknown result type (might be due to invalid IL or missing references)402			//IL_0453: Unknown result type (might be due to invalid IL or missing references)403			//IL_0458: Unknown result type (might be due to invalid IL or missing references)404			//IL_02f4: Unknown result type (might be due to invalid IL or missing references)405			//IL_02f9: Unknown result type (might be due to invalid IL or missing references)406			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)407			//IL_0302: Unknown result type (might be due to invalid IL or missing references)408			//IL_0261: Unknown result type (might be due to invalid IL or missing references)409			//IL_0263: Unknown result type (might be due to invalid IL or missing references)410			//IL_03aa: Unknown result type (might be due to invalid IL or missing references)411			//IL_03af: Unknown result type (might be due to invalid IL or missing references)412			//IL_03b3: Unknown result type (might be due to invalid IL or missing references)413			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)414			//IL_046d: Unknown result type (might be due to invalid IL or missing references)415			//IL_046f: Unknown result type (might be due to invalid IL or missing references)416			//IL_0317: Unknown result type (might be due to invalid IL or missing references)417			//IL_0319: Unknown result type (might be due to invalid IL or missing references)418			//IL_03cd: Unknown result type (might be due to invalid IL or missing references)419			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)420			int num = _003C_003E1__state;421			ComplianceRule complianceRule = _003C_003E4__this;422			try423			{424				ConfiguredTaskAwaiter val;425				ConfiguredTaskAwaitable val6;426				ConfiguredValueTaskAwaiter<bool> val3;427				ConfiguredTaskAwaiter<IEntity> val2;428				IEntity result2;429				switch (num)430				{431				default:432					_003C_003E7__wrap1 = complianceRule.StartInternalProcess();433					goto case 0;434				case 0:435				case 1:436				case 2:437				case 3:438				case 4:439				case 5:440					try441					{442						ConfiguredTaskAwaiter<IMetaTable> val5;443						ConfiguredTaskAwaiter<IMetaTableRelations> val4;444						IMetaTableRelations result;445						IMetaTableRelation metaTableRelation;446						IMetaTableRelation metaTableRelation2;447						switch (num)448						{449						default:450							val5 = lp.Session.MetaData().GetTableAsync("ComplianceRule").ConfigureAwait(false)451								.GetAwaiter();452							if (!val5.IsCompleted)453							{454								num = (_003C_003E1__state = 0);455								_003C_003Eu__1 = val5;456								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003COnActiveCopySaved_003Ed__7>(ref val5, ref this);457								return;458							}459							goto IL_00e6;460						case 0:461							val5 = _003C_003Eu__1;462							_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IMetaTable>);463							num = (_003C_003E1__state = -1);464							goto IL_00e6;465						case 1:466							val4 = _003C_003Eu__2;467							_003C_003Eu__2 = default(ConfiguredTaskAwaiter<IMetaTableRelations>);468							num = (_003C_003E1__state = -1);469							goto IL_0158;470						case 2:471							val3 = _003C_003Eu__3;472							_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<bool>);473							num = (_003C_003E1__state = -1);474							goto IL_0203;475						case 3:476							val = _003C_003Eu__4;477							_003C_003Eu__4 = default(ConfiguredTaskAwaiter);478							num = (_003C_003E1__state = -1);479							goto IL_0298;480						case 4:481							val = _003C_003Eu__4;482							_003C_003Eu__4 = default(ConfiguredTaskAwaiter);483							num = (_003C_003E1__state = -1);484							goto IL_034e;485						case 5:486							{487								val = _003C_003Eu__4;488								_003C_003Eu__4 = default(ConfiguredTaskAwaiter);489								num = (_003C_003E1__state = -1);490								goto IL_0404;491							}492							IL_034e:493							((ConfiguredTaskAwaiter)(ref val)).GetResult();494							goto IL_0355;495							IL_00e6:496							val4 = val5.GetResult().GetChildRelationsAsync(lp.CancellationToken).ConfigureAwait(false)497								.GetAwaiter();498							if (!val4.IsCompleted)499							{500								num = (_003C_003E1__state = 1);501								_003C_003Eu__2 = val4;502								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTableRelations>, _003COnActiveCopySaved_003Ed__7>(ref val4, ref this);503								return;504							}505							goto IL_0158;506							IL_0404:507							((ConfiguredTaskAwaiter)(ref val)).GetResult();508							break;509							IL_0158:510							result = val4.GetResult();511							_003CmRels_003E5__3 = result;512							_003CmRelSubRule_003E5__4 = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceSubRule"));513							val3 = IsSimpleMode(lp).ConfigureAwait(false).GetAwaiter();514							if (!val3.IsCompleted)515							{516								num = (_003C_003E1__state = 2);517								_003C_003Eu__3 = val3;518								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003COnActiveCopySaved_003Ed__7>(ref val3, ref this);519								return;520							}521							goto IL_0203;522							IL_0298:523							((ConfiguredTaskAwaiter)(ref val)).GetResult();524							goto IL_029f;525							IL_0355:526							metaTableRelation = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceRuleHasMControl"));527							if (metaTableRelation == null)528							{529								break;530							}531							val6 = complianceRule.CopyMN(metaTableRelation, "UID_MitigatingControl", lp.Entity, eActive, lp).ConfigureAwait(false);532							val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();533							if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)534							{535								num = (_003C_003E1__state = 5);536								_003C_003Eu__4 = val;537								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaved_003Ed__7>(ref val, ref this);538								return;539							}540							goto IL_0404;541							IL_029f:542							metaTableRelation2 = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceRuleInArea"));543							if (metaTableRelation2 != null)544							{545								val6 = complianceRule.CopyMN(metaTableRelation2, "UID_ComplianceArea", lp.Entity, eActive, lp).ConfigureAwait(false);546								val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();547								if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)548								{549									num = (_003C_003E1__state = 4);550									_003C_003Eu__4 = val;551									((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaved_003Ed__7>(ref val, ref this);552									return;553								}554								goto IL_034e;555							}556							goto IL_0355;557							IL_0203:558							if (val3.GetResult() && _003CmRelSubRule_003E5__4 != null)559							{560								val6 = complianceRule.CopyCR(_003CmRelSubRule_003E5__4, lp.Entity, eActive, lp).ConfigureAwait(false);561								val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();562								if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)563								{564									num = (_003C_003E1__state = 3);565									_003C_003Eu__4 = val;566									((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaved_003Ed__7>(ref val, ref this);567									return;568								}569								goto IL_0298;570							}571							goto IL_029f;572						}573						_003CmRels_003E5__3 = null;574						_003CmRelSubRule_003E5__4 = null;575					}576					finally577					{578						if (num < 0 && _003C_003E7__wrap1 != null)579						{580							_003C_003E7__wrap1.Dispose();581						}582					}583					_003C_003E7__wrap1 = null;584					val3 = IsSimpleMode(lp).ConfigureAwait(false).GetAwaiter();585					if (!val3.IsCompleted)586					{587						num = (_003C_003E1__state = 6);588						_003C_003Eu__3 = val3;589						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003COnActiveCopySaved_003Ed__7>(ref val3, ref this);590						return;591					}592					goto IL_04a4;593				case 6:594					val3 = _003C_003Eu__3;595					_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<bool>);596					num = (_003C_003E1__state = -1);597					goto IL_04a4;598				case 7:599					val2 = _003C_003Eu__5;600					_003C_003Eu__5 = default(ConfiguredTaskAwaiter<IEntity>);601					num = (_003C_003E1__state = -1);602					goto IL_054f;603				case 8:604					val = _003C_003Eu__4;605					_003C_003Eu__4 = default(ConfiguredTaskAwaiter);606					num = (_003C_003E1__state = -1);607					goto IL_05d0;608				case 9:609					{610						val = _003C_003Eu__4;611						_003C_003Eu__4 = default(ConfiguredTaskAwaiter);612						num = (_003C_003E1__state = -1);613						break;614					}615					IL_05d0:616					((ConfiguredTaskAwaiter)(ref val)).GetResult();617					goto IL_05d7;618					IL_054f:619					result2 = val2.GetResult();620					val6 = lp.UnitOfWork.PutAsync(result2, lp.CancellationToken).ConfigureAwait(false);621					val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();622					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)623					{624						num = (_003C_003E1__state = 8);625						_003C_003Eu__4 = val;626						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaved_003Ed__7>(ref val, ref this);627						return;628					}629					goto IL_05d0;630					IL_04a4:631					if (val3.GetResult())632					{633						DbObjectKey objectKey = DbObjectKey.GetObjectKey("ComplianceRule", lp.Entity.GetValue<string>("UID_ComplianceRule"));634						val2 = lp.Session.Source().GetAsync(objectKey, EntityLoadType.DelayedLogic, lp.CancellationToken).ConfigureAwait(false)635							.GetAwaiter();636						if (!val2.IsCompleted)637						{638							num = (_003C_003E1__state = 7);639							_003C_003Eu__5 = val2;640							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003COnActiveCopySaved_003Ed__7>(ref val2, ref this);641							return;642						}643						goto IL_054f;644					}645					goto IL_05d7;646					IL_05d7:647					val6 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnActiveCopySaved(eActive, lp).ConfigureAwait(false);648					val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();649					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)650					{651						num = (_003C_003E1__state = 9);652						_003C_003Eu__4 = val;653						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaved_003Ed__7>(ref val, ref this);654						return;655					}656					break;657				}658				((ConfiguredTaskAwaiter)(ref val)).GetResult();659			}660			catch (System.Exception exception)661			{662				_003C_003E1__state = -2;663				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);664				return;665			}666			_003C_003E1__state = -2;667			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();668		}669670		[DebuggerHidden]671		private void SetStateMachine(IAsyncStateMachine stateMachine)672		{673			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);674		}675	}676677	[StructLayout((LayoutKind)3)]678	[CompilerGenerated]679	private struct _003COnActiveCopySaving_003Ed__6 : IAsyncStateMachine680	{681		public int _003C_003E1__state;682683		public AsyncTaskMethodBuilder _003C_003Et__builder;684685		public ComplianceRule _003C_003E4__this;686687		public IEntity eActive;688689		public LogicParameter lp;690691		private ConfiguredTaskAwaiter _003C_003Eu__1;692693		private void MoveNext()694		{695			//IL_0066: Unknown result type (might be due to invalid IL or missing references)696			//IL_006b: Unknown result type (might be due to invalid IL or missing references)697			//IL_0072: Unknown result type (might be due to invalid IL or missing references)698			//IL_009b: Unknown result type (might be due to invalid IL or missing references)699			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)700			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)701			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)702			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)703			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)704			//IL_00df: Unknown result type (might be due to invalid IL or missing references)705			//IL_002b: Unknown result type (might be due to invalid IL or missing references)706			//IL_0030: Unknown result type (might be due to invalid IL or missing references)707			//IL_0033: Unknown result type (might be due to invalid IL or missing references)708			//IL_0038: Unknown result type (might be due to invalid IL or missing references)709			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)710			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)711			//IL_004c: Unknown result type (might be due to invalid IL or missing references)712			//IL_004d: Unknown result type (might be due to invalid IL or missing references)713			int num = _003C_003E1__state;714			ComplianceRule complianceRule = _003C_003E4__this;715			try716			{717				ConfiguredTaskAwaiter val;718				ConfiguredTaskAwaitable val2;719				if (num != 0)720				{721					if (num == 1)722					{723						val = _003C_003Eu__1;724						_003C_003Eu__1 = default(ConfiguredTaskAwaiter);725						num = (_003C_003E1__state = -1);726						goto IL_00ee;727					}728					val2 = complianceRule._ClearSubRules(eActive, lp).ConfigureAwait(false);729					val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();730					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)731					{732						num = (_003C_003E1__state = 0);733						_003C_003Eu__1 = val;734						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaving_003Ed__6>(ref val, ref this);735						return;736					}737				}738				else739				{740					val = _003C_003Eu__1;741					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);742					num = (_003C_003E1__state = -1);743				}744				((ConfiguredTaskAwaiter)(ref val)).GetResult();745				val2 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnActiveCopySaving(eActive, lp).ConfigureAwait(false);746				val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();747				if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)748				{749					num = (_003C_003E1__state = 1);750					_003C_003Eu__1 = val;751					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnActiveCopySaving_003Ed__6>(ref val, ref this);752					return;753				}754				goto IL_00ee;755				IL_00ee:756				((ConfiguredTaskAwaiter)(ref val)).GetResult();757			}758			catch (System.Exception exception)759			{760				_003C_003E1__state = -2;761				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);762				return;763			}764			_003C_003E1__state = -2;765			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();766		}767768		[DebuggerHidden]769		private void SetStateMachine(IAsyncStateMachine stateMachine)770		{771			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);772		}773	}774775	[StructLayout((LayoutKind)3)]776	[CompilerGenerated]777	private struct _003COnCopySaved_003Ed__9 : IAsyncStateMachine778	{779		public int _003C_003E1__state;780781		public AsyncTaskMethodBuilder _003C_003Et__builder;782783		public ComplianceRule _003C_003E4__this;784785		public IEntity eCopy;786787		public LogicParameter lp;788789		private ConfiguredTaskAwaiter _003C_003Eu__1;790791		private void MoveNext()792		{793			//IL_0066: Unknown result type (might be due to invalid IL or missing references)794			//IL_006b: Unknown result type (might be due to invalid IL or missing references)795			//IL_0072: Unknown result type (might be due to invalid IL or missing references)796			//IL_009b: Unknown result type (might be due to invalid IL or missing references)797			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)798			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)799			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)800			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)801			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)802			//IL_00df: Unknown result type (might be due to invalid IL or missing references)803			//IL_002b: Unknown result type (might be due to invalid IL or missing references)804			//IL_0030: Unknown result type (might be due to invalid IL or missing references)805			//IL_0033: Unknown result type (might be due to invalid IL or missing references)806			//IL_0038: Unknown result type (might be due to invalid IL or missing references)807			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)808			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)809			//IL_004c: Unknown result type (might be due to invalid IL or missing references)810			//IL_004d: Unknown result type (might be due to invalid IL or missing references)811			int num = _003C_003E1__state;812			ComplianceRule complianceRule = _003C_003E4__this;813			try814			{815				ConfiguredTaskAwaiter val;816				ConfiguredTaskAwaitable val2;817				if (num != 0)818				{819					if (num == 1)820					{821						val = _003C_003Eu__1;822						_003C_003Eu__1 = default(ConfiguredTaskAwaiter);823						num = (_003C_003E1__state = -1);824						goto IL_00ee;825					}826					val2 = complianceRule.OnActiveCopySaved(eCopy, lp).ConfigureAwait(false);827					val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();828					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)829					{830						num = (_003C_003E1__state = 0);831						_003C_003Eu__1 = val;832						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnCopySaved_003Ed__9>(ref val, ref this);833						return;834					}835				}836				else837				{838					val = _003C_003Eu__1;839					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);840					num = (_003C_003E1__state = -1);841				}842				((ConfiguredTaskAwaiter)(ref val)).GetResult();843				val2 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnCopySaved(eCopy, lp).ConfigureAwait(false);844				val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();845				if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)846				{847					num = (_003C_003E1__state = 1);848					_003C_003Eu__1 = val;849					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnCopySaved_003Ed__9>(ref val, ref this);850					return;851				}852				goto IL_00ee;853				IL_00ee:854				((ConfiguredTaskAwaiter)(ref val)).GetResult();855			}856			catch (System.Exception exception)857			{858				_003C_003E1__state = -2;859				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);860				return;861			}862			_003C_003E1__state = -2;863			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();864		}865866		[DebuggerHidden]867		private void SetStateMachine(IAsyncStateMachine stateMachine)868		{869			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);870		}871	}872873	[StructLayout((LayoutKind)3)]874	[CompilerGenerated]875	private struct _003COnCopySaving_003Ed__8 : IAsyncStateMachine876	{877		public int _003C_003E1__state;878879		public AsyncTaskMethodBuilder _003C_003Et__builder;880881		public ComplianceRule _003C_003E4__this;882883		public IEntity eCopy;884885		public LogicParameter lp;886887		private ConfiguredTaskAwaiter _003C_003Eu__1;888889		private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__2;890891		private void MoveNext()892		{893			//IL_006e: Unknown result type (might be due to invalid IL or missing references)894			//IL_0073: Unknown result type (might be due to invalid IL or missing references)895			//IL_007a: Unknown result type (might be due to invalid IL or missing references)896			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)897			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)898			//IL_00fb: Unknown result type (might be due to invalid IL or missing references)899			//IL_015d: Unknown result type (might be due to invalid IL or missing references)900			//IL_0162: Unknown result type (might be due to invalid IL or missing references)901			//IL_0169: Unknown result type (might be due to invalid IL or missing references)902			//IL_0033: Unknown result type (might be due to invalid IL or missing references)903			//IL_0038: Unknown result type (might be due to invalid IL or missing references)904			//IL_003b: Unknown result type (might be due to invalid IL or missing references)905			//IL_0040: Unknown result type (might be due to invalid IL or missing references)906			//IL_009e: Unknown result type (might be due to invalid IL or missing references)907			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)908			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)909			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)910			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)911			//IL_00be: Unknown result type (might be due to invalid IL or missing references)912			//IL_0125: Unknown result type (might be due to invalid IL or missing references)913			//IL_012a: Unknown result type (might be due to invalid IL or missing references)914			//IL_012d: Unknown result type (might be due to invalid IL or missing references)915			//IL_0132: Unknown result type (might be due to invalid IL or missing references)916			//IL_0054: Unknown result type (might be due to invalid IL or missing references)917			//IL_0055: Unknown result type (might be due to invalid IL or missing references)918			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)919			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)920			//IL_0146: Unknown result type (might be due to invalid IL or missing references)921			//IL_0147: Unknown result type (might be due to invalid IL or missing references)922			int num = _003C_003E1__state;923			ComplianceRule complianceRule = _003C_003E4__this;924			try925			{926				ConfiguredTaskAwaitable val3;927				ConfiguredTaskAwaiter val;928				ConfiguredValueTaskAwaiter<ApplyResult> val2;929				switch (num)930				{931				default:932					val3 = complianceRule.OnActiveCopySaving(eCopy, lp).ConfigureAwait(false);933					val = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();934					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)935					{936						num = (_003C_003E1__state = 0);937						_003C_003Eu__1 = val;938						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnCopySaving_003Ed__8>(ref val, ref this);939						return;940					}941					goto IL_0089;942				case 0:943					val = _003C_003Eu__1;944					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);945					num = (_003C_003E1__state = -1);946					goto IL_0089;947				case 1:948					val2 = _003C_003Eu__2;949					_003C_003Eu__2 = default(ConfiguredValueTaskAwaiter<ApplyResult>);950					num = (_003C_003E1__state = -1);951					goto IL_010a;952				case 2:953					{954						val = _003C_003Eu__1;955						_003C_003Eu__1 = default(ConfiguredTaskAwaiter);956						num = (_003C_003E1__state = -1);957						break;958					}959					IL_010a:960					val2.GetResult();961					val3 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnCopySaving(eCopy, lp).ConfigureAwait(false);962					val = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();963					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)964					{965						num = (_003C_003E1__state = 2);966						_003C_003Eu__1 = val;967						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnCopySaving_003Ed__8>(ref val, ref this);968						return;969					}970					break;971					IL_0089:972					((ConfiguredTaskAwaiter)(ref val)).GetResult();973					val2 = eCopy.PutValueAsync("UID_NonCompliance", null).ConfigureAwait(false).GetAwaiter();974					if (!val2.IsCompleted)975					{976						num = (_003C_003E1__state = 1);977						_003C_003Eu__2 = val2;978						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003COnCopySaving_003Ed__8>(ref val2, ref this);979						return;980					}981					goto IL_010a;982				}983				((ConfiguredTaskAwaiter)(ref val)).GetResult();984			}985			catch (System.Exception exception)986			{987				_003C_003E1__state = -2;988				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);989				return;990			}991			_003C_003E1__state = -2;992			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();993		}994995		[DebuggerHidden]996		private void SetStateMachine(IAsyncStateMachine stateMachine)997		{998			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);999		}1000	}10011002	[StructLayout((LayoutKind)3)]1003	[CompilerGenerated]1004	private struct _003COnRelationObjectSaving_003Ed__4 : IAsyncStateMachine1005	{1006		public int _003C_003E1__state;10071008		public AsyncTaskMethodBuilder _003C_003Et__builder;10091010		public LogicParameter lp;10111012		public IEntity eCopy;10131014		public IEntity eSource;10151016		public ComplianceRule _003C_003E4__this;10171018		private ConfiguredTaskAwaiter _003C_003Eu__1;10191020		private void MoveNext()1021		{1022			//IL_0125: Unknown result type (might be due to invalid IL or missing references)1023			//IL_012a: Unknown result type (might be due to invalid IL or missing references)1024			//IL_0132: Unknown result type (might be due to invalid IL or missing references)1025			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)1026			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)1027			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)1028			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)1029			//IL_010d: Unknown result type (might be due to invalid IL or missing references)1030			//IL_010f: Unknown result type (might be due to invalid IL or missing references)1031			int num = _003C_003E1__state;1032			ComplianceRule complianceRule = _003C_003E4__this;1033			try1034			{1035				ConfiguredTaskAwaiter val2;1036				if (num != 0)1037				{1038					ISqlFormatter sqlFormatter = lp.SqlFormatter;1039					string text = sqlFormatter.FormatUidValue(eCopy.GetValue("UID_ComplianceRule").String);1040					string text2 = sqlFormatter.FormatUidValue(eSource.GetValue("UID_ComplianceRule").String);1041					string text3 = sqlFormatter.FormatUidValue(eCopy.GetValue("UID_ComplianceSubRule").String);1042					string text4 = sqlFormatter.FormatUidValue(eSource.GetValue("UID_ComplianceSubRule").String);1043					string text5 = eSource.GetValue("WhereClause");1044					text5 = text5.Replace(text2, text);1045					text5 = text5.Replace(text4, text3);1046					eCopy.SetValue("WhereClause", text5);1047					ConfiguredTaskAwaitable val = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnRelationObjectSaving(eSource, eCopy, lp).ConfigureAwait(false);1048					val2 = ((ConfiguredTaskAwaitable)(ref val)).GetAwaiter();1049					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1050					{1051						num = (_003C_003E1__state = 0);1052						_003C_003Eu__1 = val2;1053						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnRelationObjectSaving_003Ed__4>(ref val2, ref this);1054						return;1055					}1056				}1057				else1058				{1059					val2 = _003C_003Eu__1;1060					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1061					num = (_003C_003E1__state = -1);1062				}1063				((ConfiguredTaskAwaiter)(ref val2)).GetResult();1064			}1065			catch (System.Exception exception)1066			{1067				_003C_003E1__state = -2;1068				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1069				return;1070			}1071			_003C_003E1__state = -2;1072			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1073		}10741075		[DebuggerHidden]1076		private void SetStateMachine(IAsyncStateMachine stateMachine)1077		{1078			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1079		}1080	}10811082	[StructLayout((LayoutKind)3)]1083	[CompilerGenerated]1084	private struct _003COnSavingAsync_003Ed__2 : IAsyncStateMachine1085	{1086		public int _003C_003E1__state;10871088		public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;10891090		public IEntity entity;10911092		public LogicReadWriteParameters parameters;10931094		public CancellationToken cancellationToken;10951096		public ComplianceRule _003C_003E4__this;10971098		private LogicParameter _003Clp_003E5__2;10991100		private ConfiguredTaskAwaiter _003C_003Eu__1;11011102		private ConfiguredTaskAwaiter<bool> _003C_003Eu__2;11031104		private ConfiguredTaskAwaiter<Diff> _003C_003Eu__3;11051106		private void MoveNext()1107		{1108			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)1109			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)1110			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)1111			//IL_012f: Unknown result type (might be due to invalid IL or missing references)1112			//IL_0134: Unknown result type (might be due to invalid IL or missing references)1113			//IL_013b: Unknown result type (might be due to invalid IL or missing references)1114			//IL_0199: Unknown result type (might be due to invalid IL or missing references)1115			//IL_019e: Unknown result type (might be due to invalid IL or missing references)1116			//IL_01a5: Unknown result type (might be due to invalid IL or missing references)1117			//IL_0205: Unknown result type (might be due to invalid IL or missing references)1118			//IL_020a: Unknown result type (might be due to invalid IL or missing references)1119			//IL_0212: Unknown result type (might be due to invalid IL or missing references)1120			//IL_0271: Unknown result type (might be due to invalid IL or missing references)1121			//IL_0276: Unknown result type (might be due to invalid IL or missing references)1122			//IL_027d: Unknown result type (might be due to invalid IL or missing references)1123			//IL_02dc: Unknown result type (might be due to invalid IL or missing references)1124			//IL_02e1: Unknown result type (might be due to invalid IL or missing references)1125			//IL_02e8: Unknown result type (might be due to invalid IL or missing references)1126			//IL_0359: Unknown result type (might be due to invalid IL or missing references)1127			//IL_035e: Unknown result type (might be due to invalid IL or missing references)1128			//IL_0366: Unknown result type (might be due to invalid IL or missing references)1129			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)1130			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)1131			//IL_00fc: Unknown result type (might be due to invalid IL or missing references)1132			//IL_0101: Unknown result type (might be due to invalid IL or missing references)1133			//IL_015d: Unknown result type (might be due to invalid IL or missing references)1134			//IL_0162: Unknown result type (might be due to invalid IL or missing references)1135			//IL_0166: Unknown result type (might be due to invalid IL or missing references)1136			//IL_016b: Unknown result type (might be due to invalid IL or missing references)1137			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)1138			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)1139			//IL_01d0: Unknown result type (might be due to invalid IL or missing references)1140			//IL_01d5: Unknown result type (might be due to invalid IL or missing references)1141			//IL_02a0: Unknown result type (might be due to invalid IL or missing references)1142			//IL_02a5: Unknown result type (might be due to invalid IL or missing references)1143			//IL_02a9: Unknown result type (might be due to invalid IL or missing references)1144			//IL_02ae: Unknown result type (might be due to invalid IL or missing references)1145			//IL_0313: Unknown result type (might be due to invalid IL or missing references)1146			//IL_031e: Unknown result type (might be due to invalid IL or missing references)1147			//IL_0323: Unknown result type (might be due to invalid IL or missing references)1148			//IL_0327: Unknown result type (might be due to invalid IL or missing references)1149			//IL_032c: Unknown result type (might be due to invalid IL or missing references)1150			//IL_0115: Unknown result type (might be due to invalid IL or missing references)1151			//IL_0116: Unknown result type (might be due to invalid IL or missing references)1152			//IL_017f: Unknown result type (might be due to invalid IL or missing references)1153			//IL_0180: Unknown result type (might be due to invalid IL or missing references)1154			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)1155			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)1156			//IL_0235: Unknown result type (might be due to invalid IL or missing references)1157			//IL_023a: Unknown result type (might be due to invalid IL or missing references)1158			//IL_023e: Unknown result type (might be due to invalid IL or missing references)1159			//IL_0243: Unknown result type (might be due to invalid IL or missing references)1160			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)1161			//IL_02c3: Unknown result type (might be due to invalid IL or missing references)1162			//IL_0341: Unknown result type (might be due to invalid IL or missing references)1163			//IL_0343: Unknown result type (might be due to invalid IL or missing references)1164			//IL_0063: Unknown result type (might be due to invalid IL or missing references)1165			//IL_0257: Unknown result type (might be due to invalid IL or missing references)1166			//IL_0258: Unknown result type (might be due to invalid IL or missing references)1167			//IL_0089: Unknown result type (might be due to invalid IL or missing references)1168			//IL_008e: Unknown result type (might be due to invalid IL or missing references)1169			//IL_0092: Unknown result type (might be due to invalid IL or missing references)1170			//IL_0097: Unknown result type (might be due to invalid IL or missing references)1171			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)1172			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)1173			int num = _003C_003E1__state;1174			ComplianceRule complianceRule = _003C_003E4__this;1175			Diff result;1176			try1177			{1178				ConfiguredTaskAwaitable val4;1179				ConfiguredTaskAwaiter val2;1180				ConfiguredTaskAwaiter<bool> val3;1181				ConfiguredTaskAwaiter<Diff> val;1182				switch (num)1183				{1184				default:1185					if (!entity.IsDeleted() && !parameters.Session.IsTransport())1186					{1187						_003Clp_003E5__2 = new LogicParameter(entity, parameters, cancellationToken);1188						if (!complianceRule.IsInternalProcess)1189						{1190							val4 = _Check_WhereClause(_003Clp_003E5__2).ConfigureAwait(false);1191							val2 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1192							if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1193							{1194								num = (_003C_003E1__state = 0);1195								_003C_003Eu__1 = val2;1196								_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val2, ref this);1197								return;1198							}1199							goto IL_00e0;1200						}1201						goto IL_0229;1202					}1203					goto IL_0305;1204				case 0:1205					val2 = _003C_003Eu__1;1206					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1207					num = (_003C_003E1__state = -1);1208					goto IL_00e0;1209				case 1:1210					val2 = _003C_003Eu__1;1211					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1212					num = (_003C_003E1__state = -1);1213					goto IL_014a;1214				case 2:1215					val2 = _003C_003Eu__1;1216					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1217					num = (_003C_003E1__state = -1);1218					goto IL_01b4;1219				case 3:1220					val3 = _003C_003Eu__2;1221					_003C_003Eu__2 = default(ConfiguredTaskAwaiter<bool>);1222					num = (_003C_003E1__state = -1);1223					goto IL_0221;1224				case 4:1225					val2 = _003C_003Eu__1;1226					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1227					num = (_003C_003E1__state = -1);1228					goto IL_028c;1229				case 5:1230					val2 = _003C_003Eu__1;1231					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1232					num = (_003C_003E1__state = -1);1233					goto IL_02f7;1234				case 6:1235					{1236						val = _003C_003Eu__3;1237						_003C_003Eu__3 = default(ConfiguredTaskAwaiter<Diff>);1238						num = (_003C_003E1__state = -1);1239						break;1240					}1241					IL_01b4:1242					((ConfiguredTaskAwaiter)(ref val2)).GetResult();1243					val3 = _Check_UID_NonCompliance(_003Clp_003E5__2).ConfigureAwait(false).GetAwaiter();1244					if (!val3.IsCompleted)1245					{1246						num = (_003C_003E1__state = 3);1247						_003C_003Eu__2 = val3;1248						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003COnSavingAsync_003Ed__2>(ref val3, ref this);1249						return;1250					}1251					goto IL_0221;1252					IL_0305:1253					val = ((StateBasedEntityLogic)complianceRule).OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false).GetAwaiter();1254					if (!val.IsCompleted)1255					{1256						num = (_003C_003E1__state = 6);1257						_003C_003Eu__3 = val;1258						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__2>(ref val, ref this);1259						return;1260					}1261					break;1262					IL_0221:1263					val3.GetResult();1264					goto IL_0229;1265					IL_0229:1266					val4 = _CreateOrUpdateNonCompliance(_003Clp_003E5__2).ConfigureAwait(false);1267					val2 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1268					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1269					{1270						num = (_003C_003E1__state = 4);1271						_003C_003Eu__1 = val2;1272						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val2, ref this);1273						return;1274					}1275					goto IL_028c;1276					IL_00e0:1277					((ConfiguredTaskAwaiter)(ref val2)).GetResult();1278					val4 = _Check_WhereClausePerson(_003Clp_003E5__2).ConfigureAwait(false);1279					val2 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1280					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1281					{1282						num = (_003C_003E1__state = 1);1283						_003C_003Eu__1 = val2;1284						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val2, ref this);1285						return;1286					}1287					goto IL_014a;1288					IL_02f7:1289					((ConfiguredTaskAwaiter)(ref val2)).GetResult();1290					_003Clp_003E5__2 = null;1291					goto IL_0305;1292					IL_014a:1293					((ConfiguredTaskAwaiter)(ref val2)).GetResult();1294					val4 = _BuildWhereClauseSimple(_003Clp_003E5__2).ConfigureAwait(false);1295					val2 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1296					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1297					{1298						num = (_003C_003E1__state = 2);1299						_003C_003Eu__1 = val2;1300						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val2, ref this);1301						return;1302					}1303					goto IL_01b4;1304					IL_028c:1305					((ConfiguredTaskAwaiter)(ref val2)).GetResult();1306					val4 = complianceRule._Handle_PersonInNonCompliance(_003Clp_003E5__2).ConfigureAwait(false);1307					val2 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();1308					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)1309					{1310						num = (_003C_003E1__state = 5);1311						_003C_003Eu__1 = val2;1312						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val2, ref this);1313						return;1314					}1315					goto IL_02f7;1316				}1317				result = val.GetResult();1318			}1319			catch (System.Exception exception)1320			{1321				_003C_003E1__state = -2;1322				_003C_003Et__builder.SetException(exception);1323				return;1324			}1325			_003C_003E1__state = -2;1326			_003C_003Et__builder.SetResult(result);1327		}13281329		[DebuggerHidden]1330		private void SetStateMachine(IAsyncStateMachine stateMachine)1331		{1332			_003C_003Et__builder.SetStateMachine(stateMachine);1333		}1334	}13351336	[StructLayout((LayoutKind)3)]1337	[CompilerGenerated]1338	private struct _003COnWorkingCopySaved_003Ed__5 : IAsyncStateMachine1339	{1340		public int _003C_003E1__state;13411342		public AsyncTaskMethodBuilder _003C_003Et__builder;13431344		public ComplianceRule _003C_003E4__this;13451346		public LogicParameter lp;13471348		public IEntity eCopy;13491350		private System.IDisposable _003C_003E7__wrap1;13511352		private IMetaTableRelations _003CmRels_003E5__3;13531354		private IMetaTableRelation _003CmRelSubRule_003E5__4;13551356		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__1;13571358		private ConfiguredTaskAwaiter<IMetaTableRelations> _003C_003Eu__2;13591360		private ConfiguredValueTaskAwaiter<bool> _003C_003Eu__3;13611362		private ConfiguredTaskAwaiter _003C_003Eu__4;13631364		private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__5;13651366		private void MoveNext()1367		{1368			//IL_0488: Unknown result type (might be due to invalid IL or missing references)1369			//IL_048d: Unknown result type (might be due to invalid IL or missing references)1370			//IL_0495: Unknown result type (might be due to invalid IL or missing references)1371			//IL_0533: Unknown result type (might be due to invalid IL or missing references)1372			//IL_0538: Unknown result type (might be due to invalid IL or missing references)1373			//IL_0540: Unknown result type (might be due to invalid IL or missing references)1374			//IL_05b4: Unknown result type (might be due to invalid IL or missing references)1375			//IL_05b9: Unknown result type (might be due to invalid IL or missing references)1376			//IL_05c1: Unknown result type (might be due to invalid IL or missing references)1377			//IL_0626: Unknown result type (might be due to invalid IL or missing references)1378			//IL_062b: Unknown result type (might be due to invalid IL or missing references)1379			//IL_0633: Unknown result type (might be due to invalid IL or missing references)1380			//IL_056b: Unknown result type (might be due to invalid IL or missing references)1381			//IL_0576: Unknown result type (might be due to invalid IL or missing references)1382			//IL_057b: Unknown result type (might be due to invalid IL or missing references)1383			//IL_057f: Unknown result type (might be due to invalid IL or missing references)1384			//IL_0584: Unknown result type (might be due to invalid IL or missing references)1385			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)1386			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)1387			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)1388			//IL_013c: Unknown result type (might be due to invalid IL or missing references)1389			//IL_0141: Unknown result type (might be due to invalid IL or missing references)1390			//IL_0149: Unknown result type (might be due to invalid IL or missing references)1391			//IL_01e7: Unknown result type (might be due to invalid IL or missing references)1392			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)1393			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)1394			//IL_027c: Unknown result type (might be due to invalid IL or missing references)1395			//IL_0281: Unknown result type (might be due to invalid IL or missing references)1396			//IL_0289: Unknown result type (might be due to invalid IL or missing references)1397			//IL_0332: Unknown result type (might be due to invalid IL or missing references)1398			//IL_0337: Unknown result type (might be due to invalid IL or missing references)1399			//IL_033f: Unknown result type (might be due to invalid IL or missing references)1400			//IL_03e8: Unknown result type (might be due to invalid IL or missing references)1401			//IL_03ed: Unknown result type (might be due to invalid IL or missing references)1402			//IL_03f5: Unknown result type (might be due to invalid IL or missing references)1403			//IL_007e: Unknown result type (might be due to invalid IL or missing references)1404			//IL_0084: Unknown result type (might be due to invalid IL or missing references)1405			//IL_008c: Unknown result type (might be due to invalid IL or missing references)1406			//IL_0091: Unknown result type (might be due to invalid IL or missing references)1407			//IL_0095: Unknown result type (might be due to invalid IL or missing references)1408			//IL_009a: Unknown result type (might be due to invalid IL or missing references)1409			//IL_05ea: Unknown result type (might be due to invalid IL or missing references)1410			//IL_05ef: Unknown result type (might be due to invalid IL or missing references)1411			//IL_05f3: Unknown result type (might be due to invalid IL or missing references)1412			//IL_05f8: Unknown result type (might be due to invalid IL or missing references)1413			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)1414			//IL_04f5: Unknown result type (might be due to invalid IL or missing references)1415			//IL_04fa: Unknown result type (might be due to invalid IL or missing references)1416			//IL_04fe: Unknown result type (might be due to invalid IL or missing references)1417			//IL_0503: Unknown result type (might be due to invalid IL or missing references)1418			//IL_0599: Unknown result type (might be due to invalid IL or missing references)1419			//IL_059b: Unknown result type (might be due to invalid IL or missing references)1420			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)1421			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)1422			//IL_0103: Unknown result type (might be due to invalid IL or missing references)1423			//IL_0107: Unknown result type (might be due to invalid IL or missing references)1424			//IL_010c: Unknown result type (might be due to invalid IL or missing references)1425			//IL_00af: Unknown result type (might be due to invalid IL or missing references)1426			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)1427			//IL_060e: Unknown result type (might be due to invalid IL or missing references)1428			//IL_0610: Unknown result type (might be due to invalid IL or missing references)1429			//IL_0518: Unknown result type (might be due to invalid IL or missing references)1430			//IL_051a: Unknown result type (might be due to invalid IL or missing references)1431			//IL_0121: Unknown result type (might be due to invalid IL or missing references)1432			//IL_0123: Unknown result type (might be due to invalid IL or missing references)1433			//IL_01a9: Unknown result type (might be due to invalid IL or missing references)1434			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)1435			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)1436			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)1437			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)1438			//IL_01ce: Unknown result type (might be due to invalid IL or missing references)1439			//IL_023e: Unknown result type (might be due to invalid IL or missing references)1440			//IL_0243: Unknown result type (might be due to invalid IL or missing references)1441			//IL_0247: Unknown result type (might be due to invalid IL or missing references)1442			//IL_024c: Unknown result type (might be due to invalid IL or missing references)1443			//IL_044a: Unknown result type (might be due to invalid IL or missing references)1444			//IL_044f: Unknown result type (might be due to invalid IL or missing references)1445			//IL_0453: Unknown result type (might be due to invalid IL or missing references)1446			//IL_0458: Unknown result type (might be due to invalid IL or missing references)1447			//IL_02f4: Unknown result type (might be due to invalid IL or missing references)1448			//IL_02f9: Unknown result type (might be due to invalid IL or missing references)1449			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)1450			//IL_0302: Unknown result type (might be due to invalid IL or missing references)1451			//IL_0261: Unknown result type (might be due to invalid IL or missing references)1452			//IL_0263: Unknown result type (might be due to invalid IL or missing references)1453			//IL_03aa: Unknown result type (might be due to invalid IL or missing references)1454			//IL_03af: Unknown result type (might be due to invalid IL or missing references)1455			//IL_03b3: Unknown result type (might be due to invalid IL or missing references)1456			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)1457			//IL_046d: Unknown result type (might be due to invalid IL or missing references)1458			//IL_046f: Unknown result type (might be due to invalid IL or missing references)1459			//IL_0317: Unknown result type (might be due to invalid IL or missing references)1460			//IL_0319: Unknown result type (might be due to invalid IL or missing references)1461			//IL_03cd: Unknown result type (might be due to invalid IL or missing references)1462			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)1463			int num = _003C_003E1__state;1464			ComplianceRule complianceRule = _003C_003E4__this;1465			try1466			{1467				ConfiguredTaskAwaiter val;1468				ConfiguredTaskAwaitable val6;1469				ConfiguredValueTaskAwaiter<bool> val3;1470				ConfiguredTaskAwaiter<IEntity> val2;1471				IEntity result2;1472				switch (num)1473				{1474				default:1475					_003C_003E7__wrap1 = complianceRule.StartInternalProcess();1476					goto case 0;1477				case 0:1478				case 1:1479				case 2:1480				case 3:1481				case 4:1482				case 5:1483					try1484					{1485						ConfiguredTaskAwaiter<IMetaTable> val5;1486						ConfiguredTaskAwaiter<IMetaTableRelations> val4;1487						IMetaTableRelations result;1488						IMetaTableRelation metaTableRelation;1489						IMetaTableRelation metaTableRelation2;1490						switch (num)1491						{1492						default:1493							val5 = lp.Session.MetaData().GetTableAsync("ComplianceRule").ConfigureAwait(false)1494								.GetAwaiter();1495							if (!val5.IsCompleted)1496							{1497								num = (_003C_003E1__state = 0);1498								_003C_003Eu__1 = val5;1499								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003COnWorkingCopySaved_003Ed__5>(ref val5, ref this);1500								return;1501							}1502							goto IL_00e6;1503						case 0:1504							val5 = _003C_003Eu__1;1505							_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IMetaTable>);1506							num = (_003C_003E1__state = -1);1507							goto IL_00e6;1508						case 1:1509							val4 = _003C_003Eu__2;1510							_003C_003Eu__2 = default(ConfiguredTaskAwaiter<IMetaTableRelations>);1511							num = (_003C_003E1__state = -1);1512							goto IL_0158;1513						case 2:1514							val3 = _003C_003Eu__3;1515							_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<bool>);1516							num = (_003C_003E1__state = -1);1517							goto IL_0203;1518						case 3:1519							val = _003C_003Eu__4;1520							_003C_003Eu__4 = default(ConfiguredTaskAwaiter);1521							num = (_003C_003E1__state = -1);1522							goto IL_0298;1523						case 4:1524							val = _003C_003Eu__4;1525							_003C_003Eu__4 = default(ConfiguredTaskAwaiter);1526							num = (_003C_003E1__state = -1);1527							goto IL_034e;1528						case 5:1529							{1530								val = _003C_003Eu__4;1531								_003C_003Eu__4 = default(ConfiguredTaskAwaiter);1532								num = (_003C_003E1__state = -1);1533								goto IL_0404;1534							}1535							IL_034e:1536							((ConfiguredTaskAwaiter)(ref val)).GetResult();1537							goto IL_0355;1538							IL_00e6:1539							val4 = val5.GetResult().GetChildRelationsAsync(lp.CancellationToken).ConfigureAwait(false)1540								.GetAwaiter();1541							if (!val4.IsCompleted)1542							{1543								num = (_003C_003E1__state = 1);1544								_003C_003Eu__2 = val4;1545								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTableRelations>, _003COnWorkingCopySaved_003Ed__5>(ref val4, ref this);1546								return;1547							}1548							goto IL_0158;1549							IL_0404:1550							((ConfiguredTaskAwaiter)(ref val)).GetResult();1551							break;1552							IL_0158:1553							result = val4.GetResult();1554							_003CmRels_003E5__3 = result;1555							_003CmRelSubRule_003E5__4 = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceSubRule"));1556							val3 = IsSimpleMode(lp).ConfigureAwait(false).GetAwaiter();1557							if (!val3.IsCompleted)1558							{1559								num = (_003C_003E1__state = 2);1560								_003C_003Eu__3 = val3;1561								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003COnWorkingCopySaved_003Ed__5>(ref val3, ref this);1562								return;1563							}1564							goto IL_0203;1565							IL_0298:1566							((ConfiguredTaskAwaiter)(ref val)).GetResult();1567							goto IL_029f;1568							IL_0355:1569							metaTableRelation = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceRuleHasMControl"));1570							if (metaTableRelation == null)1571							{1572								break;1573							}1574							val6 = complianceRule.CopyMN(metaTableRelation, "UID_MitigatingControl", lp.Entity, eCopy, lp).ConfigureAwait(false);1575							val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();1576							if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1577							{1578								num = (_003C_003E1__state = 5);1579								_003C_003Eu__4 = val;1580								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaved_003Ed__5>(ref val, ref this);1581								return;1582							}1583							goto IL_0404;1584							IL_029f:1585							metaTableRelation2 = Enumerable.FirstOrDefault<IMetaTableRelation>((System.Collections.Generic.IEnumerable<IMetaTableRelation>)_003CmRels_003E5__3, (Func<IMetaTableRelation, bool>)((IMetaTableRelation r) => r.ChildTableName == "ComplianceRuleInArea"));1586							if (metaTableRelation2 != null)1587							{1588								val6 = complianceRule.CopyMN(metaTableRelation2, "UID_ComplianceArea", lp.Entity, eCopy, lp).ConfigureAwait(false);1589								val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();1590								if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1591								{1592									num = (_003C_003E1__state = 4);1593									_003C_003Eu__4 = val;1594									((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaved_003Ed__5>(ref val, ref this);1595									return;1596								}1597								goto IL_034e;1598							}1599							goto IL_0355;1600							IL_0203:1601							if (val3.GetResult() && _003CmRelSubRule_003E5__4 != null)1602							{1603								val6 = complianceRule.CopyCR(_003CmRelSubRule_003E5__4, lp.Entity, eCopy, lp).ConfigureAwait(false);1604								val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();1605								if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1606								{1607									num = (_003C_003E1__state = 3);1608									_003C_003Eu__4 = val;1609									((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaved_003Ed__5>(ref val, ref this);1610									return;1611								}1612								goto IL_0298;1613							}1614							goto IL_029f;1615						}1616						_003CmRels_003E5__3 = null;1617						_003CmRelSubRule_003E5__4 = null;1618					}1619					finally1620					{1621						if (num < 0 && _003C_003E7__wrap1 != null)1622						{1623							_003C_003E7__wrap1.Dispose();1624						}1625					}1626					_003C_003E7__wrap1 = null;1627					val3 = IsSimpleMode(lp).ConfigureAwait(false).GetAwaiter();1628					if (!val3.IsCompleted)1629					{1630						num = (_003C_003E1__state = 6);1631						_003C_003Eu__3 = val3;1632						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<bool>, _003COnWorkingCopySaved_003Ed__5>(ref val3, ref this);1633						return;1634					}1635					goto IL_04a4;1636				case 6:1637					val3 = _003C_003Eu__3;1638					_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<bool>);1639					num = (_003C_003E1__state = -1);1640					goto IL_04a4;1641				case 7:1642					val2 = _003C_003Eu__5;1643					_003C_003Eu__5 = default(ConfiguredTaskAwaiter<IEntity>);1644					num = (_003C_003E1__state = -1);1645					goto IL_054f;1646				case 8:1647					val = _003C_003Eu__4;1648					_003C_003Eu__4 = default(ConfiguredTaskAwaiter);1649					num = (_003C_003E1__state = -1);1650					goto IL_05d0;1651				case 9:1652					{1653						val = _003C_003Eu__4;1654						_003C_003Eu__4 = default(ConfiguredTaskAwaiter);1655						num = (_003C_003E1__state = -1);1656						break;1657					}1658					IL_05d0:1659					((ConfiguredTaskAwaiter)(ref val)).GetResult();1660					goto IL_05d7;1661					IL_054f:1662					result2 = val2.GetResult();1663					val6 = lp.UnitOfWork.PutAsync(result2, lp.CancellationToken).ConfigureAwait(false);1664					val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();1665					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1666					{1667						num = (_003C_003E1__state = 8);1668						_003C_003Eu__4 = val;1669						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaved_003Ed__5>(ref val, ref this);1670						return;1671					}1672					goto IL_05d0;1673					IL_04a4:1674					if (val3.GetResult())1675					{1676						DbObjectKey objectKey = DbObjectKey.GetObjectKey("ComplianceRule", lp.Entity.GetValue<string>("UID_ComplianceRule"));1677						val2 = lp.Session.Source().GetAsync(objectKey, EntityLoadType.DelayedLogic, lp.CancellationToken).ConfigureAwait(false)1678							.GetAwaiter();1679						if (!val2.IsCompleted)1680						{1681							num = (_003C_003E1__state = 7);1682							_003C_003Eu__5 = val2;1683							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003COnWorkingCopySaved_003Ed__5>(ref val2, ref this);1684							return;1685						}1686						goto IL_054f;1687					}1688					goto IL_05d7;1689					IL_05d7:1690					val6 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnWorkingCopySaved(eCopy, lp).ConfigureAwait(false);1691					val = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();1692					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1693					{1694						num = (_003C_003E1__state = 9);1695						_003C_003Eu__4 = val;1696						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaved_003Ed__5>(ref val, ref this);1697						return;1698					}1699					break;1700				}1701				((ConfiguredTaskAwaiter)(ref val)).GetResult();1702			}1703			catch (System.Exception exception)1704			{1705				_003C_003E1__state = -2;1706				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1707				return;1708			}1709			_003C_003E1__state = -2;1710			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1711		}17121713		[DebuggerHidden]1714		private void SetStateMachine(IAsyncStateMachine stateMachine)1715		{1716			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1717		}1718	}17191720	[StructLayout((LayoutKind)3)]1721	[CompilerGenerated]1722	private struct _003COnWorkingCopySaving_003Ed__3 : IAsyncStateMachine1723	{1724		public int _003C_003E1__state;17251726		public AsyncTaskMethodBuilder _003C_003Et__builder;17271728		public ComplianceRule _003C_003E4__this;17291730		public IEntity eCopy;17311732		public LogicParameter lp;17331734		private ConfiguredTaskAwaiter _003C_003Eu__1;17351736		private void MoveNext()1737		{1738			//IL_0066: Unknown result type (might be due to invalid IL or missing references)1739			//IL_006b: Unknown result type (might be due to invalid IL or missing references)1740			//IL_0072: Unknown result type (might be due to invalid IL or missing references)1741			//IL_009b: Unknown result type (might be due to invalid IL or missing references)1742			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)1743			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)1744			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)1745			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)1746			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)1747			//IL_00df: Unknown result type (might be due to invalid IL or missing references)1748			//IL_002b: Unknown result type (might be due to invalid IL or missing references)1749			//IL_0030: Unknown result type (might be due to invalid IL or missing references)1750			//IL_0033: Unknown result type (might be due to invalid IL or missing references)1751			//IL_0038: Unknown result type (might be due to invalid IL or missing references)1752			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)1753			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)1754			//IL_004c: Unknown result type (might be due to invalid IL or missing references)1755			//IL_004d: Unknown result type (might be due to invalid IL or missing references)1756			int num = _003C_003E1__state;1757			ComplianceRule complianceRule = _003C_003E4__this;1758			try1759			{1760				ConfiguredTaskAwaiter val;1761				ConfiguredTaskAwaitable val2;1762				if (num != 0)1763				{1764					if (num == 1)1765					{1766						val = _003C_003Eu__1;1767						_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1768						num = (_003C_003E1__state = -1);1769						goto IL_00ee;1770					}1771					val2 = complianceRule._ClearSubRules(eCopy, lp).ConfigureAwait(false);1772					val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();1773					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1774					{1775						num = (_003C_003E1__state = 0);1776						_003C_003Eu__1 = val;1777						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaving_003Ed__3>(ref val, ref this);1778						return;1779					}1780				}1781				else1782				{1783					val = _003C_003Eu__1;1784					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);1785					num = (_003C_003E1__state = -1);1786				}1787				((ConfiguredTaskAwaiter)(ref val)).GetResult();1788				val2 = ((WorkingCopyEntityLogic<ComplianceRuleFlags>)complianceRule).OnWorkingCopySaving(eCopy, lp).ConfigureAwait(false);1789				val = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();1790				if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)1791				{1792					num = (_003C_003E1__state = 1);1793					_003C_003Eu__1 = val;1794					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnWorkingCopySaving_003Ed__3>(ref val, ref this);1795					return;1796				}1797				goto IL_00ee;1798				IL_00ee:1799				((ConfiguredTaskAwaiter)(ref val)).GetResult();1800			}1801			catch (System.Exception exception)1802			{1803				_003C_003E1__state = -2;1804				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1805				return;1806			}1807			_003C_003E1__state = -2;1808			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1809		}18101811		[DebuggerHidden]1812		private void SetStateMachine(IAsyncStateMachine stateMachine)1813		{1814			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1815		}1816	}18171818	[StructLayout((LayoutKind)3)]1819	[CompilerGenerated]1820	private struct _003CTryGetValue_003Ed__21<T> : IAsyncStateMachine where T : notnull1821	{1822		public int _003C_003E1__state;18231824		public AsyncValueTaskMethodBuilder<T> _003C_003Et__builder;18251826		public IEntity e;18271828		public string column;18291830		public CancellationToken ct;18311832		private ConfiguredValueTaskAwaiter<TryResult<T>> _003C_003Eu__1;18331834		private unsafe void MoveNext()1835		{1836			//IL_005f: Unknown result type (might be due to invalid IL or missing references)1837			//IL_0064: Unknown result type (might be due to invalid IL or missing references)1838			//IL_006b: Unknown result type (might be due to invalid IL or missing references)1839			//IL_0017: Unknown result type (might be due to invalid IL or missing references)1840			//IL_0026: Unknown result type (might be due to invalid IL or missing references)1841			//IL_002b: Unknown result type (might be due to invalid IL or missing references)1842			//IL_002f: Unknown result type (might be due to invalid IL or missing references)1843			//IL_0034: Unknown result type (might be due to invalid IL or missing references)1844			//IL_0048: Unknown result type (might be due to invalid IL or missing references)1845			//IL_0049: Unknown result type (might be due to invalid IL or missing references)1846			int num = _003C_003E1__state;1847			T result2;1848			try1849			{1850				ConfiguredValueTaskAwaiter<TryResult<T>> val;1851				if (num != 0)1852				{1853					val = ((ConfiguredValueTaskAwaitable<TryResult<TryResult<T>>>)((System.Threading.Tasks.ValueTask<TryResult<TryResult<T>>>)e.TryGetValueAsync<T>(column, ct)).ConfigureAwait(false)).GetAwaiter();1854					if (!((ConfiguredValueTaskAwaiter<TryResult<TryResult<T>>>*)(&val))->IsCompleted)1855					{1856						num = (_003C_003E1__state = 0);1857						_003C_003Eu__1 = val;1858						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<TryResult<T>>, _003CTryGetValue_003Ed__21<T>>(ref val, ref this);1859						return;1860					}1861				}1862				else1863				{1864					val = _003C_003Eu__1;1865					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<TryResult<T>>);1866					num = (_003C_003E1__state = -1);1867				}1868				TryResult<T> result = ((ConfiguredValueTaskAwaiter<TryResult<TryResult<T>>>*)(&val))->GetResult();1869				result2 = (result.Success ? result.Result : default(T));1870			}1871			catch (System.Exception exception)1872			{1873				_003C_003E1__state = -2;1874				_003C_003Et__builder.SetException(exception);1875				return;1876			}1877			_003C_003E1__state = -2;1878			_003C_003Et__builder.SetResult(result2);1879		}18801881		[DebuggerHidden]1882		private void SetStateMachine(IAsyncStateMachine stateMachine)1883		{1884			_003C_003Et__builder.SetStateMachine(stateMachine);1885		}1886	}18871888	[StructLayout((LayoutKind)3)]1889	[CompilerGenerated]1890	private struct _003C_BuildWhereClauseSimple_003Ed__16 : IAsyncStateMachine1891	{1892		public int _003C_003E1__state;18931894		public AsyncTaskMethodBuilder _003C_003Et__builder;18951896		public LogicParameter lp;18971898		private ISqlFormatter _003CfSql_003E5__2;18991900		private StringBuilder _003CsbSQL_003E5__3;19011902		private bool _003CisCrossPersonCheck_003E5__4;19031904		private ConfiguredValueTaskAwaiter<bool> _003C_003Eu__1;19051906		private ConfiguredTaskAwaiter<IEntityCollection> _003C_003Eu__2;19071908		private void MoveNext()1909		{1910			//IL_007b: Unknown result type (might be due to invalid IL or missing references)1911			//IL_0080: Unknown result type (might be due to invalid IL or missing references)1912			//IL_0088: Unknown result type (might be due to invalid IL or missing references)1913			//IL_017a: Unknown result type (might be due to invalid IL or missing references)1914			//IL_017f: Unknown result type (might be due to invalid IL or missing references)1915			//IL_0187: Unknown result type (might be due to invalid IL or missing references)1916			//IL_0023: Unknown result type (might be due to invalid IL or missing references)1917			//IL_002d: Expected O, but got Unknown1918			//IL_003d: Unknown result type (might be due to invalid IL or mis
…