ATT.CompositionApi.Server.PlugIn/ATT.CompositionApi.Api/ATT_Policy_Editor.cs
Decompiler Source FileATT.CompositionApi.Server.PlugIn.ATT_Policy_EditorDecompiled Source
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_0Methods
DB/Dialog object references
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_AttestationPolicyAPI/entity calls
GetValue CreateNew GetValue SqlFormatter From Source PutValueAsync CallFunctionAsync User Database SubscribeRegistrations / handlers
None extracted.
Complete Source
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