Back to OIM Explorer

DPR.Customizer/DPR.Customizer/DPRProjectionStartInfo.cs

Decompiler Source FileDPR.Customizer.DPRProjectionStartInfoDecompiled Source

2 extracted method/event/call references in DPRProjectionStartInfo.

Source: F:\Claude\.tmp\oim-decompiled-full\0375_One_Identity_Manager_DPR.Customizer.dll\DPR.Customizer\DPRProjectionStartInfo.cs

Source size: 18.769 characters

Interpretation

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

Relations

  • CallFunctionAsync: GetReferences at line 242
  • CallFunctionAsync: GetReferences at line 399

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 DPRProjectionStartInfo, _003C_003Ec__DisplayClass0_0; methods _003COnSavingAsync_003Eb__0, MoveNext, SetStateMachine, OnSavingAsync; references DialogSchedule, DPRProjectionStartInfo, JobAutoStart; markers reads entity values, references DB/Dialog objects

Classes

DPRProjectionStartInfo _003C_003Ec__DisplayClass0_0

OIM key/entity markers

UID_DialogSchedule XObjectKey ObjectKeyTarget

API/entity calls

GetValue IsDeleted SqlFormatter GetValue From Source

Registrations / handlers

None extracted.

Complete Source

C#423 lines
1using System;2using System.Collections;3using System.Collections.Generic;4using System.Diagnostics;5using System.Runtime.CompilerServices;6using System.Runtime.InteropServices;7using System.Threading;8using System.Threading.Tasks;9using VI.DB;10using VI.DB.Entities;1112namespace DPR.Customizer;1314public class DPRProjectionStartInfo : StateLessEntityLogic15{16	[CompilerGenerated]17	private sealed class _003C_003Ec__DisplayClass0_018	{19		public IEntity eAutoStart;2021		internal ExpressionClause _003COnSavingAsync_003Eb__0(IExpressionContext c)22		{23			return c.Column("UID_DialogSchedule") == eAutoStart.GetValue("UID_DialogSchedule");24		}25	}2627	[StructLayout((LayoutKind)3)]28	[CompilerGenerated]29	private struct _003COnSavingAsync_003Ed__0 : IAsyncStateMachine30	{31		public int _003C_003E1__state;3233		public AsyncTaskMethodBuilder<Diff> _003C_003Et__builder;3435		public IEntity entity;3637		public LogicReadWriteParameters parameters;3839		public CancellationToken ct;4041		private _003C_003Ec__DisplayClass0_0 _003C_003E8__1;4243		public DPRProjectionStartInfo _003C_003E4__this;4445		private ConfiguredTaskAwaiter<IEntityCollection> _003C_003Eu__1;4647		private System.Collections.Generic.IEnumerator<IEntity> _003C_003E7__wrap1;4849		private string _003CobkAutoStart_003E5__3;5051		private System.Collections.Generic.IEnumerator<IEntity> _003C_003E7__wrap3;5253		private IEntity _003CiDialogSchedule_003E5__5;5455		private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__2;5657		private ConfiguredValueTaskAwaiter<object> _003C_003Eu__3;5859		private ConfiguredTaskAwaiter _003C_003Eu__4;6061		private ConfiguredTaskAwaiter<Diff> _003C_003Eu__5;6263		private void MoveNext()64		{65			//IL_00e9: Unknown result type (might be due to invalid IL or missing references)66			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)67			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)68			//IL_0564: Unknown result type (might be due to invalid IL or missing references)69			//IL_0569: Unknown result type (might be due to invalid IL or missing references)70			//IL_0571: Unknown result type (might be due to invalid IL or missing references)71			//IL_051e: Unknown result type (might be due to invalid IL or missing references)72			//IL_0529: Unknown result type (might be due to invalid IL or missing references)73			//IL_052e: Unknown result type (might be due to invalid IL or missing references)74			//IL_0532: Unknown result type (might be due to invalid IL or missing references)75			//IL_0537: Unknown result type (might be due to invalid IL or missing references)76			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)77			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)78			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)79			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)80			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)81			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)82			//IL_01db: Unknown result type (might be due to invalid IL or missing references)83			//IL_01e3: Unknown result type (might be due to invalid IL or missing references)84			//IL_054c: Unknown result type (might be due to invalid IL or missing references)85			//IL_054e: Unknown result type (might be due to invalid IL or missing references)86			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)87			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)88			//IL_02a6: Unknown result type (might be due to invalid IL or missing references)89			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)90			//IL_02b3: Unknown result type (might be due to invalid IL or missing references)91			//IL_032c: Unknown result type (might be due to invalid IL or missing references)92			//IL_0331: Unknown result type (might be due to invalid IL or missing references)93			//IL_0339: Unknown result type (might be due to invalid IL or missing references)94			//IL_03ec: Unknown result type (might be due to invalid IL or missing references)95			//IL_03f1: Unknown result type (might be due to invalid IL or missing references)96			//IL_03f9: Unknown result type (might be due to invalid IL or missing references)97			//IL_0476: Unknown result type (might be due to invalid IL or missing references)98			//IL_047b: Unknown result type (might be due to invalid IL or missing references)99			//IL_0483: Unknown result type (might be due to invalid IL or missing references)100			//IL_018d: Unknown result type (might be due to invalid IL or missing references)101			//IL_0198: Unknown result type (might be due to invalid IL or missing references)102			//IL_019d: Unknown result type (might be due to invalid IL or missing references)103			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)104			//IL_01a6: Unknown result type (might be due to invalid IL or missing references)105			//IL_02df: Unknown result type (might be due to invalid IL or missing references)106			//IL_02ee: Unknown result type (might be due to invalid IL or missing references)107			//IL_02f3: Unknown result type (might be due to invalid IL or missing references)108			//IL_02f7: Unknown result type (might be due to invalid IL or missing references)109			//IL_02fc: Unknown result type (might be due to invalid IL or missing references)110			//IL_042d: Unknown result type (might be due to invalid IL or missing references)111			//IL_0438: Unknown result type (might be due to invalid IL or missing references)112			//IL_043d: Unknown result type (might be due to invalid IL or missing references)113			//IL_0441: Unknown result type (might be due to invalid IL or missing references)114			//IL_0446: Unknown result type (might be due to invalid IL or missing references)115			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)116			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)117			//IL_0311: Unknown result type (might be due to invalid IL or missing references)118			//IL_0313: Unknown result type (might be due to invalid IL or missing references)119			//IL_03a3: Unknown result type (might be due to invalid IL or missing references)120			//IL_03ae: Unknown result type (might be due to invalid IL or missing references)121			//IL_03b3: Unknown result type (might be due to invalid IL or missing references)122			//IL_03b7: Unknown result type (might be due to invalid IL or missing references)123			//IL_03bc: Unknown result type (might be due to invalid IL or missing references)124			//IL_045b: Unknown result type (might be due to invalid IL or missing references)125			//IL_045d: Unknown result type (might be due to invalid IL or missing references)126			//IL_025d: Unknown result type (might be due to invalid IL or missing references)127			//IL_0268: Unknown result type (might be due to invalid IL or missing references)128			//IL_026d: Unknown result type (might be due to invalid IL or missing references)129			//IL_0271: Unknown result type (might be due to invalid IL or missing references)130			//IL_0276: Unknown result type (might be due to invalid IL or missing references)131			//IL_03d1: Unknown result type (might be due to invalid IL or missing references)132			//IL_03d3: Unknown result type (might be due to invalid IL or missing references)133			//IL_028b: Unknown result type (might be due to invalid IL or missing references)134			//IL_028d: Unknown result type (might be due to invalid IL or missing references)135			int num = _003C_003E1__state;136			DPRProjectionStartInfo dPRProjectionStartInfo = _003C_003E4__this;137			Diff result4;138			try139			{140				ConfiguredTaskAwaiter<IEntityCollection> val2;141				ConfiguredTaskAwaiter<Diff> val;142				IEntityCollection result3;143				switch (num)144				{145				default:146					if (entity.IsDeleted())147					{148						ISqlFormatter formatter = parameters.Session.SqlFormatter();149						string value = entity.GetValue("XObjectKey");150						Query query = Query.From("JobAutoStart").Where(formatter.UidComparison("ObjectKeyTarget", value)).SelectNone();151						val2 = parameters.Session.Source().GetCollectionAsync(query, EntityCollectionLoadType.Bulk, ct).ConfigureAwait(false)152							.GetAwaiter();153						if (!val2.IsCompleted)154						{155							num = (_003C_003E1__state = 0);156							_003C_003Eu__1 = val2;157							_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntityCollection>, _003COnSavingAsync_003Ed__0>(ref val2, ref this);158							return;159						}160						goto IL_0105;161					}162					goto IL_0510;163				case 0:164					val2 = _003C_003Eu__1;165					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntityCollection>);166					num = (_003C_003E1__state = -1);167					goto IL_0105;168				case 1:169				case 2:170				case 3:171				case 4:172				case 5:173					try174					{175						if (num != 1)176						{177							if ((uint)(num - 2) <= 3u)178							{179								goto IL_0229;180							}181							goto IL_04df;182						}183						val2 = _003C_003Eu__1;184						_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntityCollection>);185						num = (_003C_003E1__state = -1);186						goto IL_01f2;187						IL_01f2:188						IEntityCollection result = val2.GetResult();189						_003CobkAutoStart_003E5__3 = _003C_003E8__1.eAutoStart.GetValue("XObjectKey");190						_003C_003E7__wrap3 = ((System.Collections.Generic.IEnumerable<IEntity>)result).GetEnumerator();191						goto IL_0229;192						IL_0229:193						try194						{195							ConfiguredTaskAwaiter<IEntity> val5;196							ConfiguredValueTaskAwaiter<object> val4;197							ConfiguredTaskAwaiter val3;198							IEntity result2;199							string[][] array;200							ConfiguredTaskAwaitable val6;201							switch (num)202							{203							case 2:204								val5 = _003C_003Eu__2;205								_003C_003Eu__2 = default(ConfiguredTaskAwaiter<IEntity>);206								num = (_003C_003E1__state = -1);207								goto IL_02c2;208							case 3:209								val4 = _003C_003Eu__3;210								_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<object>);211								num = (_003C_003E1__state = -1);212								goto IL_0348;213							case 4:214								val3 = _003C_003Eu__4;215								_003C_003Eu__4 = default(ConfiguredTaskAwaiter);216								num = (_003C_003E1__state = -1);217								goto IL_0408;218							case 5:219								val3 = _003C_003Eu__4;220								_003C_003Eu__4 = default(ConfiguredTaskAwaiter);221								num = (_003C_003E1__state = -1);222								goto IL_0492;223							default:224								{225									if (((System.Collections.IEnumerator)_003C_003E7__wrap3).MoveNext())226									{227										val5 = _003C_003E7__wrap3.Current.CreateInteractiveAsync(parameters.Session, ct).ConfigureAwait(false).GetAwaiter();228										if (!val5.IsCompleted)229										{230											num = (_003C_003E1__state = 2);231											_003C_003Eu__2 = val5;232											_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003COnSavingAsync_003Ed__0>(ref val5, ref this);233											return;234										}235										goto IL_02c2;236									}237									break;238								}239								IL_02c2:240								result2 = val5.GetResult();241								_003CiDialogSchedule_003E5__5 = result2;242								val4 = _003CiDialogSchedule_003E5__5.CallFunctionAsync("GetReferences", ct).ConfigureAwait(false).GetAwaiter();243								if (!val4.IsCompleted)244								{245									num = (_003C_003E1__state = 3);246									_003C_003Eu__3 = val4;247									_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003COnSavingAsync_003Ed__0>(ref val4, ref this);248									return;249								}250								goto IL_0348;251								IL_0499:252								_003CiDialogSchedule_003E5__5 = null;253								goto default;254								IL_0348:255								array = (string[][])val4.GetResult();256								if (array.Length == 0 || (array.Length == 1 && string.Equals(array[0][2], _003CobkAutoStart_003E5__3)))257								{258									_003C_003E8__1.eAutoStart.MarkForDeletion();259									val6 = parameters.UnitOfWork.PutAsync(_003C_003E8__1.eAutoStart, null, ct).ConfigureAwait(false);260									val3 = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();261									if (!((ConfiguredTaskAwaiter)(ref val3)).IsCompleted)262									{263										num = (_003C_003E1__state = 4);264										_003C_003Eu__4 = val3;265										_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__0>(ref val3, ref this);266										return;267									}268									goto IL_0408;269								}270								goto IL_0499;271								IL_0492:272								((ConfiguredTaskAwaiter)(ref val3)).GetResult();273								goto IL_0499;274								IL_0408:275								((ConfiguredTaskAwaiter)(ref val3)).GetResult();276								_003CiDialogSchedule_003E5__5.MarkForDeletion();277								val6 = parameters.UnitOfWork.PutAsync(_003CiDialogSchedule_003E5__5, null, ct).ConfigureAwait(false);278								val3 = ((ConfiguredTaskAwaitable)(ref val6)).GetAwaiter();279								if (!((ConfiguredTaskAwaiter)(ref val3)).IsCompleted)280								{281									num = (_003C_003E1__state = 5);282									_003C_003Eu__4 = val3;283									_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003COnSavingAsync_003Ed__0>(ref val3, ref this);284									return;285								}286								goto IL_0492;287							}288						}289						finally290						{291							if (num < 0 && _003C_003E7__wrap3 != null)292							{293								((System.IDisposable)_003C_003E7__wrap3).Dispose();294							}295						}296						_003C_003E7__wrap3 = null;297						_003CobkAutoStart_003E5__3 = null;298						_003C_003E8__1 = null;299						goto IL_04df;300						IL_04df:301						if (((System.Collections.IEnumerator)_003C_003E7__wrap1).MoveNext())302						{303							_003C_003E8__1 = new _003C_003Ec__DisplayClass0_0();304							_003C_003E8__1.eAutoStart = _003C_003E7__wrap1.Current;305							Query query2 = (from c in Query.From("DialogSchedule")306								where c.Column("UID_DialogSchedule") == _003C_003E8__1.eAutoStart.GetValue("UID_DialogSchedule")307								select c).SelectNone();308							val2 = parameters.Session.Source().GetCollectionAsync(query2, EntityCollectionLoadType.Bulk, ct).ConfigureAwait(false)309								.GetAwaiter();310							if (!val2.IsCompleted)311							{312								num = (_003C_003E1__state = 1);313								_003C_003Eu__1 = val2;314								_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntityCollection>, _003COnSavingAsync_003Ed__0>(ref val2, ref this);315								return;316							}317							goto IL_01f2;318						}319					}320					finally321					{322						if (num < 0 && _003C_003E7__wrap1 != null)323						{324							((System.IDisposable)_003C_003E7__wrap1).Dispose();325						}326					}327					_003C_003E7__wrap1 = null;328					goto IL_0510;329				case 6:330					{331						val = _003C_003Eu__5;332						_003C_003Eu__5 = default(ConfiguredTaskAwaiter<Diff>);333						num = (_003C_003E1__state = -1);334						break;335					}336					IL_0510:337					val = ((EntityLogicBase)dPRProjectionStartInfo).OnSavingAsync(entity, parameters, ct).ConfigureAwait(false).GetAwaiter();338					if (!val.IsCompleted)339					{340						num = (_003C_003E1__state = 6);341						_003C_003Eu__5 = val;342						_003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<Diff>, _003COnSavingAsync_003Ed__0>(ref val, ref this);343						return;344					}345					break;346					IL_0105:347					result3 = val2.GetResult();348					_003C_003E7__wrap1 = ((System.Collections.Generic.IEnumerable<IEntity>)result3).GetEnumerator();349					goto case 1;350				}351				result4 = val.GetResult();352			}353			catch (System.Exception exception)354			{355				_003C_003E1__state = -2;356				_003C_003Et__builder.SetException(exception);357				return;358			}359			_003C_003E1__state = -2;360			_003C_003Et__builder.SetResult(result4);361		}362363		[DebuggerHidden]364		private void SetStateMachine(IAsyncStateMachine stateMachine)365		{366			_003C_003Et__builder.SetStateMachine(stateMachine);367		}368	}369370	[AsyncStateMachine(typeof(_003COnSavingAsync_003Ed__0))]371	public override async System.Threading.Tasks.Task<Diff> OnSavingAsync(IEntity entity, LogicReadWriteParameters parameters, CancellationToken ct)372	{373		//IL_0002: Unknown result type (might be due to invalid IL or missing references)374		//IL_0007: Unknown result type (might be due to invalid IL or missing references)375		//IL_0026: Unknown result type (might be due to invalid IL or missing references)376		//IL_0027: Unknown result type (might be due to invalid IL or missing references)377		if (entity.IsDeleted())378		{379			ISqlFormatter formatter = parameters.Session.SqlFormatter();380			string value = entity.GetValue("XObjectKey");381			Query query = Query.From("JobAutoStart").Where(formatter.UidComparison("ObjectKeyTarget", value)).SelectNone();382			System.Collections.Generic.IEnumerator<IEntity> enumerator = ((System.Collections.Generic.IEnumerable<IEntity>)(await parameters.Session.Source().GetCollectionAsync(query, EntityCollectionLoadType.Bulk, ct).ConfigureAwait(false))).GetEnumerator();383			try384			{385				while (((System.Collections.IEnumerator)enumerator).MoveNext())386				{387					IEntity eAutoStart = enumerator.Current;388					Query query2 = (from c in Query.From("DialogSchedule")389						where c.Column("UID_DialogSchedule") == eAutoStart.GetValue("UID_DialogSchedule")390						select c).SelectNone();391					IEntityCollection entityCollection = await parameters.Session.Source().GetCollectionAsync(query2, EntityCollectionLoadType.Bulk, ct).ConfigureAwait(false);392					string obkAutoStart = eAutoStart.GetValue("XObjectKey");393					System.Collections.Generic.IEnumerator<IEntity> enumerator2 = ((System.Collections.Generic.IEnumerable<IEntity>)entityCollection).GetEnumerator();394					try395					{396						while (((System.Collections.IEnumerator)enumerator2).MoveNext())397						{398							IEntity iDialogSchedule = await enumerator2.Current.CreateInteractiveAsync(parameters.Session, ct).ConfigureAwait(false);399							string[][] array = (string[][])(await iDialogSchedule.CallFunctionAsync("GetReferences", ct).ConfigureAwait(false));400							if (array.Length == 0 || (array.Length == 1 && string.Equals(array[0][2], obkAutoStart)))401							{402								eAutoStart.MarkForDeletion();403								await parameters.UnitOfWork.PutAsync(eAutoStart, null, ct).ConfigureAwait(false);404								iDialogSchedule.MarkForDeletion();405								await parameters.UnitOfWork.PutAsync(iDialogSchedule, null, ct).ConfigureAwait(false);406							}407						}408					}409					finally410					{411						((System.IDisposable)enumerator2)?.Dispose();412					}413				}414			}415			finally416			{417				((System.IDisposable)enumerator)?.Dispose();418			}419		}420		return await base.OnSavingAsync(entity, parameters, ct).ConfigureAwait(false);421	}422}423