Back to OIM Explorer

QER.Customizer/QER.Customizer/DynamicGroup.cs

Decompiler Source FileQER.Customizer.DynamicGroupDecompiled Source

1 extracted method/event/call references in DynamicGroup.

Source: F:\Claude\.tmp\oim-decompiled-full\0991_One_Identity_Manager_QER.Customizer.dll\QER.Customizer\DynamicGroup.cs

Source size: 31.527 characters

Interpretation

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

Relations

  • Method registration: Calculate at line 629

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 DynamicGroup, _003C_003Ec__DisplayClass2_0; methods _003C_CheckObjectKeyBaseTree_003Eb__0, MoveNext, SetStateMachine, OnSavingAsync, _CheckObjectKeyBaseTree, CheckWhereClause; references BasetreeAssign, DialogTable, DynamicGroup, OrgRoot, OrgRootAssign; markers reads entity values, references DB/Dialog objects

Classes

DynamicGroup _003C_003Ec__DisplayClass2_0

OIM key/entity markers

UID_Org UID_DynamicGroup UID_DialogTableObjectClass ObjectKeyBaseTree UID_DialogTable UID_OrgRoot UID_BaseTreeAssign UID_DialogTableElement

API/entity calls

GetValue GetValueAsync ExistsAsync SqlFormatter GenerateProcessId CreateContextData IsTransport From Source CreateDataParameter MetaData IsDeleted

Registrations / handlers

None extracted.

Complete Source

