Common.Customizer/VI.Common.Customizer/QBMPendingChangeDetail.cs
Decompiler Source FileCommon.Customizer.QBMPendingChangeDetailDecompiled Source
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_0DB/Dialog object references
OIM key/entity markers
UID_QBMPendingChangeAPI/entity calls
GetValue IsDeleted FromRegistrations / handlers
None extracted.
Complete Source
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