DPR.Customizer/DPR.Customizer/DPRProjectionStartInfo.cs
Decompiler Source FileDPR.Customizer.DPRProjectionStartInfoDecompiled Source
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_0DB/Dialog object references
OIM key/entity markers
UID_DialogSchedule XObjectKey ObjectKeyTargetAPI/entity calls
GetValue IsDeleted SqlFormatter GetValue From SourceRegistrations / handlers
None extracted.
Complete Source
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