C#714 lines
1using System;2using System.Data;3using System.Diagnostics;4using System.Runtime.CompilerServices;5using System.Runtime.InteropServices;6using System.Threading;7using System.Threading.Tasks;8using VI.Base;9using VI.DB;10using VI.DB.DataAccess;11using VI.DB.Entities;12using VI.DB.MetaData;1314namespace QER.Customizer;1516public class DynamicGroup : StateLessEntityLogic17{18	[CompilerGenerated]19	private sealed class _003C_003Ec__DisplayClass2_020	{21		public DbObjectKey dbObjectKey;2223		internal ExpressionClause _003C_CheckObjectKeyBaseTree_003Eb__0(IExpressionContext c)24		{25			return c.Column("UID_Org") == dbObjectKey.Keys[0];26		}27	}2829	[StructLayout((LayoutKind)3)]30	[CompilerGenerated]31	private struct _003CCalculate_003Ed__4 : IAsyncStateMachine32	{33		public int _003C_003E1__state;3435		public AsyncTaskMethodBuilder _003C_003Et__builder;3637		public ISession session;3839		public IEntity entity;4041		public CancellationToken ct;4243		private ConfiguredTaskAwaiter<int> _003C_003Eu__1;4445		private void MoveNext()46		{47			//IL_00e9: Unknown result type (might be due to invalid IL or missing references)48			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)49			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)50			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)51			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)52			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)53			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)54			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)55			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)56			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)57			int num = _003C_003E1__state;58			try59			{60				ConfiguredTaskAwaiter<int> val;61				if (num != 0)62				{63					ISqlFormatter sqlFormatter = session.SqlFormatter();64					string text = session.GenerateProcessId();65					string statement = sqlFormatter.StoredProcedure(new SqlFunction("QBM", "GDBQueue", "PDBQueueInsert_Single"), sqlFormatter.FormatUidValue("QER-K-DynamicGroupTest"), sqlFormatter.FormatUidValue(entity.GetValue<string>("UID_DynamicGroup")), sqlFormatter.FormatValue("", ValType.String), sqlFormatter.FormatUidValue(text));66					IDbSession dbSession = session.Resolve<IDbSession>();67					DbContextData dbContextData = session.CreateContextData(text);68					val = dbSession.SqlExecuteNonQueryInContextAsync(dbContextData, statement, ct).ConfigureAwait(false).GetAwaiter();69					if (!val.IsCompleted)70					{71						num = (_003C_003E1__state = 0);72						_003C_003Eu__1 = val;73						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<int>, _003CCalculate_003Ed__4>(ref val, ref this);74						return;75					}76				}77				else78				{79					val = _003C_003Eu__1;80					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<int>);81					num = (_003C_003E1__state = -1);82				}83				val.GetResult();84			}85			catch (System.Exception exception)86			{87				_003C_003E1__state = -2;88				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);89				return;90			}91			_003C_003E1__state = -2;92			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();93		}9495		[DebuggerHidden]96		private void SetStateMachine(IAsyncStateMachine stateMachine)97		{98			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);99		}100	}101102	[StructLayout((LayoutKind)3)]103	[CompilerGenerated]104	private struct _003CCheckOrgRoot_003Ed__5 : IAsyncStateMachine105	{106		public int _003C_003E1__state;107108		public AsyncTaskMethodBuilder _003C_003Et__builder;109110		public LogicParameter lp;111112		private string _003CuidDialogTableElement_003E5__2;113114		private ConfiguredValueTaskAwaiter<string> _003C_003Eu__1;115116		private ConfiguredTaskAwaiter<bool> _003C_003Eu__2;117118		private string _003CorgRootDisplay_003E5__3;119120		private void MoveNext()121		{122			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)123			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)124			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)125			//IL_0182: Unknown result type (might be due to invalid IL or missing references)126			//IL_0187: Unknown result type (might be due to invalid IL or missing references)127			//IL_018f: Unknown result type (might be due to invalid IL or missing references)128			//IL_028e: Unknown result type (might be due to invalid IL or missing references)129			//IL_0293: Unknown result type (might be due to invalid IL or missing references)130			//IL_029b: Unknown result type (might be due to invalid IL or missing references)131			//IL_0319: Unknown result type (might be due to invalid IL or missing references)132			//IL_031e: Unknown result type (might be due to invalid IL or missing references)133			//IL_0326: Unknown result type (might be due to invalid IL or missing references)134			//IL_03be: Unknown result type (might be due to invalid IL or missing references)135			//IL_03c3: Unknown result type (might be due to invalid IL or missing references)136			//IL_03cb: Unknown result type (might be due to invalid IL or missing references)137			//IL_0371: Unknown result type (might be due to invalid IL or missing references)138			//IL_0380: Unknown result type (might be due to invalid IL or missing references)139			//IL_0385: Unknown result type (might be due to invalid IL or missing references)140			//IL_0389: Unknown result type (might be due to invalid IL or missing references)141			//IL_038e: Unknown result type (might be due to invalid IL or missing references)142			//IL_0132: Unknown result type (might be due to invalid IL or missing references)143			//IL_0138: Unknown result type (might be due to invalid IL or missing references)144			//IL_0144: Unknown result type (might be due to invalid IL or missing references)145			//IL_0149: Unknown result type (might be due to invalid IL or missing references)146			//IL_014d: Unknown result type (might be due to invalid IL or missing references)147			//IL_0152: Unknown result type (might be due to invalid IL or missing references)148			//IL_0245: Unknown result type (might be due to invalid IL or missing references)149			//IL_0250: Unknown result type (might be due to invalid IL or missing references)150			//IL_0255: Unknown result type (might be due to invalid IL or missing references)151			//IL_0259: Unknown result type (might be due to invalid IL or missing references)152			//IL_025e: Unknown result type (might be due to invalid IL or missing references)153			//IL_02cc: Unknown result type (might be due to invalid IL or missing references)154			//IL_02db: Unknown result type (might be due to invalid IL or missing references)155			//IL_02e0: Unknown result type (might be due to invalid IL or missing references)156			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)157			//IL_02e9: Unknown result type (might be due to invalid IL or missing references)158			//IL_03a3: Unknown result type (might be due to invalid IL or missing references)159			//IL_03a5: Unknown result type (might be due to invalid IL or missing references)160			//IL_0091: Unknown result type (might be due to invalid IL or missing references)161			//IL_0097: Unknown result type (might be due to invalid IL or missing references)162			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)163			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)164			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)165			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)166			//IL_0167: Unknown result type (might be due to invalid IL or missing references)167			//IL_0169: Unknown result type (might be due to invalid IL or missing references)168			//IL_0273: Unknown result type (might be due to invalid IL or missing references)169			//IL_0275: Unknown result type (might be due to invalid IL or missing references)170			//IL_02fe: Unknown result type (might be due to invalid IL or missing references)171			//IL_0300: Unknown result type (might be due to invalid IL or missing references)172			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)173			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)174			int num = _003C_003E1__state;175			try176			{177				ConfiguredTaskAwaiter<bool> val2;178				ConfiguredValueTaskAwaiter<string> val;179				string result;180				string result2;181				switch (num)182				{183				default:184					if (!lp.Session.IsTransport() && (lp.Entity.Columns["UID_DialogTableObjectClass"].IsChanged || lp.Entity.Columns["ObjectKeyBaseTree"].IsChanged))185					{186						val = lp.ObjectWalker.GetValueAsync<string>("FK(UID_DialogTableObjectClass).UID_DialogTable").ConfigureAwait(false).GetAwaiter();187						if (!val.IsCompleted)188						{189							num = (_003C_003E1__state = 0);190							_003C_003Eu__1 = val;191							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);192							return;193						}194						goto IL_00fd;195					}196					goto end_IL_0007;197				case 0:198					val = _003C_003Eu__1;199					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);200					num = (_003C_003E1__state = -1);201					goto IL_00fd;202				case 1:203					val = _003C_003Eu__1;204					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);205					num = (_003C_003E1__state = -1);206					goto IL_019e;207				case 2:208					val2 = _003C_003Eu__2;209					_003C_003Eu__2 = default(ConfiguredTaskAwaiter<bool>);210					num = (_003C_003E1__state = -1);211					goto IL_02aa;212				case 3:213					val = _003C_003Eu__1;214					_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);215					num = (_003C_003E1__state = -1);216					goto IL_0335;217				case 4:218					{219						val = _003C_003Eu__1;220						_003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);221						num = (_003C_003E1__state = -1);222						break;223					}224					IL_00fd:225					result = val.GetResult();226					_003CuidDialogTableElement_003E5__2 = result;227					if (!string.IsNullOrEmpty(_003CuidDialogTableElement_003E5__2))228					{229						val = lp.ObjectWalker.GetValueAsync<string>("FK(ObjectKeyBaseTree).UID_OrgRoot").ConfigureAwait(false).GetAwaiter();230						if (!val.IsCompleted)231						{232							num = (_003C_003E1__state = 1);233							_003C_003Eu__1 = val;234							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);235							return;236						}237						goto IL_019e;238					}239					goto end_IL_0007;240					IL_0335:241					result = val.GetResult();242					_003CorgRootDisplay_003E5__3 = result;243					val = lp.Entity.Columns["UID_DialogTableObjectClass"].GetDisplayValueAsync(lp.Session, lp.CancellationToken).ConfigureAwait(false).GetAwaiter();244					if (!val.IsCompleted)245					{246						num = (_003C_003E1__state = 4);247						_003C_003Eu__1 = val;248						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);249						return;250					}251					break;252					IL_02aa:253					if (!val2.GetResult())254					{255						val = lp.ObjectWalker.GetValueAsync<string>("FK(ObjectKeyBaseTree).FK(UID_OrgRoot).Ident_OrgRoot[D]", lp.CancellationToken).ConfigureAwait(false).GetAwaiter();256						if (!val.IsCompleted)257						{258							num = (_003C_003E1__state = 3);259							_003C_003Eu__1 = val;260							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003CCheckOrgRoot_003Ed__5>(ref val, ref this);261							return;262						}263						goto IL_0335;264					}265					goto end_IL_0007;266					IL_019e:267					result2 = val.GetResult();268					if (!string.IsNullOrEmpty(result2))269					{270						ISqlFormatter sqlFormatter = lp.SqlFormatter;271						string whereClause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_OrgRoot", result2), sqlFormatter.Comparison("IsAssignmentAllowed", true, ValType.Bool), sqlFormatter.FkComparison("UID_BaseTreeAssign", "BaseTreeAssign", sqlFormatter.UidComparison("UID_DialogTableElement", _003CuidDialogTableElement_003E5__2)));272						Query query = Query.From("OrgRootAssign").Where(whereClause).Exists();273						val2 = lp.Session.Source().ExistsAsync(query, lp.CancellationToken).ConfigureAwait(false)274							.GetAwaiter();275						if (!val2.IsCompleted)276						{277							num = (_003C_003E1__state = 2);278							_003C_003Eu__2 = val2;279							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CCheckOrgRoot_003Ed__5>(ref val2, ref this);280							return;281						}282						goto IL_02aa;283					}284					goto end_IL_0007;285				}286				string result3 = val.GetResult();287				throw new ViException(2133418, ExceptionRelevance.EndUser, result3, _003CorgRootDisplay_003E5__3);288				end_IL_0007:;289			}290			catch (System.Exception exception)291			{292				_003C_003E1__state = -2;293				_003CuidDialogTableElement_003E5__2 = null;294				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);295				return;296			}297			_003C_003E1__state = -2;298			_003CuidDialogTableElement_003E5__2 = null;299			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();300		}301302		[DebuggerHidden]303		private void SetStateMachine(IAsyncStateMachine stateMachine)304		{305			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);306		}307	}308309	[StructLayout((LayoutKind)3)]310	[CompilerGenerated]311	private struct _003CCheckWhereClause_003Ed__3 : IAsyncStateMachine312	{313		public int _003C_003E1__state;314315		public AsyncTaskMethodBuilder _003C_003Et__builder;316317		public LogicParameter lp;318319		private ConfiguredTaskAwaiter<object> _003C_003Eu__1;320321		private void MoveNext()322		{323			//IL_017a: Unknown result type (might be due to invalid IL or missing references)324			//IL_0137: Unknown result type (might be due to invalid IL or missing references)325			//IL_013c: Unknown result type (might be due to invalid IL or missing references)326			//IL_0144: Unknown result type (might be due to invalid IL or missing references)327			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)328			//IL_00f9: Unknown result type (might be due to invalid IL or missing references)329			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)330			//IL_0102: Unknown result type (might be due to invalid IL or missing references)331			//IL_0107: Unknown result type (might be due to invalid IL or missing references)332			//IL_011c: Unknown result type (might be due to invalid IL or missing references)333			//IL_011e: Unknown result type (might be due to invalid IL or missing references)334			int num = _003C_003E1__state;335			try336			{337				if (num == 0)338				{339					goto IL_003d;340				}341				ISqlFormatter sqlFormatter = default(ISqlFormatter);342				if (lp.Entity.Columns["WhereClause"].IsChanged)343				{344					sqlFormatter = lp.SqlFormatter;345					goto IL_003d;346				}347				goto end_IL_0007;348				IL_003d:349				try350				{351					ConfiguredTaskAwaiter<object> val2;352					if (num != 0)353					{354						string text = sqlFormatter.CleanWhereClause(lp.Entity.GetValue<string>("WhereClause"));355						string text2 = sqlFormatter.CleanWhereClause(lp.ObjectWalker.GetValue<string>("FK(UID_DialogTableObjectClass).TableName"));356						string sqlStatement = $"select Count(*) from {text2} where ({text})";357						DbObjectKey dbObjectKey = new DbObjectKey(lp.Entity.Columns["ObjectKeyBaseTree"].GetValue<string>());358						IDataParameter val = lp.SqlFormatter.CreateDataParameter("UID_Org", ValType.String, dbObjectKey.Keys[0]);359						val2 = lp.DbSession.SqlExecuteScalarAsync(sqlStatement, (IDataParameter[])(object)new IDataParameter[1] { val }, lp.CancellationToken).ConfigureAwait(false).GetAwaiter();360						if (!val2.IsCompleted)361						{362							num = (_003C_003E1__state = 0);363							_003C_003Eu__1 = val2;364							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<object>, _003CCheckWhereClause_003Ed__3>(ref val2, ref this);365							return;366						}367					}368					else369					{370						val2 = _003C_003Eu__1;371						_003C_003Eu__1 = default(ConfiguredTaskAwaiter<object>);372						num = (_003C_003E1__state = -1);373					}374					val2.GetResult();375				}376				catch (System.Exception innerException)377				{378					IMetaTable result = lp.Session.MetaData().GetTableAsync("DynamicGroup", lp.CancellationToken).Result;379					throw new ViException(2133271, ExceptionRelevance.EndUser, innerException, result.Columns["WhereClause"].Display);380				}381				end_IL_0007:;382			}383			catch (System.Exception exception)384			{385				_003C_003E1__state = -2;386				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);387				return;388			}389			_003C_003E1__state = -2;390			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();391		}392393		[DebuggerHidden]394		private void SetStateMachine(IAsyncStateMachine stateMachine)395		{396			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);397		}398	}399400	[StructLayout((LayoutKind)3)]401	[CompilerGenerated]402	private struct _003COnSavingAsync_003Ed__1 : IAsyncStateMachine403	{404		public int _003C_003E1__state;405406		public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;407408		public IEntity entity;409410		public LogicReadWriteParameters parameters;411412		public CancellationToken cancellationToken;413414		public DynamicGroup _003C_003E4__this;415416		private LogicParameter _003Clp_003E5__2;417418		private ConfiguredTaskAwaiter _003C_003Eu__1;419420		private ConfiguredTaskAwaiter<Diff> _003C_003Eu__2;421422		private void MoveNext()423		{424			//IL_0095: Unknown result type (might be due to invalid IL or missing references)425			//IL_009a: Unknown result type (might be due to invalid IL or missing references)426			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)427			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)428			//IL_0104: Unknown result type (might be due to invalid IL or missing references)429			//IL_010b: Unknown result type (might be due to invalid IL or missing references)430			//IL_017c: Unknown result type (might be due to invalid IL or missing references)431			//IL_0181: Unknown result type (might be due to invalid IL or missing references)432			//IL_0189: Unknown result type (might be due to invalid IL or missing references)433			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)434			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)435			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)436			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)437			//IL_0136: Unknown result type (might be due to invalid IL or missing references)438			//IL_0141: Unknown result type (might be due to invalid IL or missing references)439			//IL_0146: Unknown result type (might be due to invalid IL or missing references)440			//IL_014a: Unknown result type (might be due to invalid IL or missing references)441			//IL_014f: Unknown result type (might be due to invalid IL or missing references)442			//IL_003e: Unknown result type (might be due to invalid IL or missing references)443			//IL_0059: Unknown result type (might be due to invalid IL or missing references)444			//IL_005e: Unknown result type (might be due to invalid IL or missing references)445			//IL_0062: Unknown result type (might be due to invalid IL or missing references)446			//IL_0067: Unknown result type (might be due to invalid IL or missing references)447			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)448			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)449			//IL_0164: Unknown result type (might be due to invalid IL or missing references)450			//IL_0166: Unknown result type (might be due to invalid IL or missing references)451			//IL_007b: Unknown result type (might be due to invalid IL or missing references)452			//IL_007c: Unknown result type (might be due to invalid IL or missing references)453			int num = _003C_003E1__state;454			DynamicGroup dynamicGroup = _003C_003E4__this;455			Diff result;456			try457			{458				ConfiguredTaskAwaitable val3;459				ConfiguredTaskAwaiter val2;460				ConfiguredTaskAwaiter<Diff> val;461				switch (num)462				{463				default:464					if (!entity.IsDeleted())465					{466						_003Clp_003E5__2 = new LogicParameter(entity, parameters, cancellationToken);467						val3 = CheckOrgRoot(_003Clp_003E5__2).ConfigureAwait(false);468						val2 = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();469						if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)470						{471							num = (_003C_003E1__state = 0);472							_003C_003Eu__1 = val2;473							_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__1>(ref val2, ref this);474							return;475						}476						goto IL_00b0;477					}478					goto IL_0128;479				case 0:480					val2 = _003C_003Eu__1;481					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);482					num = (_003C_003E1__state = -1);483					goto IL_00b0;484				case 1:485					val2 = _003C_003Eu__1;486					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);487					num = (_003C_003E1__state = -1);488					goto IL_011a;489				case 2:490					{491						val = _003C_003Eu__2;492						_003C_003Eu__2 = default(ConfiguredTaskAwaiter<Diff>);493						num = (_003C_003E1__state = -1);494						break;495					}496					IL_0128:497					val = ((EntityLogicBase)dynamicGroup).OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false).GetAwaiter();498					if (!val.IsCompleted)499					{500						num = (_003C_003E1__state = 2);501						_003C_003Eu__2 = val;502						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__1>(ref val, ref this);503						return;504					}505					break;506					IL_011a:507					((ConfiguredTaskAwaiter)(ref val2)).GetResult();508					_003Clp_003E5__2 = null;509					goto IL_0128;510					IL_00b0:511					((ConfiguredTaskAwaiter)(ref val2)).GetResult();512					val3 = CheckWhereClause(_003Clp_003E5__2).ConfigureAwait(false);513					val2 = ((ConfiguredTaskAwaitable)(ref val3)).GetAwaiter();514					if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)515					{516						num = (_003C_003E1__state = 1);517						_003C_003Eu__1 = val2;518						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__1>(ref val2, ref this);519						return;520					}521					goto IL_011a;522				}523				result = val.GetResult();524			}525			catch (System.Exception exception)526			{527				_003C_003E1__state = -2;528				_003C_003Et__builder.SetException(exception);529				return;530			}531			_003C_003E1__state = -2;532			_003C_003Et__builder.SetResult(result);533		}534535		[DebuggerHidden]536		private void SetStateMachine(IAsyncStateMachine stateMachine)537		{538			_003C_003Et__builder.SetStateMachine(stateMachine);539		}540	}541542	[StructLayout((LayoutKind)3)]543	[CompilerGenerated]544	private struct _003C_CheckObjectKeyBaseTree_003Ed__2 : IAsyncStateMachine545	{546		public int _003C_003E1__state;547548		public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;549550		public string objectKeyBaseTree;551552		public ISession session;553554		public CancellationToken ct;555556		private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;557558		private void MoveNext()559		{560			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)561			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)562			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)563			//IL_0074: Unknown result type (might be due to invalid IL or missing references)564			//IL_007f: Unknown result type (might be due to invalid IL or missing references)565			//IL_0084: Unknown result type (might be due to invalid IL or missing references)566			//IL_0088: Unknown result type (might be due to invalid IL or missing references)567			//IL_008d: Unknown result type (might be due to invalid IL or missing references)568			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)569			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)570			int num = _003C_003E1__state;571			bool result;572			try573			{574				ConfiguredTaskAwaiter<bool> val;575				if (num == 0)576				{577					val = _003C_003Eu__1;578					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);579					num = (_003C_003E1__state = -1);580					goto IL_00d6;581				}582				_003C_003Ec__DisplayClass2_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass2_0();583				if (!string.IsNullOrEmpty(objectKeyBaseTree))584				{585					CS_0024_003C_003E8__locals2.dbObjectKey = new DbObjectKey(objectKeyBaseTree);586					Query query = (from c in Query.From("BaseTree")587						where c.Column("UID_Org") == CS_0024_003C_003E8__locals2.dbObjectKey.Keys[0]588						select c).Select("IsInValidForDynamicGroup");589					val = session.Source().GetSingleValueAsync<bool>(query, ct).ConfigureAwait(false)590						.GetAwaiter();591					if (!val.IsCompleted)592					{593						num = (_003C_003E1__state = 0);594						_003C_003Eu__1 = val;595						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003C_CheckObjectKeyBaseTree_003Ed__2>(ref val, ref this);596						return;597					}598					goto IL_00d6;599				}600				result = true;601				goto end_IL_0007;602				IL_00d6:603				if (val.GetResult())604				{605					throw new ViException(2133421, ExceptionRelevance.EndUser);606				}607				result = true;608				end_IL_0007:;609			}610			catch (System.Exception exception)611			{612				_003C_003E1__state = -2;613				_003C_003Et__builder.SetException(exception);614				return;615			}616			_003C_003E1__state = -2;617			_003C_003Et__builder.SetResult(result);618		}619620		[DebuggerHidden]621		private void SetStateMachine(IAsyncStateMachine stateMachine)622		{623			_003C_003Et__builder.SetStateMachine(stateMachine);624		}625	}626627	public DynamicGroup()628	{629		RegisterMethod("Calculate").As(Calculate).Behavior(MethodBehavior.ChangesExternalState).Description("Method_DynamicGroup_Calculate");630		Check("ObjectKeyBaseTree").AsExpensive<string>((Func<ISession, IEntity, string, CancellationToken, System.Threading.Tasks.Task<bool>>)_CheckObjectKeyBaseTree);631	}632633	[AsyncStateMachine(typeof(_003COnSavingAsync_003Ed__1))]634	public override async System.Threading.Tasks.Task<Diff> OnSavingAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken cancellationToken)635	{636		//IL_0002: Unknown result type (might be due to invalid IL or missing references)637		//IL_0007: Unknown result type (might be due to invalid IL or missing references)638		//IL_0026: Unknown result type (might be due to invalid IL or missing references)639		//IL_0027: Unknown result type (might be due to invalid IL or missing references)640		if (!entity.IsDeleted())641		{642			LogicParameter lp = new LogicParameter(entity, parameters, cancellationToken);643			await CheckOrgRoot(lp).ConfigureAwait(false);644			await CheckWhereClause(lp).ConfigureAwait(false);645		}646		return await base.OnSavingAsync(entity, parameters, cancellationToken).ConfigureAwait(false);647	}648649	[AsyncStateMachine(typeof(_003C_CheckObjectKeyBaseTree_003Ed__2))]650	private async System.Threading.Tasks.Task<bool> _CheckObjectKeyBaseTree(ISession session, IEntity entity, string objectKeyBaseTree, CancellationToken ct)651	{652		//IL_0002: Unknown result type (might be due to invalid IL or missing references)653		//IL_0007: Unknown result type (might be due to invalid IL or missing references)654		//IL_001e: Unknown result type (might be due to invalid IL or missing references)655		//IL_0020: Unknown result type (might be due to invalid IL or missing references)656		if (string.IsNullOrEmpty(objectKeyBaseTree))657		{658			return true;659		}660		DbObjectKey dbObjectKey = new DbObjectKey(objectKeyBaseTree);661		Query query = (from c in Query.From("BaseTree")662			where c.Column("UID_Org") == dbObjectKey.Keys[0]663			select c).Select("IsInValidForDynamicGroup");664		if (await session.Source().GetSingleValueAsync<bool>(query, ct).ConfigureAwait(false))665		{666			throw new ViException(2133421, ExceptionRelevance.EndUser);667		}668		return true;669	}670671	[AsyncStateMachine(typeof(_003CCheckWhereClause_003Ed__3))]672	private static System.Threading.Tasks.Task CheckWhereClause(LogicParameter lp)673	{674		//IL_0002: Unknown result type (might be due to invalid IL or missing references)675		//IL_0007: Unknown result type (might be due to invalid IL or missing references)676		_003CCheckWhereClause_003Ed__3 _003CCheckWhereClause_003Ed__ = default(_003CCheckWhereClause_003Ed__3);677		_003CCheckWhereClause_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();678		_003CCheckWhereClause_003Ed__.lp = lp;679		_003CCheckWhereClause_003Ed__._003C_003E1__state = -1;680		((AsyncTaskMethodBuilder)(ref _003CCheckWhereClause_003Ed__._003C_003Et__builder)).Start<_003CCheckWhereClause_003Ed__3>(ref _003CCheckWhereClause_003Ed__);681		return ((AsyncTaskMethodBuilder)(ref _003CCheckWhereClause_003Ed__._003C_003Et__builder)).Task;682	}683684	[AsyncStateMachine(typeof(_003CCalculate_003Ed__4))]685	private System.Threading.Tasks.Task Calculate(ISession session, IEntity entity, CancellationToken ct)686	{687		//IL_0002: Unknown result type (might be due to invalid IL or missing references)688		//IL_0007: Unknown result type (might be due to invalid IL or missing references)689		//IL_001e: Unknown result type (might be due to invalid IL or missing references)690		//IL_001f: Unknown result type (might be due to invalid IL or missing references)691		_003CCalculate_003Ed__4 _003CCalculate_003Ed__ = default(_003CCalculate_003Ed__4);692		_003CCalculate_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();693		_003CCalculate_003Ed__.session = session;694		_003CCalculate_003Ed__.entity = entity;695		_003CCalculate_003Ed__.ct = ct;696		_003CCalculate_003Ed__._003C_003E1__state = -1;697		((AsyncTaskMethodBuilder)(ref _003CCalculate_003Ed__._003C_003Et__builder)).Start<_003CCalculate_003Ed__4>(ref _003CCalculate_003Ed__);698		return ((AsyncTaskMethodBuilder)(ref _003CCalculate_003Ed__._003C_003Et__builder)).Task;699	}700701	[AsyncStateMachine(typeof(_003CCheckOrgRoot_003Ed__5))]702	private static System.Threading.Tasks.Task CheckOrgRoot(LogicParameter lp)703	{704		//IL_0002: Unknown result type (might be due to invalid IL or missing references)705		//IL_0007: Unknown result type (might be due to invalid IL or missing references)706		_003CCheckOrgRoot_003Ed__5 _003CCheckOrgRoot_003Ed__ = default(_003CCheckOrgRoot_003Ed__5);707		_003CCheckOrgRoot_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();708		_003CCheckOrgRoot_003Ed__.lp = lp;709		_003CCheckOrgRoot_003Ed__._003C_003E1__state = -1;710		((AsyncTaskMethodBuilder)(ref _003CCheckOrgRoot_003Ed__._003C_003Et__builder)).Start<_003CCheckOrgRoot_003Ed__5>(ref _003CCheckOrgRoot_003Ed__);711		return ((AsyncTaskMethodBuilder)(ref _003CCheckOrgRoot_003Ed__._003C_003Et__builder)).Task;712	}713}714