Back to OIM Explorer

Common.Customizer/VI.Common.Customizer/QBMPendingChangeDetail.cs

Decompiler Source FileCommon.Customizer.QBMPendingChangeDetailDecompiled Source

1 extracted method/event/call references in QBMPendingChangeDetail.

Source: F:\Claude\.tmp\oim-decompiled-full\0045_One_Identity_Manager_Common.Customizer.dll\VI.Common.Customizer\QBMPendingChangeDetail.cs

Source size: 13.504 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: DetailReady at line 258

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 QBMPendingChangeDetail, _003C_003Ec__DisplayClass1_0; methods _003COnSavedAsync_003Eb__0, MoveNext, SetStateMachine, OnSavedAsync; references QBMPendingChange, QBMPendingChangeDetail; markers reads entity values, references DB/Dialog objects

Classes

QBMPendingChangeDetail _003C_003Ec__DisplayClass1_0

DB/Dialog object references

OIM key/entity markers

UID_QBMPendingChange

API/entity calls

GetValue IsDeleted From

Registrations / handlers

None extracted.

Complete Source

C#279 lines
1using System;2using System.Collections.Generic;3using System.Diagnostics;4using System.Linq;5using System.Runtime.CompilerServices;6using System.Runtime.InteropServices;7using System.Threading;8using System.Threading.Tasks;9using NLog;10using VI.Base;11using VI.DB;12using VI.DB.Entities;1314namespace VI.Common.Customizer;1516public class QBMPendingChangeDetail : StateLessEntityLogic17{18	[CompilerGenerated]19	private sealed class _003C_003Ec__DisplayClass1_020	{21		public IEntity entity;2223		internal ExpressionClause _003COnSavedAsync_003Eb__0(IExpressionContext t)24		{25			return t.Column("UID_QBMPendingChange") == entity.GetValue<string>("UID_QBMPendingChange");26		}27	}2829	[StructLayout((LayoutKind)3)]30	[CompilerGenerated]31	private struct _003COnSavedAsync_003Ed__1 : IAsyncStateMachine32	{33		public int _003C_003E1__state;3435		public AsyncTaskMethodBuilder _003C_003Et__builder;3637		public IEntity entity;3839		public QBMPendingChangeDetail _003C_003E4__this;4041		public LogicReadWriteParameters parameters;4243		public CancellationToken cancellationToken;4445		private _003C_003Ec__DisplayClass1_0 _003C_003E8__1;4647		private ConfiguredTaskAwaiter _003C_003Eu__1;4849		private LogSession _003Clog_003E5__2;5051		private int _003Cresulting_003E5__3;5253		private ConfiguredTaskAwaiter<IEntityCollection> _003C_003Eu__2;5455		private IEntity _003Cchange_003E5__4;5657		private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__3;5859		private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__4;6061		private void MoveNext()62		{63			//IL_009d: Unknown result type (might be due to invalid IL or missing references)64			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)65			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)66			//IL_01b9: Unknown result type (might be due to invalid IL or missing references)67			//IL_01be: Unknown result type (might be due to invalid IL or missing references)68			//IL_01c6: Unknown result type (might be due to invalid IL or missing references)69			//IL_030b: Unknown result type (might be due to invalid IL or missing references)70			//IL_0310: Unknown result type (might be due to invalid IL or missing references)71			//IL_0318: Unknown result type (might be due to invalid IL or missing references)72			//IL_039c: Unknown result type (might be due to invalid IL or missing references)73			//IL_03a1: Unknown result type (might be due to invalid IL or missing references)74			//IL_03a9: Unknown result type (might be due to invalid IL or missing references)75			//IL_0415: Unknown result type (might be due to invalid IL or missing references)76			//IL_041a: Unknown result type (might be due to invalid IL or missing references)77			//IL_0421: Unknown result type (might be due to invalid IL or missing references)78			//IL_0057: Unknown result type (might be due to invalid IL or missing references)79			//IL_0062: Unknown result type (might be due to invalid IL or missing references)80			//IL_0067: Unknown result type (might be due to invalid IL or missing references)81			//IL_006a: Unknown result type (might be due to invalid IL or missing references)82			//IL_006f: Unknown result type (might be due to invalid IL or missing references)83			//IL_034f: Unknown result type (might be due to invalid IL or missing references)84			//IL_035e: Unknown result type (might be due to invalid IL or missing references)85			//IL_0363: Unknown result type (might be due to invalid IL or missing references)86			//IL_0367: Unknown result type (might be due to invalid IL or missing references)87			//IL_036c: Unknown result type (might be due to invalid IL or missing references)88			//IL_03d2: Unknown result type (might be due to invalid IL or missing references)89			//IL_03dd: Unknown result type (might be due to invalid IL or missing references)90			//IL_03e2: Unknown result type (might be due to invalid IL or missing references)91			//IL_03e5: Unknown result type (might be due to invalid IL or missing references)92			//IL_03ea: Unknown result type (might be due to invalid IL or missing references)93			//IL_0083: Unknown result type (might be due to invalid IL or missing references)94			//IL_0084: Unknown result type (might be due to invalid IL or missing references)95			//IL_0170: Unknown result type (might be due to invalid IL or missing references)96			//IL_017b: Unknown result type (might be due to invalid IL or missing references)97			//IL_0180: Unknown result type (might be due to invalid IL or missing references)98			//IL_0184: Unknown result type (might be due to invalid IL or missing references)99			//IL_0189: Unknown result type (might be due to invalid IL or missing references)100			//IL_0381: Unknown result type (might be due to invalid IL or missing references)101			//IL_0383: Unknown result type (might be due to invalid IL or missing references)102			//IL_03fe: Unknown result type (might be due to invalid IL or missing references)103			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)104			//IL_019e: Unknown result type (might be due to invalid IL or missing references)105			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)106			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)107			//IL_02cd: Unknown result type (might be due to invalid IL or missing references)108			//IL_02d2: Unknown result type (might be due to invalid IL or missing references)109			//IL_02d6: Unknown result type (might be due to invalid IL or missing references)110			//IL_02db: Unknown result type (might be due to invalid IL or missing references)111			//IL_02f0: Unknown result type (might be due to invalid IL or missing references)112			//IL_02f2: Unknown result type (might be due to invalid IL or missing references)113			int num = _003C_003E1__state;114			QBMPendingChangeDetail qBMPendingChangeDetail = _003C_003E4__this;115			try116			{117				ConfiguredTaskAwaitable val5;118				ConfiguredTaskAwaiter val;119				ConfiguredTaskAwaiter<IEntityCollection> val4;120				ConfiguredTaskAwaiter<IEntity> val3;121				ConfiguredValueTaskAwaiter<ApplyResult> val2;122				IEntity result;123				int[] array;124				int value;125				switch (num)126				{127				default:128					_003C_003E8__1 = new _003C_003Ec__DisplayClass1_0();129					_003C_003E8__1.entity = entity;130					val5 = ((StateLessEntityLogic)qBMPendingChangeDetail).OnSavedAsync(_003C_003E8__1.entity, parameters, cancellationToken).ConfigureAwait(false);131					val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();132					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)133					{134						num = (_003C_003E1__state = 0);135						_003C_003Eu__1 = val;136						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavedAsync_003Ed__1>(ref val, ref this);137						return;138					}139					goto IL_00b8;140				case 0:141					val = _003C_003Eu__1;142					_003C_003Eu__1 = default(ConfiguredTaskAwaiter);143					num = (_003C_003E1__state = -1);144					goto IL_00b8;145				case 1:146					val4 = _003C_003Eu__2;147					_003C_003Eu__2 = default(ConfiguredTaskAwaiter<IEntityCollection>);148					num = (_003C_003E1__state = -1);149					goto IL_01d5;150				case 2:151					val3 = _003C_003Eu__3;152					_003C_003Eu__3 = default(ConfiguredTaskAwaiter<IEntity>);153					num = (_003C_003E1__state = -1);154					goto IL_0327;155				case 3:156					val2 = _003C_003Eu__4;157					_003C_003Eu__4 = default(ConfiguredValueTaskAwaiter<ApplyResult>);158					num = (_003C_003E1__state = -1);159					goto IL_03b8;160				case 4:161					{162						val = _003C_003Eu__1;163						_003C_003Eu__1 = default(ConfiguredTaskAwaiter);164						num = (_003C_003E1__state = -1);165						goto IL_0430;166					}167					IL_0430:168					((ConfiguredTaskAwaiter)(ref val)).GetResult();169					_003Cchange_003E5__4 = null;170					break;171					IL_00b8:172					((ConfiguredTaskAwaiter)(ref val)).GetResult();173					if (!_003C_003E8__1.entity.IsLoaded || _003C_003E8__1.entity.IsDeleted() || _003C_003E8__1.entity.Columns["IsProcessed"].IsDifferent)174					{175						_003Clog_003E5__2 = parameters.GetLogSession();176						_003Clog_003E5__2.Debug("QBMPendingChangeDetail: Computing resulting IsProcessed state of change");177						Query query = (from t in Query.From("QBMPendingChangeDetail")178							where t.Column("UID_QBMPendingChange") == _003C_003E8__1.entity.GetValue<string>("UID_QBMPendingChange")179							select t).Select("IsProcessed");180						val4 = parameters.EntitySource.GetCollectionAsync(query, EntityCollectionLoadType.Slim, cancellationToken).ConfigureAwait(false).GetAwaiter();181						if (!val4.IsCompleted)182						{183							num = (_003C_003E1__state = 1);184							_003C_003Eu__2 = val4;185							((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntityCollection>, _003COnSavedAsync_003Ed__1>(ref val4, ref this);186							return;187						}188						goto IL_01d5;189					}190					goto end_IL_000e;191					IL_03b8:192					val2.GetResult();193					val5 = parameters.UnitOfWork.PutAsync(_003Cchange_003E5__4, cancellationToken).ConfigureAwait(false);194					val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();195					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)196					{197						num = (_003C_003E1__state = 4);198						_003C_003Eu__1 = val;199						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavedAsync_003Ed__1>(ref val, ref this);200						return;201					}202					goto IL_0430;203					IL_0327:204					result = val3.GetResult();205					_003Cchange_003E5__4 = result;206					val2 = _003Cchange_003E5__4.PutValueAsync("IsProcessed", _003Cresulting_003E5__3, cancellationToken).ConfigureAwait(false).GetAwaiter();207					if (!val2.IsCompleted)208					{209						num = (_003C_003E1__state = 3);210						_003C_003Eu__4 = val2;211						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003COnSavedAsync_003Ed__1>(ref val2, ref this);212						return;213					}214					goto IL_03b8;215					IL_01d5:216					array = Enumerable.ToArray<int>(Enumerable.Select<IEntity, int>((System.Collections.Generic.IEnumerable<IEntity>)val4.GetResult(), (Func<IEntity, int>)((IEntity e) => e.GetValue<int>("IsProcessed"))));217					_003Cresulting_003E5__3 = ((!Enumerable.Any<int>((System.Collections.Generic.IEnumerable<int>)array, (Func<int, bool>)((int c) => c == 0))) ? Enumerable.Max((System.Collections.Generic.IEnumerable<int>)array) : 0);218					value = parameters.CreateWalker(_003C_003E8__1.entity).GetValue<int>("FK(UID_QBMPendingChange).IsProcessed");219					if (value == _003Cresulting_003E5__3)220					{221						break;222					}223					_003Clog_003E5__2.Debug("QBMPendingChangeDetail: State has changed (old: {0}, new: {1}). Setting state in QBMPendingChange.", value, _003Cresulting_003E5__3);224					val3 = parameters.EntitySource.GetAsync("QBMPendingChange", _003C_003E8__1.entity.GetValue<string>("UID_QBMPendingChange"), cancellationToken).ConfigureAwait(false).GetAwaiter();225					if (!val3.IsCompleted)226					{227						num = (_003C_003E1__state = 2);228						_003C_003Eu__3 = val3;229						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003COnSavedAsync_003Ed__1>(ref val3, ref this);230						return;231					}232					goto IL_0327;233				}234				_003Clog_003E5__2 = null;235				end_IL_000e:;236			}237			catch (System.Exception exception)238			{239				_003C_003E1__state = -2;240				_003C_003E8__1 = null;241				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);242				return;243			}244			_003C_003E1__state = -2;245			_003C_003E8__1 = null;246			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();247		}248249		[DebuggerHidden]250		private void SetStateMachine(IAsyncStateMachine stateMachine)251		{252			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);253		}254	}255256	public QBMPendingChangeDetail()257	{258		RegisterMethod("DetailReady").As<bool>((ISession s, IEntity e, bool success, CancellationToken ct) => e.PutValueAsync("IsProcessed", success ? 1 : 2, ct).AsTask()).NeedsSaving().Features("Common_PendingChangeReady");259	}260261	[AsyncStateMachine(typeof(_003COnSavedAsync_003Ed__1))]262	public override System.Threading.Tasks.Task OnSavedAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken cancellationToken)263	{264		//IL_0002: Unknown result type (might be due to invalid IL or missing references)265		//IL_0007: Unknown result type (might be due to invalid IL or missing references)266		//IL_0026: Unknown result type (might be due to invalid IL or missing references)267		//IL_0027: Unknown result type (might be due to invalid IL or missing references)268		_003COnSavedAsync_003Ed__1 _003COnSavedAsync_003Ed__ = default(_003COnSavedAsync_003Ed__1);269		_003COnSavedAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();270		_003COnSavedAsync_003Ed__._003C_003E4__this = this;271		_003COnSavedAsync_003Ed__.entity = entity;272		_003COnSavedAsync_003Ed__.parameters = parameters;273		_003COnSavedAsync_003Ed__.cancellationToken = cancellationToken;274		_003COnSavedAsync_003Ed__._003C_003E1__state = -1;275		((AsyncTaskMethodBuilder)(ref _003COnSavedAsync_003Ed__._003C_003Et__builder)).Start<_003COnSavedAsync_003Ed__1>(ref _003COnSavedAsync_003Ed__);276		return ((AsyncTaskMethodBuilder)(ref _003COnSavedAsync_003Ed__._003C_003Et__builder)).Task;277	}278}279