ATT.CompositionApi.Server.PlugIn/ATT.CompositionApi.Api/ATT_Policy_Start.cs
Decompiler Source FileATT.CompositionApi.Server.PlugIn.ATT_Policy_StartDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- CallFunctionAsync: CreateAttestations at line 197
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.
references DB/Dialog objects
Summary: classes ATT_Policy_Start, PolicyStartInput, _003C_003Ec__DisplayClass0_0; methods MoveNext, SetStateMachine, _003CBuild_003Eb__0, Build; references AttestationPolicy; markers references DB/Dialog objects
Classes
ATT_Policy_Start PolicyStartInput _003C_003Ec__DisplayClass0_0DB/Dialog object references
OIM key/entity markers
ObjectKeysAPI/entity calls
Source StartUnitOfWorkRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Diagnostics;3using System.Runtime.CompilerServices;4using System.Runtime.InteropServices;5using System.Threading;6using System.Threading.Tasks;7using ATT.CompositionApi.Cache;8using QBM.CompositionApi.Definition;9using QBM.CompositionApi.Handling;10using QER.CompositionApi.Portal;11using VI.DB;12using VI.DB.Entities;1314namespace ATT.CompositionApi.Api;1516public class ATT_Policy_Start : IApiProviderFor<PortalApiProject>, IApiProvider17{18 public class PolicyStartInput19 {20 [field: CompilerGenerated]21 public string[] ObjectKeys22 {23 [CompilerGenerated]24 get;25 [CompilerGenerated]26 set;27 }28 }2930 [CompilerGenerated]31 private sealed class _003C_003Ec__DisplayClass0_032 {33 [StructLayout((LayoutKind)3)]34 private struct _003C_003CBuild_003Eb__0_003Ed : IAsyncStateMachine35 {36 public int _003C_003E1__state;3738 public AsyncTaskMethodBuilder _003C_003Et__builder;3940 public IRequest request;4142 public CancellationToken ct;4344 public PolicyStartInput input;4546 public _003C_003Ec__DisplayClass0_0 _003C_003E4__this;4748 private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__1;4950 private IUnitOfWork _003Cu_003E5__2;5152 private ConfiguredTaskAwaiter _003C_003Eu__2;5354 private ConfiguredValueTaskAwaiter<object> _003C_003Eu__3;5556 private void MoveNext()57 {58 //IL_009a: Unknown result type (might be due to invalid IL or missing references)59 //IL_009f: Unknown result type (might be due to invalid IL or missing references)60 //IL_00a7: Unknown result type (might be due to invalid IL or missing references)61 //IL_025e: Unknown result type (might be due to invalid IL or missing references)62 //IL_0263: Unknown result type (might be due to invalid IL or missing references)63 //IL_026b: Unknown result type (might be due to invalid IL or missing references)64 //IL_0051: Unknown result type (might be due to invalid IL or missing references)65 //IL_005c: Unknown result type (might be due to invalid IL or missing references)66 //IL_0061: Unknown result type (might be due to invalid IL or missing references)67 //IL_0065: Unknown result type (might be due to invalid IL or missing references)68 //IL_006a: Unknown result type (might be due to invalid IL or missing references)69 //IL_007f: Unknown result type (might be due to invalid IL or missing references)70 //IL_0081: Unknown result type (might be due to invalid IL or missing references)71 //IL_0153: Unknown result type (might be due to invalid IL or missing references)72 //IL_0158: Unknown result type (might be due to invalid IL or missing references)73 //IL_0160: Unknown result type (might be due to invalid IL or missing references)74 //IL_0214: Unknown result type (might be due to invalid IL or missing references)75 //IL_0223: Unknown result type (might be due to invalid IL or missing references)76 //IL_0228: Unknown result type (might be due to invalid IL or missing references)77 //IL_022c: Unknown result type (might be due to invalid IL or missing references)78 //IL_0231: Unknown result type (might be due to invalid IL or missing references)79 //IL_017d: Unknown result type (might be due to invalid IL or missing references)80 //IL_0188: Unknown result type (might be due to invalid IL or missing references)81 //IL_018d: Unknown result type (might be due to invalid IL or missing references)82 //IL_0191: Unknown result type (might be due to invalid IL or missing references)83 //IL_0196: Unknown result type (might be due to invalid IL or missing references)84 //IL_01c6: Unknown result type (might be due to invalid IL or missing references)85 //IL_01cb: Unknown result type (might be due to invalid IL or missing references)86 //IL_01d3: Unknown result type (might be due to invalid IL or missing references)87 //IL_010a: Unknown result type (might be due to invalid IL or missing references)88 //IL_0115: Unknown result type (might be due to invalid IL or missing references)89 //IL_011a: Unknown result type (might be due to invalid IL or missing references)90 //IL_011e: Unknown result type (might be due to invalid IL or missing references)91 //IL_0123: Unknown result type (might be due to invalid IL or missing references)92 //IL_0246: Unknown result type (might be due to invalid IL or missing references)93 //IL_0248: Unknown result type (might be due to invalid IL or missing references)94 //IL_01ab: Unknown result type (might be due to invalid IL or missing references)95 //IL_01ad: Unknown result type (might be due to invalid IL or missing references)96 //IL_0138: Unknown result type (might be due to invalid IL or missing references)97 //IL_013a: Unknown result type (might be due to invalid IL or missing references)98 int num = _003C_003E1__state;99 _003C_003Ec__DisplayClass0_0 _003C_003Ec__DisplayClass0_ = _003C_003E4__this;100 try101 {102 ConfiguredTaskAwaiter<IEntity> val2;103 IEntity result = default(IEntity);104 ConfiguredValueTaskAwaiter<object> val;105 string[] array;106 switch (num)107 {108 default:109 val2 = request.Session.Source().GetAsync("AttestationPolicy", request.Parameters.Get<string>("uidpolicy"), EntityLoadType.Interactive, ct).ConfigureAwait(false)110 .GetAwaiter();111 if (!val2.IsCompleted)112 {113 num = (_003C_003E1__state = 0);114 _003C_003Eu__1 = val2;115 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003C_003CBuild_003Eb__0_003Ed>(ref val2, ref this);116 return;117 }118 goto IL_00b6;119 case 0:120 val2 = _003C_003Eu__1;121 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);122 num = (_003C_003E1__state = -1);123 goto IL_00b6;124 case 1:125 case 2:126 try127 {128 ConfiguredTaskAwaiter val3;129 ConfiguredTaskAwaitable val4;130 if (num != 1)131 {132 if (num == 2)133 {134 val3 = _003C_003Eu__2;135 _003C_003Eu__2 = default(ConfiguredTaskAwaiter);136 num = (_003C_003E1__state = -1);137 goto IL_01e2;138 }139 val4 = _003Cu_003E5__2.GenerateAsync(result, "CREATEATTESTATIONS", null, ct).ConfigureAwait(false);140 val3 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();141 if (!((ConfiguredTaskAwaiter)(ref val3)).IsCompleted)142 {143 num = (_003C_003E1__state = 1);144 _003C_003Eu__2 = val3;145 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_003CBuild_003Eb__0_003Ed>(ref val3, ref this);146 return;147 }148 }149 else150 {151 val3 = _003C_003Eu__2;152 _003C_003Eu__2 = default(ConfiguredTaskAwaiter);153 num = (_003C_003E1__state = -1);154 }155 ((ConfiguredTaskAwaiter)(ref val3)).GetResult();156 val4 = _003Cu_003E5__2.CommitAsync(ct).ConfigureAwait(false);157 val3 = ((ConfiguredTaskAwaitable)(ref val4)).GetAwaiter();158 if (!((ConfiguredTaskAwaiter)(ref val3)).IsCompleted)159 {160 num = (_003C_003E1__state = 2);161 _003C_003Eu__2 = val3;162 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_003CBuild_003Eb__0_003Ed>(ref val3, ref this);163 return;164 }165 goto IL_01e2;166 IL_01e2:167 ((ConfiguredTaskAwaiter)(ref val3)).GetResult();168 }169 finally170 {171 if (num < 0 && _003Cu_003E5__2 != null)172 {173 ((System.IDisposable)_003Cu_003E5__2).Dispose();174 }175 }176 _003Cu_003E5__2 = null;177 break;178 case 3:179 {180 val = _003C_003Eu__3;181 _003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<object>);182 num = (_003C_003E1__state = -1);183 goto IL_027a;184 }185 IL_00b6:186 result = val2.GetResult();187 array = input.ObjectKeys;188 if (array != null && array.Length == 0)189 {190 array = null;191 }192 if (array == null)193 {194 _003Cu_003E5__2 = request.Session.StartUnitOfWork();195 goto case 1;196 }197 val = result.CallFunctionAsync("CreateAttestations", array, ct).ConfigureAwait(false).GetAwaiter();198 if (!val.IsCompleted)199 {200 num = (_003C_003E1__state = 3);201 _003C_003Eu__3 = val;202 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003C_003CBuild_003Eb__0_003Ed>(ref val, ref this);203 return;204 }205 goto IL_027a;206 IL_027a:207 val.GetResult();208 break;209 }210 _003C_003Ec__DisplayClass0_.policyCache.FlushRunCache();211 }212 catch (System.Exception exception)213 {214 _003C_003E1__state = -2;215 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);216 return;217 }218 _003C_003E1__state = -2;219 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();220 }221222 [DebuggerHidden]223 private void SetStateMachine(IAsyncStateMachine stateMachine)224 {225 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);226 }227 }228229 public IPolicyCache policyCache;230231 [AsyncStateMachine(typeof(_003C_003CBuild_003Eb__0_003Ed))]232 internal System.Threading.Tasks.Task _003CBuild_003Eb__0(PolicyStartInput input, IRequest request, CancellationToken ct)233 {234 //IL_0002: Unknown result type (might be due to invalid IL or missing references)235 //IL_0007: Unknown result type (might be due to invalid IL or missing references)236 //IL_0026: Unknown result type (might be due to invalid IL or missing references)237 //IL_0027: Unknown result type (might be due to invalid IL or missing references)238 _003C_003CBuild_003Eb__0_003Ed _003C_003CBuild_003Eb__0_003Ed = default(_003C_003CBuild_003Eb__0_003Ed);239 _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();240 _003C_003CBuild_003Eb__0_003Ed._003C_003E4__this = this;241 _003C_003CBuild_003Eb__0_003Ed.input = input;242 _003C_003CBuild_003Eb__0_003Ed.request = request;243 _003C_003CBuild_003Eb__0_003Ed.ct = ct;244 _003C_003CBuild_003Eb__0_003Ed._003C_003E1__state = -1;245 ((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003CBuild_003Eb__0_003Ed>(ref _003C_003CBuild_003Eb__0_003Ed);246 return ((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder)).Task;247 }248 }249250 public void Build(IApiBuilder builder)251 {252 _003C_003Ec__DisplayClass0_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass0_0();253 CS_0024_003C_003E8__locals2.policyCache = builder.Resolver.Resolve<IPolicyCache>();254 builder.AddMethod(Method.Define("attestation/policy/{uidpolicy}/run").WithParameter("uidpolicy", typeof(string), "Unique policy identifier", null, null, isInQuery: false).WithDescription("Creates attestation cases for the specified policy and objects")255 .Handle<PolicyStartInput>("POST", (Func<PolicyStartInput, IRequest, CancellationToken, System.Threading.Tasks.Task>)([AsyncStateMachine(typeof(_003C_003Ec__DisplayClass0_0._003C_003CBuild_003Eb__0_003Ed))] (PolicyStartInput input, IRequest request, CancellationToken ct) =>256 {257 //IL_0002: Unknown result type (might be due to invalid IL or missing references)258 //IL_0007: Unknown result type (might be due to invalid IL or missing references)259 //IL_0026: Unknown result type (might be due to invalid IL or missing references)260 //IL_0027: Unknown result type (might be due to invalid IL or missing references)261 _003C_003Ec__DisplayClass0_0._003C_003CBuild_003Eb__0_003Ed _003C_003CBuild_003Eb__0_003Ed = default(_003C_003Ec__DisplayClass0_0._003C_003CBuild_003Eb__0_003Ed);262 _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();263 _003C_003CBuild_003Eb__0_003Ed._003C_003E4__this = CS_0024_003C_003E8__locals2;264 _003C_003CBuild_003Eb__0_003Ed.input = input;265 _003C_003CBuild_003Eb__0_003Ed.request = request;266 _003C_003CBuild_003Eb__0_003Ed.ct = ct;267 _003C_003CBuild_003Eb__0_003Ed._003C_003E1__state = -1;268 ((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003Ec__DisplayClass0_0._003C_003CBuild_003Eb__0_003Ed>(ref _003C_003CBuild_003Eb__0_003Ed);269 return ((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_003Ed._003C_003Et__builder)).Task;270 })));271 }272}273