Back to OIM Explorer

ATT.CompositionApi.Server.PlugIn/ATT.CompositionApi.Api/ATT_Policy_Editor.cs

Decompiler Source FileATT.CompositionApi.Server.PlugIn.ATT_Policy_EditorDecompiled Source

1 extracted method/event/call references in ATT_Policy_Editor.

Source: F:\Claude\.tmp\oim-decompiled-full\0029_One_Identity_Manager_ATT.CompositionApi.Server.PlugIn.dll\ATT.CompositionApi.Api\ATT_Policy_Editor.cs

Source size: 75.042 characters

Interpretation

  • Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.

Relations

  • CallFunctionAsync: BuildWhereClause at line 774

Typed Edges

  • No typed edges extracted for this source.

References

  • No direct source references extracted.

Referenced By

  • No direct source references extracted.

C# source-derived context

Generated by pattern extraction from the decompiled C# source and decompile index. This is factual source evidence, not inferred behavior.

reads entity values references DB/Dialog objects

Summary: classes ATT_Policy_Editor, RequireAttestatorsModifier, IsPolicyWithRemoveProperty, PolicyExtendedDataProvider; methods Get, MoveNext, SetStateMachine, LoadAsync, ValidateAsync, _003CGetDataAsync_003Eb__0; references AttestationObject, AttestationPolicy, AttestationPolicyGroup, AttestationPolicyHasApprover, AttestationPolicyInArea, AttestationRun; markers reads entity values, references DB/Dialog objects

Classes

ATT_Policy_Editor RequireAttestatorsModifier IsPolicyWithRemoveProperty PolicyExtendedDataProvider PolicyExtendedData _003C_003Ec__DisplayClass4_0 _003C_003Ec__DisplayClass3_0

OIM key/entity markers

UID_PWODecisionMethod UID_PwoDecisionMethod UID_PWODecisionSubMethod UID_SubMethodOrderProduct UID_PWODecisionRule UID_AttestationObject UID_PersonOwner UID_DialogTable UID_QERPickCategory UID_DialogTablePickCategory XObjectKey UID_DialogSchedule UID_DialogCulture UID_AttestationPolicyGroup UID_QERTermsOfUse UID_AttestationPolicy

API/entity calls

GetValue CreateNew GetValue SqlFormatter From Source PutValueAsync CallFunctionAsync User Database Subscribe

Registrations / handlers

None extracted.

Complete Source

