Back to OIM Explorer

POL.Customizer/POL.Customizer/QERPolicyHasObject.cs

Decompiler Source FilePOL.Customizer.QERPolicyHasObjectDecompiled Source

5 extracted method/event/call references in QERPolicyHasObject.

Source: F:\Claude\.tmp\oim-decompiled-full\0953_One_Identity_Manager_POL.Customizer.dll\POL.Customizer\QERPolicyHasObject.cs

Source size: 22.005 characters

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 MP

OIM key/entity markers

UID_QERPolicy UID_PersonDecisionMade UID_QERJustification UID_Jusification UID_AERole UID_AERoleRuler UID_Person

API/entity calls

GetValue ExistsAsync Source User SetValue

Registrations / handlers

None extracted.

Complete Source

C#527 lines
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