POL.Customizer/POL.Customizer/QERPolicyHasObject.cs
Decompiler Source FilePOL.Customizer.QERPolicyHasObjectDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- ExtendedMethod registration: MakeDecision at line 416
- ExtendedMethod registration: UpdateDecision at line 420
- Function registration: IsValidDecisionMaker at line 424
- CustomGenerated event: Granted at line 415
- CustomGenerated event: Denied at line 415
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 QERPolicyHasObject, MP; methods MoveNext, SetStateMachine, OnSavingAsync, MakeDecision, IsValidDecisionMaker, Decision_OnSaving; references AERole, Person, PersonInAERole, QERJustification, QERPolicy, QERPolicyHasObject; markers reads entity values, references DB/Dialog objects
Classes
QERPolicyHasObject MPMethods
DB/Dialog object references
OIM key/entity markers
UID_QERPolicy UID_PersonDecisionMade UID_QERJustification UID_Jusification UID_AERole UID_AERoleRuler UID_PersonAPI/entity calls
GetValue ExistsAsync Source User SetValueRegistrations / 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 QER.Customizer;8using VI.Base;9using VI.DB;10using VI.DB.DataAccess;11using VI.DB.Entities;1213namespace POL.Customizer;1415public class QERPolicyHasObject : StateBasedEntityLogic16{17 [RequiredMember]18 private class MP19 {20 [RequiredMember]21 public string Person;2223 [RequiredMember]24 public bool Granted;2526 [RequiredMember]27 public string Message;2829 public string? Justification;3031 [Obsolete("Constructors of types with required members are not supported in this version of your compiler.", true)]32 [CompilerFeatureRequired("RequiredMembers")]33 public MP()34 {35 }36 }3738 [StructLayout((LayoutKind)3)]39 [CompilerGenerated]40 private struct _003CGetIsExceptionAllowed_003Ed__8 : IAsyncStateMachine41 {42 public int _003C_003E1__state;4344 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;4546 public LogicParameter lp;4748 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;4950 private void MoveNext()51 {52 //IL_00d9: Unknown result type (might be due to invalid IL or missing references)53 //IL_00de: Unknown result type (might be due to invalid IL or missing references)54 //IL_00e6: Unknown result type (might be due to invalid IL or missing references)55 //IL_0093: Unknown result type (might be due to invalid IL or missing references)56 //IL_009e: Unknown result type (might be due to invalid IL or missing references)57 //IL_00a3: Unknown result type (might be due to invalid IL or missing references)58 //IL_00a7: Unknown result type (might be due to invalid IL or missing references)59 //IL_00ac: Unknown result type (might be due to invalid IL or missing references)60 //IL_00c1: Unknown result type (might be due to invalid IL or missing references)61 //IL_00c3: Unknown result type (might be due to invalid IL or missing references)62 int num = _003C_003E1__state;63 bool result;64 try65 {66 ConfiguredTaskAwaiter<bool> val;67 if (num == 0)68 {69 val = _003C_003Eu__1;70 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);71 num = (_003C_003E1__state = -1);72 goto IL_00f5;73 }74 ISqlFormatter sqlFormatter = lp.SqlFormatter;75 string value = lp.Entity.GetValue<string>("UID_QERPolicy");76 if (!string.IsNullOrEmpty(value))77 {78 string whereclause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_QERPolicy", value), sqlFormatter.Comparison("IsWorkingCopy", false, ValType.Bool));79 val = lp.Session.Source().GetSingleValueAsync<bool>("QERPolicy", "IsExceptionAllowed", whereclause, lp.CancellationToken).ConfigureAwait(false)80 .GetAwaiter();81 if (!val.IsCompleted)82 {83 num = (_003C_003E1__state = 0);84 _003C_003Eu__1 = val;85 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CGetIsExceptionAllowed_003Ed__8>(ref val, ref this);86 return;87 }88 goto IL_00f5;89 }90 result = false;91 goto end_IL_0007;92 IL_00f5:93 result = val.GetResult();94 end_IL_0007:;95 }96 catch (System.Exception exception)97 {98 _003C_003E1__state = -2;99 _003C_003Et__builder.SetException(exception);100 return;101 }102 _003C_003E1__state = -2;103 _003C_003Et__builder.SetResult(result);104 }105106 [DebuggerHidden]107 private void SetStateMachine(IAsyncStateMachine stateMachine)108 {109 _003C_003Et__builder.SetStateMachine(stateMachine);110 }111 }112113 [StructLayout((LayoutKind)3)]114 [CompilerGenerated]115 private struct _003CMakeDecision_003Ed__3 : IAsyncStateMachine116 {117 public int _003C_003E1__state;118119 public AsyncTaskMethodBuilder<MP> _003C_003Et__builder;120121 public ISession session;122123 public IEntity entity;124125 public CancellationToken ct;126127 public string uidPerson;128129 public QERPolicyHasObject _003C_003E4__this;130131 public string reason;132133 public string uidJustification;134135 public bool decision;136137 private LogicParameter _003Clp_003E5__2;138139 private bool _003CadminContext_003E5__3;140141 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;142143 private void MoveNext()144 {145 //IL_00ca: Unknown result type (might be due to invalid IL or missing references)146 //IL_00cf: Unknown result type (might be due to invalid IL or missing references)147 //IL_00d7: Unknown result type (might be due to invalid IL or missing references)148 //IL_0025: Unknown result type (might be due to invalid IL or missing references)149 //IL_008c: Unknown result type (might be due to invalid IL or missing references)150 //IL_0091: Unknown result type (might be due to invalid IL or missing references)151 //IL_0095: Unknown result type (might be due to invalid IL or missing references)152 //IL_009a: Unknown result type (might be due to invalid IL or missing references)153 //IL_00af: Unknown result type (might be due to invalid IL or missing references)154 //IL_00b1: Unknown result type (might be due to invalid IL or missing references)155 int num = _003C_003E1__state;156 QERPolicyHasObject qERPolicyHasObject = _003C_003E4__this;157 MP result;158 try159 {160 bool flag;161 ConfiguredTaskAwaiter<bool> val;162 if (num != 0)163 {164 _003Clp_003E5__2 = new LogicParameter(session, null, entity, null, null, ct);165 _003CadminContext_003E5__3 = (string.Equals(uidPerson, "sa", (StringComparison)5) && _003Clp_003E5__2.Session.User().IsAdministrativeAccount) || qERPolicyHasObject.IsInternalProcess;166 flag = !_003CadminContext_003E5__3;167 if (!flag)168 {169 goto IL_00f1;170 }171 val = IsValidDecisionMaker(_003Clp_003E5__2, uidPerson).ConfigureAwait(false).GetAwaiter();172 if (!val.IsCompleted)173 {174 num = (_003C_003E1__state = 0);175 _003C_003Eu__1 = val;176 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CMakeDecision_003Ed__3>(ref val, ref this);177 return;178 }179 }180 else181 {182 val = _003C_003Eu__1;183 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);184 num = (_003C_003E1__state = -1);185 }186 flag = !val.GetResult();187 goto IL_00f1;188 IL_00f1:189 if (flag)190 {191 throw new ViException(2124241, ExceptionRelevance.EndUser);192 }193 if (reason != null && reason.Length > entity.Columns["DecisionReason"].MaxLen)194 {195 reason = reason.Substring(0, entity.Columns["DecisionReason"].MaxLen - 3) + "...";196 }197 _003Clp_003E5__2.Entity.SetValue("UID_PersonDecisionMade", _003CadminContext_003E5__3 ? "" : uidPerson);198 _003Clp_003E5__2.Entity.SetValue("DecisionDate", _003Clp_003E5__2.ServerTime);199 _003Clp_003E5__2.Entity.SetValue("IsDecisionMade", true);200 _003Clp_003E5__2.Entity.SetValue("DecisionReason", reason);201 _003Clp_003E5__2.Entity.SetValue("UID_QERJustification", uidJustification);202 _003Clp_003E5__2.Entity.SetValue("IsExceptionGranted", decision);203 result = new MP204 {205 Person = uidPerson,206 Granted = decision,207 Message = (reason ?? ""),208 Justification = uidJustification209 };210 }211 catch (System.Exception exception)212 {213 _003C_003E1__state = -2;214 _003Clp_003E5__2 = null;215 _003C_003Et__builder.SetException(exception);216 return;217 }218 _003C_003E1__state = -2;219 _003Clp_003E5__2 = null;220 _003C_003Et__builder.SetResult(result);221 }222223 [DebuggerHidden]224 private void SetStateMachine(IAsyncStateMachine stateMachine)225 {226 _003C_003Et__builder.SetStateMachine(stateMachine);227 }228 }229230 [StructLayout((LayoutKind)3)]231 [CompilerGenerated]232 private struct _003COnSavingAsync_003Ed__2 : IAsyncStateMachine233 {234 public int _003C_003E1__state;235236 public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;237238 public IEntity entity;239240 public LogicReadWriteParameters parameters;241242 public CancellationToken cancellationToken;243244 public QERPolicyHasObject _003C_003E4__this;245246 private ConfiguredTaskAwaiter _003C_003Eu__1;247248 private ConfiguredTaskAwaiter<Diff> _003C_003Eu__2;249250 private void MoveNext()251 {252 //IL_0071: Unknown result type (might be due to invalid IL or missing references)253 //IL_0076: Unknown result type (might be due to invalid IL or missing references)254 //IL_007d: Unknown result type (might be due to invalid IL or missing references)255 //IL_00a1: Unknown result type (might be due to invalid IL or missing references)256 //IL_00ac: Unknown result type (might be due to invalid IL or missing references)257 //IL_00b1: Unknown result type (might be due to invalid IL or missing references)258 //IL_00b5: Unknown result type (might be due to invalid IL or missing references)259 //IL_00ba: Unknown result type (might be due to invalid IL or missing references)260 //IL_00e7: Unknown result type (might be due to invalid IL or missing references)261 //IL_00ec: Unknown result type (might be due to invalid IL or missing references)262 //IL_00f4: Unknown result type (might be due to invalid IL or missing references)263 //IL_0025: Unknown result type (might be due to invalid IL or missing references)264 //IL_0035: Unknown result type (might be due to invalid IL or missing references)265 //IL_003a: Unknown result type (might be due to invalid IL or missing references)266 //IL_003e: Unknown result type (might be due to invalid IL or missing references)267 //IL_0043: Unknown result type (might be due to invalid IL or missing references)268 //IL_00cf: Unknown result type (might be due to invalid IL or missing references)269 //IL_00d1: Unknown result type (might be due to invalid IL or missing references)270 //IL_0057: Unknown result type (might be due to invalid IL or missing references)271 //IL_0058: Unknown result type (might be due to invalid IL or missing references)272 int num = _003C_003E1__state;273 QERPolicyHasObject qERPolicyHasObject = _003C_003E4__this;274 Diff result;275 try276 {277 ConfiguredTaskAwaiter<Diff> val;278 ConfiguredTaskAwaiter val3;279 if (num != 0)280 {281 if (num == 1)282 {283 val = _003C_003Eu__2;284 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<Diff>);285 num = (_003C_003E1__state = -1);286 goto IL_0103;287 }288 ConfiguredTaskAwaitable val2 = _CheckExceptionGranted(new LogicParameter(entity, parameters, cancellationToken)).ConfigureAwait(false);289 val3 = ((ConfiguredTaskAwaitable)(ref val2)).GetAwaiter();290 if (!((ConfiguredTaskAwaiter)(ref val3)).IsCompleted)291 {292 num = (_003C_003E1__state = 0);293 _003C_003Eu__1 = val3;294 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__2>(ref val3, ref this);295 return;296 }297 }298 else299 {300 val3 = _003C_003Eu__1;301 _003C_003Eu__1 = default(ConfiguredTaskAwaiter);302 num = (_003C_003E1__state = -1);303 }304 ((ConfiguredTaskAwaiter)(ref val3)).GetResult();305 val = ((StateBasedEntityLogic)qERPolicyHasObject).OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false).GetAwaiter();306 if (!val.IsCompleted)307 {308 num = (_003C_003E1__state = 1);309 _003C_003Eu__2 = val;310 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__2>(ref val, ref this);311 return;312 }313 goto IL_0103;314 IL_0103:315 result = val.GetResult();316 }317 catch (System.Exception exception)318 {319 _003C_003E1__state = -2;320 _003C_003Et__builder.SetException(exception);321 return;322 }323 _003C_003E1__state = -2;324 _003C_003Et__builder.SetResult(result);325 }326327 [DebuggerHidden]328 private void SetStateMachine(IAsyncStateMachine stateMachine)329 {330 _003C_003Et__builder.SetStateMachine(stateMachine);331 }332 }333334 [StructLayout((LayoutKind)3)]335 [CompilerGenerated]336 private struct _003C_CheckExceptionGranted_003Ed__7 : IAsyncStateMachine337 {338 public int _003C_003E1__state;339340 public AsyncTaskMethodBuilder _003C_003Et__builder;341342 public LogicParameter lp;343344 private bool _003CbIsExceptionGranted_003E5__2;345346 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;347348 private void MoveNext()349 {350 //IL_006c: Unknown result type (might be due to invalid IL or missing references)351 //IL_0071: Unknown result type (might be due to invalid IL or missing references)352 //IL_0078: Unknown result type (might be due to invalid IL or missing references)353 //IL_0031: Unknown result type (might be due to invalid IL or missing references)354 //IL_0036: Unknown result type (might be due to invalid IL or missing references)355 //IL_0039: Unknown result type (might be due to invalid IL or missing references)356 //IL_003e: Unknown result type (might be due to invalid IL or missing references)357 //IL_0052: Unknown result type (might be due to invalid IL or missing references)358 //IL_0053: Unknown result type (might be due to invalid IL or missing references)359 int num = _003C_003E1__state;360 try361 {362 ConfiguredTaskAwaiter<bool> val;363 if (num != 0)364 {365 _003CbIsExceptionGranted_003E5__2 = lp.Entity.GetValue<bool>("IsExceptionGranted");366 val = GetIsExceptionAllowed(lp).ConfigureAwait(false).GetAwaiter();367 if (!val.IsCompleted)368 {369 num = (_003C_003E1__state = 0);370 _003C_003Eu__1 = val;371 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003C_CheckExceptionGranted_003Ed__7>(ref val, ref this);372 return;373 }374 }375 else376 {377 val = _003C_003Eu__1;378 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);379 num = (_003C_003E1__state = -1);380 }381 bool result = val.GetResult();382 if (!result & _003CbIsExceptionGranted_003E5__2)383 {384 throw new ViException(2124238, ExceptionRelevance.EndUser);385 }386 if (!result)387 {388 lp.Entity.SetValue("IsDecisionMade", true);389 lp.Entity.SetValue("IsExceptionGranted", false);390 lp.Entity.SetValue("DecisionDate", lp.ServerTime);391 lp.Entity.SetValue("DecisionReason", "No exception allowed");392 }393 }394 catch (System.Exception exception)395 {396 _003C_003E1__state = -2;397 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);398 return;399 }400 _003C_003E1__state = -2;401 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();402 }403404 [DebuggerHidden]405 private void SetStateMachine(IAsyncStateMachine stateMachine)406 {407 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);408 }409 }410411 public QERPolicyHasObject()412 {413 RegisterExpensive("_IsSA").As<bool>((Func<ISession, IEntity, IEntityWalker, CancellationToken, System.Threading.Tasks.Task<bool>>)((ISession s, IEntity e, IEntityWalker w, CancellationToken ct) => System.Threading.Tasks.Task.FromResult<bool>(QERHelper.IsSystemAccount(s))));414 CanEdit("UID_PersonDecisionMade", "DecisionDate", "IsDecisionMade", "DecisionReason", "UID_Jusification", "IsExceptionGranted").From("SPECIAL(IsFullSync)", "_IsSA").As<bool, bool>((Func<bool, bool, bool>)((bool isFullSync, bool bSA) => isFullSync || bSA));415 Event("Granted", "Denied").CustomGenerated();416 RegisterExtendedMethod("MakeDecision").As<string, bool, string, string, MP>((Func<ISession, IEntity, string, bool, string, string, CancellationToken, System.Threading.Tasks.Task<MP>>)MakeDecision).OnSaving(Decision_OnSaving).Enabled()417 .From("IsDecisionMade")418 .As<bool>((Func<bool, bool>)((bool isDecisionMade) => !isDecisionMade))419 .Description("Method_QERPolicyHasObject_MakeDecision");420 RegisterExtendedMethod("UpdateDecision").As<string, bool, string, string, MP>((Func<ISession, IEntity, string, bool, string, string, CancellationToken, System.Threading.Tasks.Task<MP>>)MakeDecision).OnSaving(Decision_OnSaving).Enabled()421 .From("IsDecisionMade")422 .As<bool>((Func<bool, bool>)((bool bDecision) => bDecision))423 .Description("Method_QERPolicyHasObject_UpdateDecision");424 RegisterFunction("IsValidDecisionMaker").As<string, bool>(IsValidDecisionMaker).Enabled().From("IsDecisionMade")425 .As<bool>((Func<bool, bool>)((bool bDecision) => !bDecision))426 .Description("Method_QERPolicyHasObject_IsValidDecisionMaker");427 }428429 [AsyncStateMachine(typeof(_003COnSavingAsync_003Ed__2))]430 public override async System.Threading.Tasks.Task<Diff> OnSavingAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken cancellationToken)431 {432 //IL_0002: Unknown result type (might be due to invalid IL or missing references)433 //IL_0007: Unknown result type (might be due to invalid IL or missing references)434 //IL_0026: Unknown result type (might be due to invalid IL or missing references)435 //IL_0027: Unknown result type (might be due to invalid IL or missing references)436 await _CheckExceptionGranted(new LogicParameter(entity, parameters, cancellationToken)).ConfigureAwait(false);437 return await base.OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false);438 }439440 [AsyncStateMachine(typeof(_003CMakeDecision_003Ed__3))]441 private async System.Threading.Tasks.Task<MP> MakeDecision(ISession session, IEntity entity, string uidPerson, bool decision, string reason, string? uidJustification = null, CancellationToken ct = default(CancellationToken))442 {443 //IL_0002: Unknown result type (might be due to invalid IL or missing references)444 //IL_0007: Unknown result type (might be due to invalid IL or missing references)445 //IL_0049: Unknown result type (might be due to invalid IL or missing references)446 //IL_004b: Unknown result type (might be due to invalid IL or missing references)447 LogicParameter lp = new LogicParameter(session, null, entity, null, null, ct);448 bool adminContext = (string.Equals(uidPerson, "sa", (StringComparison)5) && lp.Session.User().IsAdministrativeAccount) || base.IsInternalProcess;449 bool flag = !adminContext;450 if (flag)451 {452 flag = !(await IsValidDecisionMaker(lp, uidPerson).ConfigureAwait(false));453 }454 if (flag)455 {456 throw new ViException(2124241, ExceptionRelevance.EndUser);457 }458 if (reason != null && reason.Length > entity.Columns["DecisionReason"].MaxLen)459 {460 reason = reason.Substring(0, entity.Columns["DecisionReason"].MaxLen - 3) + "...";461 }462 lp.Entity.SetValue("UID_PersonDecisionMade", adminContext ? "" : uidPerson);463 lp.Entity.SetValue("DecisionDate", lp.ServerTime);464 lp.Entity.SetValue("IsDecisionMade", true);465 lp.Entity.SetValue("DecisionReason", reason);466 lp.Entity.SetValue("UID_QERJustification", uidJustification);467 lp.Entity.SetValue("IsExceptionGranted", decision);468 return new MP469 {470 Person = uidPerson,471 Granted = decision,472 Message = (reason ?? ""),473 Justification = uidJustification474 };475 }476477 private System.Threading.Tasks.Task<bool> IsValidDecisionMaker(ISession session, IEntity entity, string uidPerson, CancellationToken ct)478 {479 //IL_000a: Unknown result type (might be due to invalid IL or missing references)480 LogicParameter logicParameter = new LogicParameter(session, session.Resolve<IDbSession>(), entity, null, null, ct);481 logicParameter.Entity.SetValue("IsDecisionMade", true);482 return IsValidDecisionMaker(logicParameter, uidPerson);483 }484485 private System.Threading.Tasks.Task Decision_OnSaving(IEntity entity, LogicReadWriteParameters parameter, MP mp, CancellationToken ct)486 {487 GenerateOnSaved(mp.Granted ? "GRANTED" : "DENIED");488 return NullTask.Instance;489 }490491 private static System.Threading.Tasks.Task<bool> IsValidDecisionMaker(LogicParameter lp, string uidPerson)492 {493 //IL_005e: Unknown result type (might be due to invalid IL or missing references)494 //IL_0064: Unknown result type (might be due to invalid IL or missing references)495 ISqlFormatter sqlFormatter = lp.SqlFormatter;496 return lp.Session.Source().ExistsAsync("PersonInAERole", sqlFormatter.AndRelation(string.Format("UID_AERole in ( select UID_AERoleRuler from QERPolicy where {0} )", (object)sqlFormatter.UidComparison("UID_QERPolicy", lp.Entity.GetValue<string>("UID_QERPolicy"))), sqlFormatter.UidComparison("UID_Person", uidPerson)));497 }498499 [AsyncStateMachine(typeof(_003C_CheckExceptionGranted_003Ed__7))]500 private static System.Threading.Tasks.Task _CheckExceptionGranted(LogicParameter lp)501 {502 //IL_0002: Unknown result type (might be due to invalid IL or missing references)503 //IL_0007: Unknown result type (might be due to invalid IL or missing references)504 _003C_CheckExceptionGranted_003Ed__7 _003C_CheckExceptionGranted_003Ed__ = default(_003C_CheckExceptionGranted_003Ed__7);505 _003C_CheckExceptionGranted_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();506 _003C_CheckExceptionGranted_003Ed__.lp = lp;507 _003C_CheckExceptionGranted_003Ed__._003C_003E1__state = -1;508 ((AsyncTaskMethodBuilder)(ref _003C_CheckExceptionGranted_003Ed__._003C_003Et__builder)).Start<_003C_CheckExceptionGranted_003Ed__7>(ref _003C_CheckExceptionGranted_003Ed__);509 return ((AsyncTaskMethodBuilder)(ref _003C_CheckExceptionGranted_003Ed__._003C_003Et__builder)).Task;510 }511512 [AsyncStateMachine(typeof(_003CGetIsExceptionAllowed_003Ed__8))]513 protected static async System.Threading.Tasks.Task<bool> GetIsExceptionAllowed(LogicParameter lp)514 {515 //IL_0002: Unknown result type (might be due to invalid IL or missing references)516 //IL_0007: Unknown result type (might be due to invalid IL or missing references)517 ISqlFormatter sqlFormatter = lp.SqlFormatter;518 string value = lp.Entity.GetValue<string>("UID_QERPolicy");519 if (string.IsNullOrEmpty(value))520 {521 return false;522 }523 string whereclause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_QERPolicy", value), sqlFormatter.Comparison("IsWorkingCopy", false, ValType.Bool));524 return await lp.Session.Source().GetSingleValueAsync<bool>("QERPolicy", "IsExceptionAllowed", whereclause, lp.CancellationToken).ConfigureAwait(false);525 }526}527