C#1.528 lines
1using System;2using System.Collections.Generic;3using System.Diagnostics;4using System.Linq;5using System.Runtime.CompilerServices;6using System.Runtime.InteropServices;7using System.Text.RegularExpressions;8using System.Threading;9using System.Threading.Tasks;10using ATT.CompositionApi.Attestation;11using ATT.CompositionApi.AttestationRun;12using ATT.CompositionApi.Config;13using ATT.CompositionApi.Run;14using ATT.Customizer.PolicyFilter;15using QBM.CompositionApi.ApiManager;16using QBM.CompositionApi.Crud;17using QBM.CompositionApi.DataSources;18using QBM.CompositionApi.Definition;19using QBM.CompositionApi.Dto;20using QBM.CompositionApi.ExtendedData;21using QBM.CompositionApi.Handling;22using QER.CompositionApi.Cache;23using QER.CompositionApi.Portal;24using VI.Base;25using VI.DB;26using VI.DB.Entities;27using VI.DB.MetaData;28using VI.DB.Sync;29using VI.WebRuntime;3031namespace ATT.CompositionApi.Api;3233[ApiProviderSort(SortOrder = 1)]34public class ATT_Policy_Editor : IApiProviderFor<PortalApiProject>, IApiProvider35{36	private class RequireAttestatorsModifier : IEntityColumnModifier37	{38		private static readonly EntityColumnModifierResult Mandatory = new EntityColumnModifierResult39		{40			MinLen = 141		};4243		public EntityColumnModifierResult Get(IEntity entity)44		{45			string text = entity.GetValue("UID_PWODecisionMethod").String;46			if (string.IsNullOrEmpty(text))47			{48				return null;49			}50			ISession session = RequestScopeContext.Current.GetServices().Resolve<IRequest>().Session;51			ISqlFormatter formatter = session.SqlFormatter();52			if (!SyncEntitySourceExtensions.Exists(query: Query.From("PWODecisionMethod").Where("UID_PwoDecisionMethod in (select UID_PwoDecisionMethod from PWODecisionMethod dm join PWODecisionSubMethod sm on sm.UID_PWODecisionSubMethod = dm.UID_SubMethodOrderProduct join PWODecisionStep ds on sm.UID_PWODecisionSubMethod = ds.UID_PWODecisionSubMethod join pwodecisionrule dr on dr.UID_PWODecisionRule = ds.UID_PWODecisionRule where dr.DecisionRule = 'AS' and " + formatter.UidComparison("UID_PWODecisionMethod", text) + ")").Exists(), source: session.Source()))53			{54				return null;55			}56			return Mandatory;57		}58	}5960	private class IsPolicyWithRemoveProperty : CalculatedPropertyBulk<bool>61	{62		[StructLayout((LayoutKind)3)]63		[CompilerGenerated]64		private struct _003CLoadAsync_003Ed__1 : IAsyncStateMachine65		{66			public int _003C_003E1__state;6768			public AsyncTaskMethodBuilder<System.Collections.Generic.IReadOnlyList<bool>> _003C_003Et__builder;6970			public IBulkPropertyValueContext context;7172			public IPwoDecisionMethodCache pwodmCache;7374			public CancellationToken ct;7576			public IPwoDecisionStepCache pwostepCache;7778			private bool[] _003Cresult_003E5__2;7980			private int _003Cidx_003E5__3;8182			private ConfiguredTaskAwaiter<PwoDecisionMethodData> _003C_003Eu__1;8384			private ConfiguredTaskAwaiter<System.Collections.Generic.IReadOnlyList<PwoDecisionStepData>> _003C_003Eu__2;8586			private void MoveNext()87			{88				//IL_00cd: Unknown result type (might be due to invalid IL or missing references)89				//IL_00d2: Unknown result type (might be due to invalid IL or missing references)90				//IL_00da: Unknown result type (might be due to invalid IL or missing references)91				//IL_010e: Unknown result type (might be due to invalid IL or missing references)92				//IL_0119: Unknown result type (might be due to invalid IL or missing references)93				//IL_011e: Unknown result type (might be due to invalid IL or missing references)94				//IL_0122: Unknown result type (might be due to invalid IL or missing references)95				//IL_0127: Unknown result type (might be due to invalid IL or missing references)96				//IL_0157: Unknown result type (might be due to invalid IL or missing references)97				//IL_015c: Unknown result type (might be due to invalid IL or missing references)98				//IL_0164: Unknown result type (might be due to invalid IL or missing references)99				//IL_013c: Unknown result type (might be due to invalid IL or missing references)100				//IL_013e: Unknown result type (might be due to invalid IL or missing references)101				//IL_0084: Unknown result type (might be due to invalid IL or missing references)102				//IL_008f: Unknown result type (might be due to invalid IL or missing references)103				//IL_0094: Unknown result type (might be due to invalid IL or missing references)104				//IL_0098: Unknown result type (might be due to invalid IL or missing references)105				//IL_009d: Unknown result type (might be due to invalid IL or missing references)106				//IL_00b2: Unknown result type (might be due to invalid IL or missing references)107				//IL_00b4: Unknown result type (might be due to invalid IL or missing references)108				int num = _003C_003E1__state;109				System.Collections.Generic.IReadOnlyList<bool> result;110				try111				{112					ConfiguredTaskAwaiter<System.Collections.Generic.IReadOnlyList<PwoDecisionStepData>> val;113					if (num != 0)114					{115						if (num != 1)116						{117							_003Cresult_003E5__2 = new bool[((System.Collections.Generic.IReadOnlyCollection<IEntity>)context.Entities).Count];118							_003Cidx_003E5__3 = 0;119							goto IL_01c0;120						}121						val = _003C_003Eu__2;122						_003C_003Eu__2 = default(ConfiguredTaskAwaiter<System.Collections.Generic.IReadOnlyList<PwoDecisionStepData>>);123						num = (_003C_003E1__state = -1);124						goto IL_0173;125					}126					ConfiguredTaskAwaiter<PwoDecisionMethodData> val2 = _003C_003Eu__1;127					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<PwoDecisionMethodData>);128					num = (_003C_003E1__state = -1);129					goto IL_00e9;130					IL_0173:131					if (Enumerable.Any<PwoDecisionStepData>((System.Collections.Generic.IEnumerable<PwoDecisionStepData>)val.GetResult(), (Func<PwoDecisionStepData, bool>)((PwoDecisionStepData s) => string.Equals("AUTOREMOVE", s.WhereClause))))132					{133						_003Cresult_003E5__2[_003Cidx_003E5__3] = true;134					}135					goto IL_01ae;136					IL_01c0:137					if (_003Cidx_003E5__3 < _003Cresult_003E5__2.Length)138					{139						string text = context.Entities[_003Cidx_003E5__3].GetValue("UID_PWODecisionMethod").String;140						if (!string.IsNullOrEmpty(text))141						{142							val2 = pwodmCache.GetMethodAsync(context.Request.Session, text, ct).ConfigureAwait(false).GetAwaiter();143							if (!val2.IsCompleted)144							{145								num = (_003C_003E1__state = 0);146								_003C_003Eu__1 = val2;147								_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<PwoDecisionMethodData>, _003CLoadAsync_003Ed__1>(ref val2, ref this);148								return;149							}150							goto IL_00e9;151						}152						goto IL_01ae;153					}154					result = _003Cresult_003E5__2;155					goto end_IL_0007;156					IL_00e9:157					PwoDecisionMethodData result2 = val2.GetResult();158					val = pwostepCache.GetStepAsync(context.Request.Session, result2.UidSubMethodOrderProduct, ct).ConfigureAwait(false).GetAwaiter();159					if (!val.IsCompleted)160					{161						num = (_003C_003E1__state = 1);162						_003C_003Eu__2 = val;163						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<System.Collections.Generic.IReadOnlyList<PwoDecisionStepData>>, _003CLoadAsync_003Ed__1>(ref val, ref this);164						return;165					}166					goto IL_0173;167					IL_01ae:168					_003Cidx_003E5__3++;169					goto IL_01c0;170					end_IL_0007:;171				}172				catch (System.Exception exception)173				{174					_003C_003E1__state = -2;175					_003Cresult_003E5__2 = null;176					_003C_003Et__builder.SetException(exception);177					return;178				}179				_003C_003E1__state = -2;180				_003Cresult_003E5__2 = null;181				_003C_003Et__builder.SetResult(result);182			}183184			[DebuggerHidden]185			private void SetStateMachine(IAsyncStateMachine stateMachine)186			{187				_003C_003Et__builder.SetStateMachine(stateMachine);188			}189		}190191		public IsPolicyWithRemoveProperty(IPwoDecisionMethodCache pwodmCache, IPwoDecisionStepCache pwostepCache)192			: base("IsPolicyWithRemove", (Func<IBulkPropertyValueContext, CancellationToken, System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<bool>>>)((IBulkPropertyValueContext context, CancellationToken ct) => LoadAsync(context, pwodmCache, pwostepCache, ct)))193		{194			base.PropertyMetaData.Display = "Removal";195			base.PropertyMetaData.Description = "Indicates whether the selected approval policy removes permissions.";196		}197198		[AsyncStateMachine(typeof(_003CLoadAsync_003Ed__1))]199		private static async System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<bool>> LoadAsync(IBulkPropertyValueContext context, IPwoDecisionMethodCache pwodmCache, IPwoDecisionStepCache pwostepCache, CancellationToken ct)200		{201			//IL_0002: Unknown result type (might be due to invalid IL or missing references)202			//IL_0007: Unknown result type (might be due to invalid IL or missing references)203			//IL_0026: Unknown result type (might be due to invalid IL or missing references)204			//IL_0027: Unknown result type (might be due to invalid IL or missing references)205			bool[] result = new bool[((System.Collections.Generic.IReadOnlyCollection<IEntity>)context.Entities).Count];206			for (int idx = 0; idx < result.Length; idx++)207			{208				string text = context.Entities[idx].GetValue("UID_PWODecisionMethod").String;209				if (!string.IsNullOrEmpty(text))210				{211					PwoDecisionMethodData pwoDecisionMethodData = await pwodmCache.GetMethodAsync(context.Request.Session, text, ct).ConfigureAwait(false);212					if (Enumerable.Any<PwoDecisionStepData>((System.Collections.Generic.IEnumerable<PwoDecisionStepData>)(await pwostepCache.GetStepAsync(context.Request.Session, pwoDecisionMethodData.UidSubMethodOrderProduct, ct).ConfigureAwait(false)), (Func<PwoDecisionStepData, bool>)((PwoDecisionStepData s) => string.Equals("AUTOREMOVE", s.WhereClause))))213					{214						result[idx] = true;215					}216				}217			}218			return result;219		}220	}221222	private class PolicyExtendedDataProvider : IReadWriteExtendedDataProvider<PolicyFilterData[], ATT.CompositionApi.Attestation.PolicyFilter[]>, IValidatingMethod223	{224		[StructLayout((LayoutKind)3)]225		[CompilerGenerated]226		private struct _003CGetExtendedDataAsync_003Ed__2 : IAsyncStateMachine227		{228			public int _003C_003E1__state;229230			public AsyncTaskMethodBuilder<IExtendedData<PolicyFilterData[], ATT.CompositionApi.Attestation.PolicyFilter[]>> _003C_003Et__builder;231232			public System.Collections.Generic.IReadOnlyList<IEntity> entities;233234			public IRequest request;235236			public PolicyExtendedDataProvider _003C_003E4__this;237238			private void MoveNext()239			{240				PolicyExtendedDataProvider policyExtendedDataProvider = _003C_003E4__this;241				IExtendedData<PolicyFilterData[], ATT.CompositionApi.Attestation.PolicyFilter[]> result;242				try243				{244					result = new PolicyExtendedData(entities, request.Session, policyExtendedDataProvider._cache);245				}246				catch (System.Exception exception)247				{248					_003C_003E1__state = -2;249					_003C_003Et__builder.SetException(exception);250					return;251				}252				_003C_003E1__state = -2;253				_003C_003Et__builder.SetResult(result);254			}255256			[DebuggerHidden]257			private void SetStateMachine(IAsyncStateMachine stateMachine)258			{259				_003C_003Et__builder.SetStateMachine(stateMachine);260			}261		}262263		private readonly IWizardParmCache _cache;264265		public PolicyExtendedDataProvider(IWizardParmCache cache)266		{267			_cache = cache;268		}269270		[AsyncStateMachine(typeof(_003CGetExtendedDataAsync_003Ed__2))]271		public async System.Threading.Tasks.Task<IExtendedData<PolicyFilterData[], ATT.CompositionApi.Attestation.PolicyFilter[]>> GetExtendedDataAsync(System.Collections.Generic.IReadOnlyList<IEntity> entities, IRequest request, CancellationToken ct = default(CancellationToken))272		{273			//IL_0002: Unknown result type (might be due to invalid IL or missing references)274			//IL_0007: Unknown result type (might be due to invalid IL or missing references)275			return new PolicyExtendedData(entities, request.Session, _cache);276		}277278		public System.Threading.Tasks.Task ValidateAsync(IMethodValidationContext con, CancellationToken ct = default(CancellationToken))279		{280			return NullTask.Instance;281		}282	}283284	private class PolicyExtendedData : IExtendedData<PolicyFilterData[], ATT.CompositionApi.Attestation.PolicyFilter[]>, IReadExtendedData<PolicyFilterData[]>, IWriteExtendedData<ATT.CompositionApi.Attestation.PolicyFilter[]>285	{286		[CompilerGenerated]287		private sealed class _003C_003Ec__DisplayClass4_0288		{289			[StructLayout((LayoutKind)3)]290			private struct _003C_003CGetDataAsync_003Eb__0_003Ed : IAsyncStateMachine291			{292				public int _003C_003E1__state;293294				public AsyncTaskMethodBuilder<PolicyFilterData> _003C_003Et__builder;295296				public _003C_003Ec__DisplayClass4_0 _003C_003E4__this;297298				public IEntity e;299300				private ConfiguredTaskAwaiter<PolicyFilterData> _003C_003Eu__1;301302				private void MoveNext()303				{304					//IL_0072: Unknown result type (might be due to invalid IL or missing references)305					//IL_0077: Unknown result type (might be due to invalid IL or missing references)306					//IL_007e: Unknown result type (might be due to invalid IL or missing references)307					//IL_002e: Unknown result type (might be due to invalid IL or missing references)308					//IL_0039: Unknown result type (might be due to invalid IL or missing references)309					//IL_003e: Unknown result type (might be due to invalid IL or missing references)310					//IL_0042: Unknown result type (might be due to invalid IL or missing references)311					//IL_0047: Unknown result type (might be due to invalid IL or missing references)312					//IL_005b: Unknown result type (might be due to invalid IL or missing references)313					//IL_005c: Unknown result type (might be due to invalid IL or missing references)314					int num = _003C_003E1__state;315					_003C_003Ec__DisplayClass4_0 _003C_003Ec__DisplayClass4_ = _003C_003E4__this;316					PolicyFilterData result;317					try318					{319						ConfiguredTaskAwaiter<PolicyFilterData> val;320						if (num != 0)321						{322							val = _003C_003Ec__DisplayClass4_._003C_003E4__this._cache.GetPolicyFilterDataAsync(e, _003C_003Ec__DisplayClass4_._003C_003E4__this._session, _003C_003Ec__DisplayClass4_.ct).ConfigureAwait(false).GetAwaiter();323							if (!val.IsCompleted)324							{325								num = (_003C_003E1__state = 0);326								_003C_003Eu__1 = val;327								_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<PolicyFilterData>, _003C_003CGetDataAsync_003Eb__0_003Ed>(ref val, ref this);328								return;329							}330						}331						else332						{333							val = _003C_003Eu__1;334							_003C_003Eu__1 = default(ConfiguredTaskAwaiter<PolicyFilterData>);335							num = (_003C_003E1__state = -1);336						}337						result = val.GetResult();338					}339					catch (System.Exception exception)340					{341						_003C_003E1__state = -2;342						_003C_003Et__builder.SetException(exception);343						return;344					}345					_003C_003E1__state = -2;346					_003C_003Et__builder.SetResult(result);347				}348349				[DebuggerHidden]350				private void SetStateMachine(IAsyncStateMachine stateMachine)351				{352					_003C_003Et__builder.SetStateMachine(stateMachine);353				}354			}355356			public PolicyExtendedData _003C_003E4__this;357358			public CancellationToken ct;359360			[AsyncStateMachine(typeof(_003C_003CGetDataAsync_003Eb__0_003Ed))]361			internal async System.Threading.Tasks.Task<PolicyFilterData> _003CGetDataAsync_003Eb__0(IEntity e, CancellationToken cx)362			{363				//IL_0002: Unknown result type (might be due to invalid IL or missing references)364				//IL_0007: Unknown result type (might be due to invalid IL or missing references)365				return await _003C_003E4__this._cache.GetPolicyFilterDataAsync(e, _003C_003E4__this._session, ct).ConfigureAwait(false);366			}367		}368369		[StructLayout((LayoutKind)3)]370		[CompilerGenerated]371		private struct _003CApplyAsync_003Ed__5 : IAsyncStateMachine372		{373			public int _003C_003E1__state;374375			public AsyncTaskMethodBuilder _003C_003Et__builder;376377			public ATT.CompositionApi.Attestation.PolicyFilter[] values;378379			public IRequest qr;380381			public CancellationToken ct;382383			public PolicyExtendedData _003C_003E4__this;384385			private int _003Cidx_003E5__2;386387			private ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter> _003C_003Eu__1;388389			private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__2;390391			private void MoveNext()392			{393				//IL_00aa: Unknown result type (might be due to invalid IL or missing references)394				//IL_00af: Unknown result type (might be due to invalid IL or missing references)395				//IL_00b7: Unknown result type (might be due to invalid IL or missing references)396				//IL_00eb: Unknown result type (might be due to invalid IL or missing references)397				//IL_00fa: Unknown result type (might be due to invalid IL or missing references)398				//IL_00ff: Unknown result type (might be due to invalid IL or missing references)399				//IL_0103: Unknown result type (might be due to invalid IL or missing references)400				//IL_0108: Unknown result type (might be due to invalid IL or missing references)401				//IL_0135: Unknown result type (might be due to invalid IL or missing references)402				//IL_013a: Unknown result type (might be due to invalid IL or missing references)403				//IL_0142: Unknown result type (might be due to invalid IL or missing references)404				//IL_011d: Unknown result type (might be due to invalid IL or missing references)405				//IL_011f: Unknown result type (might be due to invalid IL or missing references)406				//IL_0061: Unknown result type (might be due to invalid IL or missing references)407				//IL_006c: Unknown result type (might be due to invalid IL or missing references)408				//IL_0071: Unknown result type (might be due to invalid IL or missing references)409				//IL_0075: Unknown result type (might be due to invalid IL or missing references)410				//IL_007a: Unknown result type (might be due to invalid IL or missing references)411				//IL_008f: Unknown result type (might be due to invalid IL or missing references)412				//IL_0091: Unknown result type (might be due to invalid IL or missing references)413				int num = _003C_003E1__state;414				PolicyExtendedData policyExtendedData = _003C_003E4__this;415				try416				{417					ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter> val;418					if (num == 0)419					{420						val = _003C_003Eu__1;421						_003C_003Eu__1 = default(ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter>);422						num = (_003C_003E1__state = -1);423						goto IL_00c6;424					}425					ConfiguredValueTaskAwaiter<ApplyResult> val2;426					if (num == 1)427					{428						val2 = _003C_003Eu__2;429						_003C_003Eu__2 = default(ConfiguredValueTaskAwaiter<ApplyResult>);430						num = (_003C_003E1__state = -1);431						goto IL_0151;432					}433					if (values != null)434					{435						_003Cidx_003E5__2 = 0;436						goto IL_016b;437					}438					goto end_IL_000e;439					IL_016b:440					if (_003Cidx_003E5__2 < ((System.Collections.Generic.IReadOnlyCollection<IEntity>)policyExtendedData._entities).Count)441					{442						ATT.Customizer.PolicyFilter.PolicyFilter policyFilter = values[_003Cidx_003E5__2]?.ToCustomizerFilter();443						if (policyFilter != null)444						{445							val = policyFilter.ConvertFilterFromClientAsync(qr.Session, ct).ConfigureAwait(false).GetAwaiter();446							if (!val.IsCompleted)447							{448								num = (_003C_003E1__state = 0);449								_003C_003Eu__1 = val;450								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter>, _003CApplyAsync_003Ed__5>(ref val, ref this);451								return;452							}453							goto IL_00c6;454						}455						goto IL_0159;456					}457					goto end_IL_000e;458					IL_0151:459					val2.GetResult();460					goto IL_0159;461					IL_0159:462					_003Cidx_003E5__2++;463					goto IL_016b;464					IL_00c6:465					string whereClauseMeta = val.GetResult().GetWhereClauseMeta();466					val2 = policyExtendedData._entities[_003Cidx_003E5__2].PutValueAsync("WhereClauseMeta", whereClauseMeta, ct).ConfigureAwait(false).GetAwaiter();467					if (!val2.IsCompleted)468					{469						num = (_003C_003E1__state = 1);470						_003C_003Eu__2 = val2;471						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003CApplyAsync_003Ed__5>(ref val2, ref this);472						return;473					}474					goto IL_0151;475					end_IL_000e:;476				}477				catch (System.Exception exception)478				{479					_003C_003E1__state = -2;480					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);481					return;482				}483				_003C_003E1__state = -2;484				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();485			}486487			[DebuggerHidden]488			private void SetStateMachine(IAsyncStateMachine stateMachine)489			{490				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);491			}492		}493494		[StructLayout((LayoutKind)3)]495		[CompilerGenerated]496		private struct _003CGetDataAsync_003Ed__4 : IAsyncStateMachine497		{498			public int _003C_003E1__state;499500			public AsyncTaskMethodBuilder<PolicyFilterData[]> _003C_003Et__builder;501502			public PolicyExtendedData _003C_003E4__this;503504			public CancellationToken ct;505506			private ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<PolicyFilterData>> _003C_003Eu__1;507508			private void MoveNext()509			{510				//IL_0088: Unknown result type (might be due to invalid IL or missing references)511				//IL_008d: Unknown result type (might be due to invalid IL or missing references)512				//IL_0095: Unknown result type (might be due to invalid IL or missing references)513				//IL_0025: Unknown result type (might be due to invalid IL or missing references)514				//IL_002a: Unknown result type (might be due to invalid IL or missing references)515				//IL_0042: Unknown result type (might be due to invalid IL or missing references)516				//IL_004d: Unknown result type (might be due to invalid IL or missing references)517				//IL_0052: Unknown result type (might be due to invalid IL or missing references)518				//IL_0056: Unknown result type (might be due to invalid IL or missing references)519				//IL_005b: Unknown result type (might be due to invalid IL or missing references)520				//IL_0070: Unknown result type (might be due to invalid IL or missing references)521				//IL_0072: Unknown result type (might be due to invalid IL or missing references)522				int num = _003C_003E1__state;523				PolicyExtendedData policyExtendedData = _003C_003E4__this;524				PolicyFilterData[] result;525				try526				{527					ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<PolicyFilterData>> val;528					if (num != 0)529					{530						_003C_003Ec__DisplayClass4_0 CS_0024_003C_003E8__locals4 = new _003C_003Ec__DisplayClass4_0531						{532							_003C_003E4__this = _003C_003E4__this,533							ct = ct534						};535						val = ((System.Collections.Generic.IEnumerable<IEntity>)policyExtendedData._entities).SelectAsync<IEntity, PolicyFilterData>([AsyncStateMachine(typeof(_003C_003Ec__DisplayClass4_0._003C_003CGetDataAsync_003Eb__0_003Ed))] async (IEntity e, CancellationToken cx) => await CS_0024_003C_003E8__locals4._003C_003E4__this._cache.GetPolicyFilterDataAsync(e, CS_0024_003C_003E8__locals4._003C_003E4__this._session, CS_0024_003C_003E8__locals4.ct).ConfigureAwait(false), CS_0024_003C_003E8__locals4.ct).ConfigureAwait(false).GetAwaiter();536						if (!val.IsCompleted)537						{538							num = (_003C_003E1__state = 0);539							_003C_003Eu__1 = val;540							_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<PolicyFilterData>>, _003CGetDataAsync_003Ed__4>(ref val, ref this);541							return;542						}543					}544					else545					{546						val = _003C_003Eu__1;547						_003C_003Eu__1 = default(ConfiguredTaskAwaiter<System.Collections.Generic.IEnumerable<PolicyFilterData>>);548						num = (_003C_003E1__state = -1);549					}550					result = Enumerable.ToArray<PolicyFilterData>(val.GetResult());551				}552				catch (System.Exception exception)553				{554					_003C_003E1__state = -2;555					_003C_003Et__builder.SetException(exception);556					return;557				}558				_003C_003E1__state = -2;559				_003C_003Et__builder.SetResult(result);560			}561562			[DebuggerHidden]563			private void SetStateMachine(IAsyncStateMachine stateMachine)564			{565				_003C_003Et__builder.SetStateMachine(stateMachine);566			}567		}568569		private readonly System.Collections.Generic.IReadOnlyList<IEntity> _entities;570571		private readonly ISession _session;572573		private readonly IWizardParmCache _cache;574575		public PolicyExtendedData(System.Collections.Generic.IReadOnlyList<IEntity> entities, ISession session, IWizardParmCache cache)576		{577			_entities = entities;578			_session = session;579			_cache = cache;580		}581582		[AsyncStateMachine(typeof(_003CGetDataAsync_003Ed__4))]583		public async System.Threading.Tasks.Task<PolicyFilterData[]> GetDataAsync(CancellationToken ct = default(CancellationToken))584		{585			//IL_0002: Unknown result type (might be due to invalid IL or missing references)586			//IL_0007: Unknown result type (might be due to invalid IL or missing references)587			//IL_0016: Unknown result type (might be due to invalid IL or missing references)588			//IL_0017: Unknown result type (might be due to invalid IL or missing references)589			return Enumerable.ToArray<PolicyFilterData>(await ((System.Collections.Generic.IEnumerable<IEntity>)_entities).SelectAsync<IEntity, PolicyFilterData>([AsyncStateMachine(typeof(_003C_003Ec__DisplayClass4_0._003C_003CGetDataAsync_003Eb__0_003Ed))] async (IEntity e, CancellationToken cx) => await _cache.GetPolicyFilterDataAsync(e, _session, ct).ConfigureAwait(false), ct).ConfigureAwait(false));590		}591592		[AsyncStateMachine(typeof(_003CApplyAsync_003Ed__5))]593		public System.Threading.Tasks.Task ApplyAsync(IRequest qr, ATT.CompositionApi.Attestation.PolicyFilter[] values, CancellationToken ct = default(CancellationToken))594		{595			//IL_0002: Unknown result type (might be due to invalid IL or missing references)596			//IL_0007: Unknown result type (might be due to invalid IL or missing references)597			//IL_0026: Unknown result type (might be due to invalid IL or missing references)598			//IL_0027: Unknown result type (might be due to invalid IL or missing references)599			_003CApplyAsync_003Ed__5 _003CApplyAsync_003Ed__ = default(_003CApplyAsync_003Ed__5);600			_003CApplyAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();601			_003CApplyAsync_003Ed__._003C_003E4__this = this;602			_003CApplyAsync_003Ed__.qr = qr;603			_003CApplyAsync_003Ed__.values = values;604			_003CApplyAsync_003Ed__.ct = ct;605			_003CApplyAsync_003Ed__._003C_003E1__state = -1;606			((AsyncTaskMethodBuilder)(ref _003CApplyAsync_003Ed__._003C_003Et__builder)).Start<_003CApplyAsync_003Ed__5>(ref _003CApplyAsync_003Ed__);607			return ((AsyncTaskMethodBuilder)(ref _003CApplyAsync_003Ed__._003C_003Et__builder)).Task;608		}609610		public System.Threading.Tasks.Task CommitAsync(IUnitOfWork unitOfWork, CancellationToken ct = default(CancellationToken))611		{612			return NullTask.Instance;613		}614	}615616	[CompilerGenerated]617	private sealed class _003C_003Ec__DisplayClass3_0618	{619		[StructLayout((LayoutKind)3)]620		private struct _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed : IAsyncStateMachine621		{622			public int _003C_003E1__state;623624			public AsyncTaskMethodBuilder _003C_003Et__builder;625626			public EntityEventArgs args;627628			public _003C_003Ec__DisplayClass3_0 _003C_003E4__this;629630			public CancellationToken cx;631632			private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__1;633634			private void MoveNext()635			{636				//IL_00a3: Unknown result type (might be due to invalid IL or missing references)637				//IL_00a8: Unknown result type (might be due to invalid IL or missing references)638				//IL_00af: Unknown result type (might be due to invalid IL or missing references)639				//IL_005b: Unknown result type (might be due to invalid IL or missing references)640				//IL_006a: Unknown result type (might be due to invalid IL or missing references)641				//IL_006f: Unknown result type (might be due to invalid IL or missing references)642				//IL_0073: Unknown result type (might be due to invalid IL or missing references)643				//IL_0078: Unknown result type (might be due to invalid IL or missing references)644				//IL_008c: Unknown result type (might be due to invalid IL or missing references)645				//IL_008d: Unknown result type (might be due to invalid IL or missing references)646				int num = _003C_003E1__state;647				_003C_003Ec__DisplayClass3_0 _003C_003Ec__DisplayClass3_ = _003C_003E4__this;648				try649				{650					ConfiguredValueTaskAwaiter<ApplyResult> val;651					if (num == 0)652					{653						val = _003C_003Eu__1;654						_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<ApplyResult>);655						num = (_003C_003E1__state = -1);656						goto IL_00be;657					}658					if (args.Type == EntityEventType.ColumnChanged && args is EntityColumnEventArgs e && e.Columnname == "UID_AttestationObject")659					{660						val = _003C_003Ec__DisplayClass3_.arg.Entity.PutValueAsync("UID_PWODecisionMethod", null, cx).ConfigureAwait(false).GetAwaiter();661						if (!val.IsCompleted)662						{663							num = (_003C_003E1__state = 0);664							_003C_003Eu__1 = val;665							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed>(ref val, ref this);666							return;667						}668						goto IL_00be;669					}670					goto end_IL_000e;671					IL_00be:672					val.GetResult();673					end_IL_000e:;674				}675				catch (System.Exception exception)676				{677					_003C_003E1__state = -2;678					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);679					return;680				}681				_003C_003E1__state = -2;682				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();683			}684685			[DebuggerHidden]686			private void SetStateMachine(IAsyncStateMachine stateMachine)687			{688				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);689			}690		}691692		public IEntityProcessingContext arg;693694		[AsyncStateMachine(typeof(_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed))]695		internal System.Threading.Tasks.Task _003CSetDecisionMethodNullOnAttObjChange_003Eb__0(EntityEventArgs args, CancellationToken cx)696		{697			//IL_0002: Unknown result type (might be due to invalid IL or missing references)698			//IL_0007: Unknown result type (might be due to invalid IL or missing references)699			//IL_001e: Unknown result type (might be due to invalid IL or missing references)700			//IL_001f: Unknown result type (might be due to invalid IL or missing references)701			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed = default(_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed);702			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();703			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003E4__this = this;704			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed.args = args;705			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed.cx = cx;706			_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003E1__state = -1;707			((AsyncTaskMethodBuilder)(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed>(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed);708			return ((AsyncTaskMethodBuilder)(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder)).Task;709		}710	}711712	[StructLayout((LayoutKind)3)]713	[CompilerGenerated]714	private struct _003CBuildWhereClauseAsync_003Ed__2 : IAsyncStateMachine715	{716		public int _003C_003E1__state;717718		public AsyncTaskMethodBuilder _003C_003Et__builder;719720		public IEntityProcessingContext cx;721722		public CancellationToken ct;723724		private ConfiguredValueTaskAwaiter<object> _003C_003Eu__1;725726		private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__2;727728		private void MoveNext()729		{730			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)731			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)732			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)733			//IL_00f2: Unknown result type (might be due to invalid IL or missing references)734			//IL_0101: Unknown result type (might be due to invalid IL or missing references)735			//IL_0106: Unknown result type (might be due to invalid IL or missing references)736			//IL_010a: Unknown result type (might be due to invalid IL or missing references)737			//IL_010f: Unknown result type (might be due to invalid IL or missing references)738			//IL_013c: Unknown result type (might be due to invalid IL or missing references)739			//IL_0141: Unknown result type (might be due to invalid IL or missing references)740			//IL_0149: Unknown result type (might be due to invalid IL or missing references)741			//IL_0124: Unknown result type (might be due to invalid IL or missing references)742			//IL_0126: Unknown result type (might be due to invalid IL or missing references)743			//IL_0072: Unknown result type (might be due to invalid IL or missing references)744			//IL_0081: Unknown result type (might be due to invalid IL or missing references)745			//IL_0086: Unknown result type (might be due to invalid IL or missing references)746			//IL_008a: Unknown result type (might be due to invalid IL or missing references)747			//IL_008f: Unknown result type (might be due to invalid IL or missing references)748			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)749			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)750			int num = _003C_003E1__state;751			try752			{753				ConfiguredValueTaskAwaiter<object> val;754				if (num == 0)755				{756					val = _003C_003Eu__1;757					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<object>);758					num = (_003C_003E1__state = -1);759					goto IL_00d8;760				}761				ConfiguredValueTaskAwaiter<ApplyResult> val2;762				if (num == 1)763				{764					val2 = _003C_003Eu__2;765					_003C_003Eu__2 = default(ConfiguredValueTaskAwaiter<ApplyResult>);766					num = (_003C_003E1__state = -1);767					goto IL_0158;768				}769				if (cx.Type == EntityProcessingType.BeforeSave)770				{771					IEntityColumn entityColumn = cx.Entity.Columns["WhereClauseMeta"];772					if (entityColumn.IsDifferent && !string.IsNullOrEmpty(entityColumn.GetValue<string>()))773					{774						val = cx.Entity.CallFunctionAsync("BuildWhereClause", ct).ConfigureAwait(false).GetAwaiter();775						if (!val.IsCompleted)776						{777							num = (_003C_003E1__state = 0);778							_003C_003Eu__1 = val;779							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003CBuildWhereClauseAsync_003Ed__2>(ref val, ref this);780							return;781						}782						goto IL_00d8;783					}784				}785				goto end_IL_0007;786				IL_0158:787				val2.GetResult();788				goto end_IL_0007;789				IL_00d8:790				object result = val.GetResult();791				val2 = cx.Entity.PutValueAsync("WhereClause", result, ct).ConfigureAwait(false).GetAwaiter();792				if (!val2.IsCompleted)793				{794					num = (_003C_003E1__state = 1);795					_003C_003Eu__2 = val2;796					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003CBuildWhereClauseAsync_003Ed__2>(ref val2, ref this);797					return;798				}799				goto IL_0158;800				end_IL_0007:;801			}802			catch (System.Exception exception)803			{804				_003C_003E1__state = -2;805				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);806				return;807			}808			_003C_003E1__state = -2;809			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();810		}811812		[DebuggerHidden]813		private void SetStateMachine(IAsyncStateMachine stateMachine)814		{815			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);816		}817	}818819	[StructLayout((LayoutKind)3)]820	[CompilerGenerated]821	private struct _003CCreateNew_003Ed__5 : IAsyncStateMachine822	{823		public int _003C_003E1__state;824825		public AsyncTaskMethodBuilder _003C_003Et__builder;826827		public IEntityProcessingContext cx;828829		public AttestationConfig config;830831		public CancellationToken ct;832833		private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__1;834835		private void MoveNext()836		{837			//IL_0095: Unknown result type (might be due to invalid IL or missing references)838			//IL_009a: Unknown result type (might be due to invalid IL or missing references)839			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)840			//IL_0122: Unknown result type (might be due to invalid IL or missing references)841			//IL_0127: Unknown result type (might be due to invalid IL or missing references)842			//IL_012e: Unknown result type (might be due to invalid IL or missing references)843			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)844			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)845			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)846			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)847			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)848			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)849			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)850			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)851			//IL_0170: Unknown result type (might be due to invalid IL or missing references)852			//IL_017e: Unknown result type (might be due to invalid IL or missing references)853			//IL_0183: Unknown result type (might be due to invalid IL or missing references)854			//IL_0186: Unknown result type (might be due to invalid IL or missing references)855			//IL_018b: Unknown result type (might be due to invalid IL or missing references)856			//IL_004c: Unknown result type (might be due to invalid IL or missing references)857			//IL_005a: Unknown result type (might be due to invalid IL or missing references)858			//IL_005f: Unknown result type (might be due to invalid IL or missing references)859			//IL_0062: Unknown result type (might be due to invalid IL or missing references)860			//IL_0067: Unknown result type (might be due to invalid IL or missing references)861			//IL_0108: Unknown result type (might be due to invalid IL or missing references)862			//IL_0109: Unknown result type (might be due to invalid IL or missing references)863			//IL_019f: Unknown result type (might be due to invalid IL or missing references)864			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)865			//IL_007b: Unknown result type (might be due to invalid IL or missing references)866			//IL_007c: Unknown result type (might be due to invalid IL or missing references)867			int num = _003C_003E1__state;868			try869			{870				ConfiguredValueTaskAwaiter<ApplyResult> val;871				switch (num)872				{873				default:874					if (cx.Type == EntityProcessingType.CreateNew)875					{876						val = cx.Entity.PutValueAsync("SolutionDays", config.VI_Attestation_NEW_POLICY_DEFAULT_SOLUTION_DAYS, ct).ConfigureAwait(false).GetAwaiter();877						if (!val.IsCompleted)878						{879							num = (_003C_003E1__state = 0);880							_003C_003Eu__1 = val;881							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003CCreateNew_003Ed__5>(ref val, ref this);882							return;883						}884						goto IL_00b0;885					}886					goto end_IL_0007;887				case 0:888					val = _003C_003Eu__1;889					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<ApplyResult>);890					num = (_003C_003E1__state = -1);891					goto IL_00b0;892				case 1:893					val = _003C_003Eu__1;894					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<ApplyResult>);895					num = (_003C_003E1__state = -1);896					goto IL_013d;897				case 2:898					{899						val = _003C_003Eu__1;900						_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<ApplyResult>);901						num = (_003C_003E1__state = -1);902						break;903					}904					IL_00b0:905					val.GetResult();906					val = cx.Entity.PutValueAsync("IsAutoCloseOldCases", config.VI_Attestation_NEW_POLICY_DEFAULT_IS_AUTO_CLOSE_OLD_CASES, ct).ConfigureAwait(false).GetAwaiter();907					if (!val.IsCompleted)908					{909						num = (_003C_003E1__state = 1);910						_003C_003Eu__1 = val;911						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003CCreateNew_003Ed__5>(ref val, ref this);912						return;913					}914					goto IL_013d;915					IL_013d:916					val.GetResult();917					val = cx.Entity.PutValueAsync("UID_PersonOwner", cx.Request.Session.User().Uid, ct).ConfigureAwait(false).GetAwaiter();918					if (!val.IsCompleted)919					{920						num = (_003C_003E1__state = 2);921						_003C_003Eu__1 = val;922						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003CCreateNew_003Ed__5>(ref val, ref this);923						return;924					}925					break;926				}927				val.GetResult();928				end_IL_0007:;929			}930			catch (System.Exception exception)931			{932				_003C_003E1__state = -2;933				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);934				return;935			}936			_003C_003E1__state = -2;937			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();938		}939940		[DebuggerHidden]941		private void SetStateMachine(IAsyncStateMachine stateMachine)942		{943			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);944		}945	}946947	[StructLayout((LayoutKind)3)]948	[CompilerGenerated]949	private struct _003CPrepareCandidateRequestAsync_003Ed__6 : IAsyncStateMachine950	{951		public int _003C_003E1__state;952953		public AsyncTaskMethodBuilder _003C_003Et__builder;954955		public IRequest request;956957		public IWizardParmCache cache;958959		public CancellationToken ct;960961		private IEntityCollectionRequest _003Cenv_003E5__2;962963		private ISession _003Csession_003E5__3;964965		private ParmData _003Cparm_003E5__4;966967		private ConfiguredTaskAwaiter<ParmData> _003C_003Eu__1;968969		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__2;970971		private void MoveNext()972		{973			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)974			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)975			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)976			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)977			//IL_00f5: Unknown result type (might be due to invalid IL or missing references)978			//IL_00fa: Unknown result type (might be due to invalid IL or missing references)979			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)980			//IL_0103: Unknown result type (might be due to invalid IL or missing references)981			//IL_0133: Unknown result type (might be due to invalid IL or missing references)982			//IL_0138: Unknown result type (might be due to invalid IL or missing references)983			//IL_0140: Unknown result type (might be due to invalid IL or missing references)984			//IL_005b: Unknown result type (might be due to invalid IL or missing references)985			//IL_0066: Unknown result type (might be due to invalid IL or missing references)986			//IL_006b: Unknown result type (might be due to invalid IL or missing references)987			//IL_006f: Unknown result type (might be due to invalid IL or missing references)988			//IL_0074: Unknown result type (might be due to invalid IL or missing references)989			//IL_0118: Unknown result type (might be due to invalid IL or missing references)990			//IL_011a: Unknown result type (might be due to invalid IL or missing references)991			//IL_0089: Unknown result type (might be due to invalid IL or missing references)992			//IL_008b: Unknown result type (might be due to invalid IL or missing references)993			int num = _003C_003E1__state;994			try995			{996				ConfiguredTaskAwaiter<IMetaTable> val;997				ConfiguredTaskAwaiter<ParmData> val2;998				if (num != 0)999				{1000					if (num == 1)1001					{1002						val = _003C_003Eu__2;1003						_003C_003Eu__2 = default(ConfiguredTaskAwaiter<IMetaTable>);1004						num = (_003C_003E1__state = -1);1005						goto IL_014f;1006					}1007					string uidParm = request.Parameters.Get<string>("uidattestationparm");1008					_003Cenv_003E5__2 = request.GetEntityCollectionRequest();1009					_003Csession_003E5__3 = request.Session;1010					val2 = cache.GetWizardParmDataAsync(_003Csession_003E5__3, uidParm, ct).ConfigureAwait(false).GetAwaiter();1011					if (!val2.IsCompleted)1012					{1013						num = (_003C_003E1__state = 0);1014						_003C_003Eu__1 = val2;1015						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<ParmData>, _003CPrepareCandidateRequestAsync_003Ed__6>(ref val2, ref this);1016						return;1017					}1018				}1019				else1020				{1021					val2 = _003C_003Eu__1;1022					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<ParmData>);1023					num = (_003C_003E1__state = -1);1024				}1025				ParmData result = val2.GetResult();1026				_003Cparm_003E5__4 = result;1027				string tableName = _003Cparm_003E5__4.TableName;1028				val = _003Csession_003E5__3.MetaData().GetTableAsync(tableName, ct).ConfigureAwait(false)1029					.GetAwaiter();1030				if (!val.IsCompleted)1031				{1032					num = (_003C_003E1__state = 1);1033					_003C_003Eu__2 = val;1034					((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CPrepareCandidateRequestAsync_003Ed__6>(ref val, ref this);1035					return;1036				}1037				goto IL_014f;1038				IL_014f:1039				IMetaTable result2 = val.GetResult();1040				_003Cenv_003E5__2.Table = new MetaTableDescriptor(result2);1041				string whereClause = _003Cparm_003E5__4.WhereClause;1042				if (!string.IsNullOrEmpty(whereClause))1043				{1044					((System.Collections.Generic.ICollection<Clause>)_003Cenv_003E5__2.FilterClauses).Add((Clause)new WhereClause(_003Csession_003E5__3.Variables.Replace(whereClause)));1045				}1046			}1047			catch (System.Exception exception)1048			{1049				_003C_003E1__state = -2;1050				_003Cenv_003E5__2 = null;1051				_003Csession_003E5__3 = null;1052				_003Cparm_003E5__4 = null;1053				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1054				return;1055			}1056			_003C_003E1__state = -2;1057			_003Cenv_003E5__2 = null;1058			_003Csession_003E5__3 = null;1059			_003Cparm_003E5__4 = null;1060			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1061		}10621063		[DebuggerHidden]1064		private void SetStateMachine(IAsyncStateMachine stateMachine)1065		{1066			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1067		}1068	}10691070	[StructLayout((LayoutKind)3)]1071	[CompilerGenerated]1072	private struct _003CPrepareRequestAsync_003Ed__7 : IAsyncStateMachine1073	{1074		public int _003C_003E1__state;10751076		public AsyncTaskMethodBuilder _003C_003Et__builder;10771078		public IRequest request;10791080		public IWizardParmCache cache;10811082		public CancellationToken ct;10831084		private ATT.Customizer.PolicyFilter.PolicyFilter _003Cfilter_003E5__2;10851086		private string _003CuidAttestationObject_003E5__3;10871088		private string _003CuidPickCategory_003E5__4;10891090		private AttestationObjectData _003CobjData_003E5__5;10911092		private IEntityCollectionRequest _003Cenv_003E5__6;10931094		private ISession _003Csession_003E5__7;10951096		private string _003CwhereClause_003E5__8;10971098		private ConfiguredTaskAwaiter<AttestationObjectData> _003C_003Eu__1;10991100		private ISqlFormatter _003Csqlf_003E5__9;11011102		private ConfiguredTaskAwaiter<string> _003C_003Eu__2;11031104		private ConfiguredTaskAwaiter<IEntityCollection> _003C_003Eu__3;11051106		private PolicyFilterBuilder _003CpolicyFilterBuilder_003E5__10;11071108		private ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter> _003C_003Eu__4;11091110		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__5;11111112		private void MoveNext()1113		{1114			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)1115			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)1116			//IL_00e9: Unknown result type (might be due to invalid IL or missing references)1117			//IL_01eb: Unknown result type (might be due to invalid IL or missing references)1118			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)1119			//IL_01f8: Unknown result type (might be due to invalid IL or missing references)1120			//IL_02f0: Unknown result type (might be due to invalid IL or missing references)1121			//IL_02f5: Unknown result type (might be due to invalid IL or missing references)1122			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)1123			//IL_03e8: Unknown result type (might be due to invalid IL or missing references)1124			//IL_03ed: Unknown result type (might be due to invalid IL or missing references)1125			//IL_03f5: Unknown result type (might be due to invalid IL or missing references)1126			//IL_0470: Unknown result type (might be due to invalid IL or missing references)1127			//IL_0475: Unknown result type (might be due to invalid IL or missing references)1128			//IL_047d: Unknown result type (might be due to invalid IL or missing references)1129			//IL_0504: Unknown result type (might be due to invalid IL or missing references)1130			//IL_0509: Unknown result type (might be due to invalid IL or missing references)1131			//IL_0511: Unknown result type (might be due to invalid IL or missing references)1132			//IL_0096: Unknown result type (might be due to invalid IL or missing references)1133			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)1134			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)1135			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)1136			//IL_00af: Unknown result type (might be due to invalid IL or missing references)1137			//IL_02a7: Unknown result type (might be due to invalid IL or missing references)1138			//IL_02b2: Unknown result type (might be due to invalid IL or missing references)1139			//IL_02b7: Unknown result type (might be due to invalid IL or missing references)1140			//IL_02bb: Unknown result type (might be due to invalid IL or missing references)1141			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)1142			//IL_0427: Unknown result type (might be due to invalid IL or missing references)1143			//IL_0432: Unknown result type (might be due to invalid IL or missing references)1144			//IL_0437: Unknown result type (might be due to invalid IL or missing references)1145			//IL_043b: Unknown result type (might be due to invalid IL or missing references)1146			//IL_0440: Unknown result type (might be due to invalid IL or missing references)1147			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)1148			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)1149			//IL_02d5: Unknown result type (might be due to invalid IL or missing references)1150			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)1151			//IL_0455: Unknown result type (might be due to invalid IL or missing references)1152			//IL_0457: Unknown result type (might be due to invalid IL or missing references)1153			//IL_04bb: Unknown result type (might be due to invalid IL or missing references)1154			//IL_04c6: Unknown result type (might be due to invalid IL or missing references)1155			//IL_04cb: Unknown result type (might be due to invalid IL or missing references)1156			//IL_04cf: Unknown result type (might be due to invalid IL or missing references)1157			//IL_04d4: Unknown result type (might be due to invalid IL or missing references)1158			//IL_04e9: Unknown result type (might be due to invalid IL or missing references)1159			//IL_04eb: Unknown result type (might be due to invalid IL or missing references)1160			//IL_039f: Unknown result type (might be due to invalid IL or missing references)1161			//IL_03aa: Unknown result type (might be due to invalid IL or missing references)1162			//IL_03af: Unknown result type (might be due to invalid IL or missing references)1163			//IL_03b3: Unknown result type (might be due to invalid IL or missing references)1164			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)1165			//IL_03cd: Unknown result type (might be due to invalid IL or missing references)1166			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)1167			//IL_01a2: Unknown result type (might be due to invalid IL or missing references)1168			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)1169			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)1170			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)1171			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)1172			//IL_01d0: Unknown result type (might be due to invalid IL or missing references)1173			//IL_01d2: Unknown result type (might be due to invalid IL or missing references)1174			int num = _003C_003E1__state;1175			try1176			{1177				ConfiguredTaskAwaiter<AttestationObjectData> val5;1178				ConfiguredTaskAwaiter<IEntityCollection> val4;1179				ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter> val3;1180				ConfiguredTaskAwaiter<string> val2;1181				ConfiguredTaskAwaiter<IMetaTable> val;1182				string result;1183				AttestationObjectData result2;1184				string result3;1185				string whereClause;1186				IEntityCollection result4;1187				ATT.Customizer.PolicyFilter.PolicyFilter result5;1188				switch (num)1189				{1190				default:1191					_003Cfilter_003E5__2 = request.Parameters.Get<ATT.CompositionApi.Attestation.PolicyFilter>("policyfilter").ToCustomizerFilter();1192					_003CuidAttestationObject_003E5__3 = request.Parameters.Get<string>("uidattestationobject");1193					_003CuidPickCategory_003E5__4 = request.Parameters.Get<string>("uidpickcategory");1194					val5 = cache.GetAttestationObjectConfigAsync(request.Session, _003CuidAttestationObject_003E5__3, ct).ConfigureAwait(false).GetAwaiter();1195					if (!val5.IsCompleted)1196					{1197						num = (_003C_003E1__state = 0);1198						_003C_003Eu__1 = val5;1199						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<AttestationObjectData>, _003CPrepareRequestAsync_003Ed__7>(ref val5, ref this);1200						return;1201					}1202					goto IL_00f8;1203				case 0:1204					val5 = _003C_003Eu__1;1205					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<AttestationObjectData>);1206					num = (_003C_003E1__state = -1);1207					goto IL_00f8;1208				case 1:1209					val2 = _003C_003Eu__2;1210					_003C_003Eu__2 = default(ConfiguredTaskAwaiter<string>);1211					num = (_003C_003E1__state = -1);1212					goto IL_0207;1213				case 2:1214					val4 = _003C_003Eu__3;1215					_003C_003Eu__3 = default(ConfiguredTaskAwaiter<IEntityCollection>);1216					num = (_003C_003E1__state = -1);1217					goto IL_030c;1218				case 3:1219					val3 = _003C_003Eu__4;1220					_003C_003Eu__4 = default(ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter>);1221					num = (_003C_003E1__state = -1);1222					goto IL_0404;1223				case 4:1224					val2 = _003C_003Eu__2;1225					_003C_003Eu__2 = default(ConfiguredTaskAwaiter<string>);1226					num = (_003C_003E1__state = -1);1227					goto IL_048c;1228				case 5:1229					{1230						val = _003C_003Eu__5;1231						_003C_003Eu__5 = default(ConfiguredTaskAwaiter<IMetaTable>);1232						num = (_003C_003E1__state = -1);1233						break;1234					}1235					IL_048c:1236					result = val2.GetResult();1237					_003CwhereClause_003E5__8 = result;1238					_003CpolicyFilterBuilder_003E5__10 = null;1239					goto IL_04a4;1240					IL_00f8:1241					result2 = val5.GetResult();1242					_003CobjData_003E5__5 = result2;1243					_003Cenv_003E5__6 = request.GetEntityCollectionRequest();1244					_003Csession_003E5__7 = request.Session;1245					if (!Enumerable.Any<PolicyFilterElement>(((System.Collections.Generic.IEnumerable<PolicyFilterElement>)(_003Cfilter_003E5__2?.Elements)).AvoidNull()) && !string.IsNullOrEmpty(_003CuidPickCategory_003E5__4))1246					{1247						_003Csqlf_003E5__9 = request.Session.SqlFormatter();1248						val2 = request.Session.Source().GetSingleValueAsync<string>("QERPickCategory", "UID_DialogTable", _003Csqlf_003E5__9.UidComparison("UID_QERPickCategory", _003CuidPickCategory_003E5__4), ct).ConfigureAwait(false)1249							.GetAwaiter();1250						if (!val2.IsCompleted)1251						{1252							num = (_003C_003E1__state = 1);1253							_003C_003Eu__2 = val2;1254							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CPrepareRequestAsync_003Ed__7>(ref val2, ref this);1255							return;1256						}1257						goto IL_0207;1258					}1259					_003CpolicyFilterBuilder_003E5__10 = new PolicyFilterBuilder(_003Csession_003E5__7);1260					val3 = _003Cfilter_003E5__2.ConvertFilterFromClientAsync(request.Session, ct).ConfigureAwait(false).GetAwaiter();1261					if (!val3.IsCompleted)1262					{1263						num = (_003C_003E1__state = 3);1264						_003C_003Eu__4 = val3;1265						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<ATT.Customizer.PolicyFilter.PolicyFilter>, _003CPrepareRequestAsync_003Ed__7>(ref val3, ref this);1266						return;1267					}1268					goto IL_0404;1269					IL_0207:1270					result3 = val2.GetResult();1271					whereClause = _003Csqlf_003E5__9.AndRelation(_003Csqlf_003E5__9.UidComparison("UID_AttestationObject", _003CuidAttestationObject_003E5__3), _003Csqlf_003E5__9.UidComparison("UID_DialogTablePickCategory", result3), _003Csqlf_003E5__9.Comparison("WhereClauseSnippet", "%$UID[_]QERPickCategory$%", ValType.String, CompareOperator.Like));1272					val4 = request.Session.Source().GetCollectionAsync(Query.From("AttestationWizardParm").Where(whereClause).Select("WhereClauseSnippet"), EntityCollectionLoadType.Slim, ct).ConfigureAwait(false)1273						.GetAwaiter();1274					if (!val4.IsCompleted)1275					{1276						num = (_003C_003E1__state = 2);1277						_003C_003Eu__3 = val4;1278						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntityCollection>, _003CPrepareRequestAsync_003Ed__7>(ref val4, ref this);1279						return;1280					}1281					goto IL_030c;1282					IL_030c:1283					result4 = val4.GetResult();1284					if (((System.Collections.Generic.IReadOnlyCollection<IEntity>)result4).Count > 0)1285					{1286						_003CwhereClause_003E5__8 = Enumerable.First<IEntity>((System.Collections.Generic.IEnumerable<IEntity>)result4).GetValue("WhereClauseSnippet");1287						_003CwhereClause_003E5__8 = Regex.Replace(_003CwhereClause_003E5__8, "'\\$UID_QERPickCategory\\$'", _003Csqlf_003E5__9.FormatUidValue(_003CuidPickCategory_003E5__4), (RegexOptions)1);1288					}1289					else1290					{1291						_003CwhereClause_003E5__8 = "1=0";1292					}1293					_003Csqlf_003E5__9 = null;1294					goto IL_04a4;1295					IL_0404:1296					result5 = val3.GetResult();1297					_003Cfilter_003E5__2 = result5;1298					val2 = _003CpolicyFilterBuilder_003E5__10.GetWhereClauseAsync(_003Cfilter_003E5__2.GetWhereClauseMeta(), ct).ConfigureAwait(false).GetAwaiter();1299					if (!val2.IsCompleted)1300					{1301						num = (_003C_003E1__state = 4);1302						_003C_003Eu__2 = val2;1303						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CPrepareRequestAsync_003Ed__7>(ref val2, ref this);1304						return;1305					}1306					goto IL_048c;1307					IL_04a4:1308					val = _003Csession_003E5__7.MetaData().GetTableAsync(_003CobjData_003E5__5.TableName, ct).ConfigureAwait(false)1309						.GetAwaiter();1310					if (!val.IsCompleted)1311					{1312						num = (_003C_003E1__state = 5);1313						_003C_003Eu__5 = val;1314						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CPrepareRequestAsync_003Ed__7>(ref val, ref this);1315						return;1316					}1317					break;1318				}1319				IMetaTable result6 = val.GetResult();1320				_003Cenv_003E5__6.Table = new MetaTableDescriptor(result6);1321				_003Cenv_003E5__6.LoadType |= EntityCollectionLoadType.LoadForeignDisplaysEvenWhenExpensive | EntityCollectionLoadType.ForeignDisplaysForAllColumns;1322				if (!string.IsNullOrEmpty(_003CwhereClause_003E5__8))1323				{1324					((System.Collections.Generic.ICollection<Clause>)_003Cenv_003E5__6.FilterClauses).Add((Clause)new WhereClause(_003CwhereClause_003E5__8));1325				}1326				((System.Collections.Generic.ICollection<string>)_003Cenv_003E5__6.ColumnsToLoad).Add("XObjectKey");1327			}1328			catch (System.Exception exception)1329			{1330				_003C_003E1__state = -2;1331				_003Cfilter_003E5__2 = null;1332				_003CuidAttestationObject_003E5__3 = null;1333				_003CuidPickCategory_003E5__4 = null;1334				_003CobjData_003E5__5 = null;1335				_003Cenv_003E5__6 = null;1336				_003Csession_003E5__7 = null;1337				_003CwhereClause_003E5__8 = null;1338				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);1339				return;1340			}1341			_003C_003E1__state = -2;1342			_003Cfilter_003E5__2 = null;1343			_003CuidAttestationObject_003E5__3 = null;1344			_003CuidPickCategory_003E5__4 = null;1345			_003CobjData_003E5__5 = null;1346			_003Cenv_003E5__6 = null;1347			_003Csession_003E5__7 = null;1348			_003CwhereClause_003E5__8 = null;1349			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();1350		}13511352		[DebuggerHidden]1353		private void SetStateMachine(IAsyncStateMachine stateMachine)1354		{1355			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);1356		}1357	}13581359	public void Build(IApiBuilder builder)1360	{1361		AttestationConfig attConfig = builder.Resolver.Resolve<AttestationConfig>();1362		ISqlFormatter sqlFormatter = builder.Resolver.Resolve<ISqlFormatter>();1363		IMetaData meta = builder.Resolver.Resolve<IMetaData>();1364		IWizardParmCache parmCache = builder.Resolver.Resolve<IWizardParmCache>();1365		IRunStatisticsCache runCache = builder.Resolver.Resolve<IRunStatisticsCache>();1366		IPwoDecisionMethodCache pwodmCache = builder.Resolver.Resolve<IPwoDecisionMethodCache>();1367		IPwoDecisionStepCache pwostepCache = builder.Resolver.Resolve<IPwoDecisionStepCache>();1368		string text = sqlFormatter.EmptyClause("UID_QERPickCategory", ValType.String, FormatterOptions.NonUnicodeLiterals);1369		ICreate obj = CrudExtensions.WithResultColumns(QBM.CompositionApi.Definition.ExtensionMethods.With(QBM.CompositionApi.Definition.ExtensionMethods.With(Method.Define("attestation/policy/edit").FromTable("AttestationPolicy").EnableRead()1370			.WithWhereClause("not " + sqlFormatter.EmptyClause("WhereClauseMeta", ValType.String) + " or not " + text)1371			.WithWhereClause("UID_AttestationObject in (select ao.UID_AttestationObject from attestationobject ao join attestationwizardparm p on p.uid_attestationobject = ao.uid_attestationobject where ao.isdeactivatedbypreprocessor=0)")1372			.WithWhereClause((Func<IRequest, string>)GetAdminOrOwnerWhereClause)1373			.SubscribeProcessing((Func<IRequest, CancellationToken, System.Threading.Tasks.Task>)((IRequest r, CancellationToken ct) => RunsApi.LoadStatisticsAsync(r, runCache, ct)))1374			.EnableUpdate()1375			.As(EntityType.Interactive)1376			.EnableCreate()1377			.EnableDelete(), delegate(ICreate m)1378		{1379			m.Crud.Read.LoadType = EntityCollectionLoadType.Bulk | EntityCollectionLoadType.ForeignDisplaysForAllColumns;1380		}), delegate(ICreate m)1381		{1382			m.Crud.Read.EnableDataModelApi = true;1383			m.Crud.Read.DynamicFilters.Add((IDynamicFilter)new OwnedPoliciesFilter());1384		}), "UID_PersonOwner").WithWritableColumns("Ident_AttestationPolicy", "Description", "UID_DialogSchedule", "UID_AttestationObject", "UID_PWODecisionMethod", "UID_PersonOwner", "UID_QERPickCategory", "Areas", "Attestators", "UID_DialogCulture", "UID_AttestationPolicyGroup", "LimitOfOldCases", "IsShowElementsInvolved", "UID_QERTermsOfUse", "IsAutoCloseOldCases", "SolutionDays", "RiskIndex", "IsInActive", "IsApproveRequiresMfa");1385		ICalculatedProperty[] obj2 = new ICalculatedProperty[8]1386		{1387			new NextScheduleRunProperty(),1388			new PickCategoryMismatch("IsPickCategoryMismatch"),1389			new SampleDataMissingProperty("IsMissingPickCategory", parmCache),1390			new CalculatedProperty<bool>("IsOob", (Func<IPropertyValueContext, bool>)((IPropertyValueContext cx) => Uid.GetModuleOwner(cx.Entity.GetValue("UID_AttestationPolicy")) == cx.Session.Database().ModuleOwner), isReadOnly: true),1391			new CountOpenCasesProperty(runCache),1392			new IsPolicyWithRemoveProperty(pwodmCache, pwostepCache),1393			null,1394			null1395		};1396		MrProperty mrProperty = new MrProperty("Attestators", "AttestationPolicyHasApprover", "UID_AttestationPolicy", isWritable: true);1397		mrProperty.PropertyMetaData.DisplayMl = MultiLanguageStringData.FromWebTranslations("Attestors");1398		obj2[6] = mrProperty;1399		MrProperty mrProperty2 = new MrProperty("Areas", "AttestationPolicyInArea", "UID_AttestationPolicy", isWritable: true);1400		mrProperty2.PropertyMetaData.DisplayMl = MultiLanguageStringData.FromTableDisplay(meta.GetTable("ComplianceArea"));1401		obj2[7] = mrProperty2;1402		builder.AddMethod(obj.WithCalculatedProperties(obj2).Modify("Attestators", delegate(PropertyModifier modifier)1403		{1404			modifier.DynamicModifiers.Add(new RequireAttestatorsModifier());1405		}).WithExtendedData(new PolicyExtendedDataProvider(parmCache))1406			.Subscribe((Func<IEntityProcessingContext, CancellationToken, System.Threading.Tasks.Task>)((IEntityProcessingContext context, CancellationToken ct) => CreateNew(context, attConfig, ct)), (string)null)1407			.Subscribe((Action<IEntityProcessingContext>)SetDecisionMethodNullOnAttObjChange, (string)null)1408			.Subscribe((Func<IEntityProcessingContext, CancellationToken, System.Threading.Tasks.Task>)BuildWhereClauseAsync, (string)null));1409		builder.AddMethod(Method.Define("attestation/filter/matchingobjects/{uidattestationobject}").WithDescription("Returns objects matching the filter.").FromTable()1410			.WithParameter("policyfilter", typeof(ATT.CompositionApi.Attestation.PolicyFilter), "Policy filter data")1411			.WithParameter("uidpickcategory", typeof(string), "Unique selection identifier")1412			.WithParameter("uidattestationobject", typeof(string), "Unique attestation procedure identifier", null, null, isInQuery: false)1413			.EnableRead()1414			.Configure((Action<IRead>)delegate(IRead r)1415			{1416				r.Settings.ProcessingRequest.Subscribe((Func<IRequest, CancellationToken, System.Threading.Tasks.Task>)((IRequest q, CancellationToken ct) => PrepareRequestAsync(q, parmCache, ct)), (string)null);1417			})1418			.WithCalculatedProperties(new CalculatedProperty<string>("Key", (Func<IPropertyValueContext, string>)((IPropertyValueContext c) => c.Entity.GetValue("XObjectKey").String), isReadOnly: true)));1419		builder.AddMethod(Method.Define("attestation/filter/candidates/{uidattestationparm}").WithDescription("Returns candidate objects for a filter definition.").FromTable()1420			.WithParameter("uidattestationparm", typeof(string), "Unique attestation parameter identifier", null, null, isInQuery: false)1421			.EnableRead()1422			.Configure((Action<IRead>)delegate(IRead r)1423			{1424				r.Settings.ProcessingRequest.Subscribe((Func<IRequest, CancellationToken, System.Threading.Tasks.Task>)((IRequest q, CancellationToken ct) => PrepareCandidateRequestAsync(q, parmCache, ct)), (string)null);1425			}));1426	}14271428	internal static string GetAdminOrOwnerWhereClause(IRequest r)1429	{1430		if (OwnedPoliciesFilter.IsAdmin(r))1431		{1432			return null;1433		}1434		return OwnedPoliciesFilter.BuildClause(r);1435	}14361437	[AsyncStateMachine(typeof(_003CBuildWhereClauseAsync_003Ed__2))]1438	private static System.Threading.Tasks.Task BuildWhereClauseAsync(IEntityProcessingContext cx, CancellationToken ct)1439	{1440		//IL_0002: Unknown result type (might be due to invalid IL or missing references)1441		//IL_0007: Unknown result type (might be due to invalid IL or missing references)1442		//IL_0016: Unknown result type (might be due to invalid IL or missing references)1443		//IL_0017: Unknown result type (might be due to invalid IL or missing references)1444		_003CBuildWhereClauseAsync_003Ed__2 _003CBuildWhereClauseAsync_003Ed__ = default(_003CBuildWhereClauseAsync_003Ed__2);1445		_003CBuildWhereClauseAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1446		_003CBuildWhereClauseAsync_003Ed__.cx = cx;1447		_003CBuildWhereClauseAsync_003Ed__.ct = ct;1448		_003CBuildWhereClauseAsync_003Ed__._003C_003E1__state = -1;1449		((AsyncTaskMethodBuilder)(ref _003CBuildWhereClauseAsync_003Ed__._003C_003Et__builder)).Start<_003CBuildWhereClauseAsync_003Ed__2>(ref _003CBuildWhereClauseAsync_003Ed__);1450		return ((AsyncTaskMethodBuilder)(ref _003CBuildWhereClauseAsync_003Ed__._003C_003Et__builder)).Task;1451	}14521453	private static void SetDecisionMethodNullOnAttObjChange(IEntityProcessingContext arg)1454	{1455		_003C_003Ec__DisplayClass3_0 CS_0024_003C_003E8__locals5 = new _003C_003Ec__DisplayClass3_0();1456		CS_0024_003C_003E8__locals5.arg = arg;1457		if (CS_0024_003C_003E8__locals5.arg.Type == EntityProcessingType.CreateNew || CS_0024_003C_003E8__locals5.arg.Type == EntityProcessingType.Update)1458		{1459			CS_0024_003C_003E8__locals5.arg.Entity.Subscribe(new GenericAsyncObserver<EntityEventArgs>((Func<EntityEventArgs, CancellationToken, System.Threading.Tasks.Task>)([AsyncStateMachine(typeof(_003C_003Ec__DisplayClass3_0._003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed))] (EntityEventArgs args, CancellationToken cx) =>1460			{1461				//IL_0002: Unknown result type (might be due to invalid IL or missing references)1462				//IL_0007: Unknown result type (might be due to invalid IL or missing references)1463				//IL_001e: Unknown result type (might be due to invalid IL or missing references)1464				//IL_001f: Unknown result type (might be due to invalid IL or missing references)1465				_003C_003Ec__DisplayClass3_0._003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed = default(_003C_003Ec__DisplayClass3_0._003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed);1466				_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1467				_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003E4__this = CS_0024_003C_003E8__locals5;1468				_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed.args = args;1469				_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed.cx = cx;1470				_003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003E1__state = -1;1471				((AsyncTaskMethodBuilder)(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003Ec__DisplayClass3_0._003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed>(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed);1472				return ((AsyncTaskMethodBuilder)(ref _003C_003CSetDecisionMethodNullOnAttObjChange_003Eb__0_003Ed._003C_003Et__builder)).Task;1473			})));1474		}1475	}14761477	[AsyncStateMachine(typeof(_003CCreateNew_003Ed__5))]1478	private static System.Threading.Tasks.Task CreateNew(IEntityProcessingContext cx, AttestationConfig config, CancellationToken ct)1479	{1480		//IL_0002: Unknown result type (might be due to invalid IL or missing references)1481		//IL_0007: Unknown result type (might be due to invalid IL or missing references)1482		//IL_001e: Unknown result type (might be due to invalid IL or missing references)1483		//IL_001f: Unknown result type (might be due to invalid IL or missing references)1484		_003CCreateNew_003Ed__5 _003CCreateNew_003Ed__ = default(_003CCreateNew_003Ed__5);1485		_003CCreateNew_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1486		_003CCreateNew_003Ed__.cx = cx;1487		_003CCreateNew_003Ed__.config = config;1488		_003CCreateNew_003Ed__.ct = ct;1489		_003CCreateNew_003Ed__._003C_003E1__state = -1;1490		((AsyncTaskMethodBuilder)(ref _003CCreateNew_003Ed__._003C_003Et__builder)).Start<_003CCreateNew_003Ed__5>(ref _003CCreateNew_003Ed__);1491		return ((AsyncTaskMethodBuilder)(ref _003CCreateNew_003Ed__._003C_003Et__builder)).Task;1492	}14931494	[AsyncStateMachine(typeof(_003CPrepareCandidateRequestAsync_003Ed__6))]1495	private static System.Threading.Tasks.Task PrepareCandidateRequestAsync(IRequest request, IWizardParmCache cache, CancellationToken ct)1496	{1497		//IL_0002: Unknown result type (might be due to invalid IL or missing references)1498		//IL_0007: Unknown result type (might be due to invalid IL or missing references)1499		//IL_001e: Unknown result type (might be due to invalid IL or missing references)1500		//IL_001f: Unknown result type (might be due to invalid IL or missing references)1501		_003CPrepareCandidateRequestAsync_003Ed__6 _003CPrepareCandidateRequestAsync_003Ed__ = default(_003CPrepareCandidateRequestAsync_003Ed__6);1502		_003CPrepareCandidateRequestAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1503		_003CPrepareCandidateRequestAsync_003Ed__.request = request;1504		_003CPrepareCandidateRequestAsync_003Ed__.cache = cache;1505		_003CPrepareCandidateRequestAsync_003Ed__.ct = ct;1506		_003CPrepareCandidateRequestAsync_003Ed__._003C_003E1__state = -1;1507		((AsyncTaskMethodBuilder)(ref _003CPrepareCandidateRequestAsync_003Ed__._003C_003Et__builder)).Start<_003CPrepareCandidateRequestAsync_003Ed__6>(ref _003CPrepareCandidateRequestAsync_003Ed__);1508		return ((AsyncTaskMethodBuilder)(ref _003CPrepareCandidateRequestAsync_003Ed__._003C_003Et__builder)).Task;1509	}15101511	[AsyncStateMachine(typeof(_003CPrepareRequestAsync_003Ed__7))]1512	private static System.Threading.Tasks.Task PrepareRequestAsync(IRequest request, IWizardParmCache cache, CancellationToken ct)1513	{1514		//IL_0002: Unknown result type (might be due to invalid IL or missing references)1515		//IL_0007: Unknown result type (might be due to invalid IL or missing references)1516		//IL_001e: Unknown result type (might be due to invalid IL or missing references)1517		//IL_001f: Unknown result type (might be due to invalid IL or missing references)1518		_003CPrepareRequestAsync_003Ed__7 _003CPrepareRequestAsync_003Ed__ = default(_003CPrepareRequestAsync_003Ed__7);1519		_003CPrepareRequestAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();1520		_003CPrepareRequestAsync_003Ed__.request = request;1521		_003CPrepareRequestAsync_003Ed__.cache = cache;1522		_003CPrepareRequestAsync_003Ed__.ct = ct;1523		_003CPrepareRequestAsync_003Ed__._003C_003E1__state = -1;1524		((AsyncTaskMethodBuilder)(ref _003CPrepareRequestAsync_003Ed__._003C_003Et__builder)).Start<_003CPrepareRequestAsync_003Ed__7>(ref _003CPrepareRequestAsync_003Ed__);1525		return ((AsyncTaskMethodBuilder)(ref _003CPrepareRequestAsync_003Ed__._003C_003Et__builder)).Task;1526	}1527}1528