RPS.Customizer/RPS.Customizer/RPSSubscription.cs
Decompiler Source FileRPS.Customizer.RPSSubscriptionDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- Function registration: CreateParameterSet at line 388
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 RPSSubscription; methods MoveNext, SetStateMachine, _CreateParameterSet; references DialogParameter, DialogParameterSet, RPSReport, RPSSubscription; markers reads entity values, references DB/Dialog objects
Classes
RPSSubscriptionDB/Dialog object references
OIM key/entity markers
UID_RPSReport ObjectKeyUsedBy UID_DialogParameterSet UID_DialogParameterSetParentAPI/entity calls
GetValueAsync StartUnitOfWork CreateAsync MetaData GetObjectKey SqlFormatter 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.Base;10using VI.DB;11using VI.DB.Entities;12using VI.DB.MetaData;1314namespace RPS.Customizer;1516public class RPSSubscription : StateBasedEntityLogic17{18 [StructLayout((LayoutKind)3)]19 [CompilerGenerated]20 private struct _003C_CreateParameterSet_003Ed__1 : IAsyncStateMachine21 {22 public int _003C_003E1__state;2324 public AsyncTaskMethodBuilder<IEntity> _003C_003Et__builder;2526 public IEntity entity;2728 public CancellationToken ct;2930 public ISession session;3132 private string _003CuidRPSReport_003E5__2;3334 private ConfiguredValueTaskAwaiter<string> _003C_003Eu__1;3536 private IUnitOfWork _003Cuow_003E5__3;3738 private DbObjectKey _003CdbokSubscription_003E5__4;3940 private string _003CuidDialogParameterSet_003E5__5;4142 private IEntity _003CdbReportSet_003E5__6;4344 private ConfiguredTaskAwaiter<DbObjectKey> _003C_003Eu__2;4546 private ConfiguredTaskAwaiter<string> _003C_003Eu__3;4748 private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__4;4950 private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__5;5152 private ConfiguredTaskAwaiter _003C_003Eu__6;5354 private void MoveNext()55 {56 //IL_006c: Unknown result type (might be due to invalid IL or missing references)57 //IL_0071: Unknown result type (might be due to invalid IL or missing references)58 //IL_0079: Unknown result type (might be due to invalid IL or missing references)59 //IL_001f: Unknown result type (might be due to invalid IL or missing references)60 //IL_002e: Unknown result type (might be due to invalid IL or missing references)61 //IL_0033: Unknown result type (might be due to invalid IL or missing references)62 //IL_0037: Unknown result type (might be due to invalid IL or missing references)63 //IL_003c: Unknown result type (might be due to invalid IL or missing references)64 //IL_0051: Unknown result type (might be due to invalid IL or missing references)65 //IL_0053: Unknown result type (might be due to invalid IL or missing references)66 //IL_0154: Unknown result type (might be due to invalid IL or missing references)67 //IL_0159: Unknown result type (might be due to invalid IL or missing references)68 //IL_0161: Unknown result type (might be due to invalid IL or missing references)69 //IL_0213: Unknown result type (might be due to invalid IL or missing references)70 //IL_0218: Unknown result type (might be due to invalid IL or missing references)71 //IL_0220: Unknown result type (might be due to invalid IL or missing references)72 //IL_0299: Unknown result type (might be due to invalid IL or missing references)73 //IL_029e: Unknown result type (might be due to invalid IL or missing references)74 //IL_02a6: Unknown result type (might be due to invalid IL or missing references)75 //IL_0325: Unknown result type (might be due to invalid IL or missing references)76 //IL_032a: Unknown result type (might be due to invalid IL or missing references)77 //IL_0332: Unknown result type (might be due to invalid IL or missing references)78 //IL_03ad: Unknown result type (might be due to invalid IL or missing references)79 //IL_03b2: Unknown result type (might be due to invalid IL or missing references)80 //IL_03ba: Unknown result type (might be due to invalid IL or missing references)81 //IL_044c: Unknown result type (might be due to invalid IL or missing references)82 //IL_0451: Unknown result type (might be due to invalid IL or missing references)83 //IL_0459: Unknown result type (might be due to invalid IL or missing references)84 //IL_04c6: Unknown result type (might be due to invalid IL or missing references)85 //IL_04cb: Unknown result type (might be due to invalid IL or missing references)86 //IL_04d3: Unknown result type (might be due to invalid IL or missing references)87 //IL_0539: Unknown result type (might be due to invalid IL or missing references)88 //IL_053e: Unknown result type (might be due to invalid IL or missing references)89 //IL_0546: Unknown result type (might be due to invalid IL or missing references)90 //IL_010b: Unknown result type (might be due to invalid IL or missing references)91 //IL_0116: Unknown result type (might be due to invalid IL or missing references)92 //IL_011b: Unknown result type (might be due to invalid IL or missing references)93 //IL_011f: Unknown result type (might be due to invalid IL or missing references)94 //IL_0124: Unknown result type (might be due to invalid IL or missing references)95 //IL_01ca: Unknown result type (might be due to invalid IL or missing references)96 //IL_01d5: Unknown result type (might be due to invalid IL or missing references)97 //IL_01da: Unknown result type (might be due to invalid IL or missing references)98 //IL_01de: Unknown result type (might be due to invalid IL or missing references)99 //IL_01e3: Unknown result type (might be due to invalid IL or missing references)100 //IL_0250: Unknown result type (might be due to invalid IL or missing references)101 //IL_025b: Unknown result type (might be due to invalid IL or missing references)102 //IL_0260: Unknown result type (might be due to invalid IL or missing references)103 //IL_0264: Unknown result type (might be due to invalid IL or missing references)104 //IL_0269: Unknown result type (might be due to invalid IL or missing references)105 //IL_02d8: Unknown result type (might be due to invalid IL or missing references)106 //IL_02e7: Unknown result type (might be due to invalid IL or missing references)107 //IL_02ec: Unknown result type (might be due to invalid IL or missing references)108 //IL_02f0: Unknown result type (might be due to invalid IL or missing references)109 //IL_02f5: Unknown result type (might be due to invalid IL or missing references)110 //IL_0360: Unknown result type (might be due to invalid IL or missing references)111 //IL_036f: Unknown result type (might be due to invalid IL or missing references)112 //IL_0374: Unknown result type (might be due to invalid IL or missing references)113 //IL_0378: Unknown result type (might be due to invalid IL or missing references)114 //IL_037d: Unknown result type (might be due to invalid IL or missing references)115 //IL_03ff: Unknown result type (might be due to invalid IL or missing references)116 //IL_040e: Unknown result type (might be due to invalid IL or missing references)117 //IL_0413: Unknown result type (might be due to invalid IL or missing references)118 //IL_0417: Unknown result type (might be due to invalid IL or missing references)119 //IL_041c: Unknown result type (might be due to invalid IL or missing references)120 //IL_047d: Unknown result type (might be due to invalid IL or missing references)121 //IL_0488: Unknown result type (might be due to invalid IL or missing references)122 //IL_048d: Unknown result type (might be due to invalid IL or missing references)123 //IL_0491: Unknown result type (might be due to invalid IL or missing references)124 //IL_0496: Unknown result type (might be due to invalid IL or missing references)125 //IL_04f0: Unknown result type (might be due to invalid IL or missing references)126 //IL_04fb: Unknown result type (might be due to invalid IL or missing references)127 //IL_0500: Unknown result type (might be due to invalid IL or missing references)128 //IL_0504: Unknown result type (might be due to invalid IL or missing references)129 //IL_0509: Unknown result type (might be due to invalid IL or missing references)130 //IL_0139: Unknown result type (might be due to invalid IL or missing references)131 //IL_013b: Unknown result type (might be due to invalid IL or missing references)132 //IL_01f8: Unknown result type (might be due to invalid IL or missing references)133 //IL_01fa: Unknown result type (might be due to invalid IL or missing references)134 //IL_027e: Unknown result type (might be due to invalid IL or missing references)135 //IL_0280: Unknown result type (might be due to invalid IL or missing references)136 //IL_030a: Unknown result type (might be due to invalid IL or missing references)137 //IL_030c: Unknown result type (might be due to invalid IL or missing references)138 //IL_0392: Unknown result type (might be due to invalid IL or missing references)139 //IL_0394: Unknown result type (might be due to invalid IL or missing references)140 //IL_0431: Unknown result type (might be due to invalid IL or missing references)141 //IL_0433: Unknown result type (might be due to invalid IL or missing references)142 //IL_04ab: Unknown result type (might be due to invalid IL or missing references)143 //IL_04ad: Unknown result type (might be due to invalid IL or missing references)144 //IL_051e: Unknown result type (might be due to invalid IL or missing references)145 //IL_0520: Unknown result type (might be due to invalid IL or missing references)146 int num = _003C_003E1__state;147 IEntity result4;148 try149 {150 ConfiguredValueTaskAwaiter<string> val;151 if (num != 0)152 {153 if ((uint)(num - 1) <= 7u)154 {155 goto IL_00d1;156 }157 val = entity.GetValueAsync<string>("UID_RPSReport", ct).ConfigureAwait(false).GetAwaiter();158 if (!val.IsCompleted)159 {160 num = (_003C_003E1__state = 0);161 _003C_003Eu__1 = val;162 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<string>, _003C_CreateParameterSet_003Ed__1>(ref val, ref this);163 return;164 }165 }166 else167 {168 val = _003C_003Eu__1;169 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<string>);170 num = (_003C_003E1__state = -1);171 }172 string result = val.GetResult();173 _003CuidRPSReport_003E5__2 = result;174 if (string.IsNullOrEmpty(_003CuidRPSReport_003E5__2))175 {176 throw new ViException(2122034, ExceptionRelevance.EndUser, "UID_RPSReport");177 }178 _003Cuow_003E5__3 = session.StartUnitOfWork();179 goto IL_00d1;180 IL_00d1:181 try182 {183 ConfiguredTaskAwaiter<DbObjectKey> val6;184 ConfiguredTaskAwaiter<string> val5;185 ConfiguredTaskAwaiter<IEntity> val4;186 ConfiguredValueTaskAwaiter<ApplyResult> val3;187 ConfiguredTaskAwaiter val2;188 DbObjectKey result2;189 DbObjectKey objectKey;190 string whereclause;191 ConfiguredTaskAwaitable val7;192 IEntity obj;193 LanguageManager instance;194 object display;195 IEntity result3;196 switch (num)197 {198 default:199 val6 = DbObjectKey.CreateAsync(session.MetaData(), entity, ct).ConfigureAwait(false).GetAwaiter();200 if (!val6.IsCompleted)201 {202 num = (_003C_003E1__state = 1);203 _003C_003Eu__2 = val6;204 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<DbObjectKey>, _003C_CreateParameterSet_003Ed__1>(ref val6, ref this);205 return;206 }207 goto IL_0170;208 case 1:209 val6 = _003C_003Eu__2;210 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<DbObjectKey>);211 num = (_003C_003E1__state = -1);212 goto IL_0170;213 case 2:214 val5 = _003C_003Eu__3;215 _003C_003Eu__3 = default(ConfiguredTaskAwaiter<string>);216 num = (_003C_003E1__state = -1);217 goto IL_022f;218 case 3:219 val4 = _003C_003Eu__4;220 _003C_003Eu__4 = default(ConfiguredTaskAwaiter<IEntity>);221 num = (_003C_003E1__state = -1);222 goto IL_02b5;223 case 4:224 val3 = _003C_003Eu__5;225 _003C_003Eu__5 = default(ConfiguredValueTaskAwaiter<ApplyResult>);226 num = (_003C_003E1__state = -1);227 goto IL_0341;228 case 5:229 val3 = _003C_003Eu__5;230 _003C_003Eu__5 = default(ConfiguredValueTaskAwaiter<ApplyResult>);231 num = (_003C_003E1__state = -1);232 goto IL_03c9;233 case 6:234 val3 = _003C_003Eu__5;235 _003C_003Eu__5 = default(ConfiguredValueTaskAwaiter<ApplyResult>);236 num = (_003C_003E1__state = -1);237 goto IL_0468;238 case 7:239 val2 = _003C_003Eu__6;240 _003C_003Eu__6 = default(ConfiguredTaskAwaiter);241 num = (_003C_003E1__state = -1);242 goto IL_04e2;243 case 8:244 {245 val2 = _003C_003Eu__6;246 _003C_003Eu__6 = default(ConfiguredTaskAwaiter);247 num = (_003C_003E1__state = -1);248 break;249 }250 IL_0341:251 val3.GetResult();252 val3 = _003CdbReportSet_003E5__6.PutValueAsync("ObjectKeyUsedBy", _003CdbokSubscription_003E5__4.ToXmlString(), ct).ConfigureAwait(false).GetAwaiter();253 if (!val3.IsCompleted)254 {255 num = (_003C_003E1__state = 5);256 _003C_003Eu__5 = val3;257 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_CreateParameterSet_003Ed__1>(ref val3, ref this);258 return;259 }260 goto IL_03c9;261 IL_0170:262 result2 = val6.GetResult();263 _003CdbokSubscription_003E5__4 = result2;264 objectKey = DbObjectKey.GetObjectKey("RPSReport", _003CuidRPSReport_003E5__2);265 whereclause = session.SqlFormatter().UidComparison("ObjectKeyUsedBy", objectKey.ToXmlString());266 val5 = session.Source().GetSingleValueAsync<string>("DialogParameterSet", "UID_DialogParameterSet", whereclause, ct).ConfigureAwait(false)267 .GetAwaiter();268 if (!val5.IsCompleted)269 {270 num = (_003C_003E1__state = 2);271 _003C_003Eu__3 = val5;272 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003C_CreateParameterSet_003Ed__1>(ref val5, ref this);273 return;274 }275 goto IL_022f;276 IL_0468:277 val3.GetResult();278 val7 = _003Cuow_003E5__3.PutAsync(_003CdbReportSet_003E5__6, ct).ConfigureAwait(false);279 val2 = ((ConfiguredTaskAwaitable)(ref val7)).GetAwaiter();280 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)281 {282 num = (_003C_003E1__state = 7);283 _003C_003Eu__6 = val2;284 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_CreateParameterSet_003Ed__1>(ref val2, ref this);285 return;286 }287 goto IL_04e2;288 IL_022f:289 result = val5.GetResult();290 _003CuidDialogParameterSet_003E5__5 = result;291 val4 = session.Source().CreateNewAsync("DialogParameterSet", EntityCreationType.DelayedLogic, ct).ConfigureAwait(false)292 .GetAwaiter();293 if (!val4.IsCompleted)294 {295 num = (_003C_003E1__state = 3);296 _003C_003Eu__4 = val4;297 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003C_CreateParameterSet_003Ed__1>(ref val4, ref this);298 return;299 }300 goto IL_02b5;301 IL_03c9:302 val3.GetResult();303 obj = _003CdbReportSet_003E5__6;304 instance = LanguageManager.Instance;305 display = entity.Display;306 val3 = obj.PutValueAsync("DisplayName", instance.FormatString("RPSSubscription_NewParameterSet", new System.ReadOnlySpan<object>(ref display)), ct).ConfigureAwait(false).GetAwaiter();307 if (!val3.IsCompleted)308 {309 num = (_003C_003E1__state = 6);310 _003C_003Eu__5 = val3;311 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_CreateParameterSet_003Ed__1>(ref val3, ref this);312 return;313 }314 goto IL_0468;315 IL_02b5:316 result3 = val4.GetResult();317 _003CdbReportSet_003E5__6 = result3;318 val3 = _003CdbReportSet_003E5__6.PutValueAsync("UID_DialogParameterSetParent", _003CuidDialogParameterSet_003E5__5, ct).ConfigureAwait(false).GetAwaiter();319 if (!val3.IsCompleted)320 {321 num = (_003C_003E1__state = 4);322 _003C_003Eu__5 = val3;323 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_CreateParameterSet_003Ed__1>(ref val3, ref this);324 return;325 }326 goto IL_0341;327 IL_04e2:328 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();329 val7 = _003Cuow_003E5__3.CommitAsync(ct).ConfigureAwait(false);330 val2 = ((ConfiguredTaskAwaitable)(ref val7)).GetAwaiter();331 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)332 {333 num = (_003C_003E1__state = 8);334 _003C_003Eu__6 = val2;335 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_CreateParameterSet_003Ed__1>(ref val2, ref this);336 return;337 }338 break;339 }340 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();341 result4 = _003CdbReportSet_003E5__6;342 }343 finally344 {345 if (num < 0 && _003Cuow_003E5__3 != null)346 {347 ((System.IDisposable)_003Cuow_003E5__3).Dispose();348 }349 }350 }351 catch (System.Exception exception)352 {353 _003C_003E1__state = -2;354 _003CuidRPSReport_003E5__2 = null;355 _003C_003Et__builder.SetException(exception);356 return;357 }358 _003C_003E1__state = -2;359 _003CuidRPSReport_003E5__2 = null;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 public RPSSubscription(EntityLogicConstructionParameters p)371 {372 System.Collections.Generic.IEnumerator<IMetaColumn> enumerator = ((System.Collections.Generic.IEnumerable<IMetaColumn>)p.Table.Columns).GetEnumerator();373 try374 {375 while (((System.Collections.IEnumerator)enumerator).MoveNext())376 {377 IMetaColumn current = enumerator.Current;378 if (!current.IsPK && !current.IsSpecial && !(current.Columnname == "IsRejected"))379 {380 CanEdit(current.Columnname).From("IsRejected", "[IsLoaded]").As<bool, bool>((Func<bool, bool, bool>)((bool isRejected, bool isLoaded) => !isRejected || !isLoaded));381 }382 }383 }384 finally385 {386 ((System.IDisposable)enumerator)?.Dispose();387 }388 RegisterFunction("CreateParameterSet").As<IEntity>(_CreateParameterSet).Description("Method_RPSSubscription_CreateParameterSet").Enabled()389 .From("[IsLoaded]")390 .As<bool>((Func<bool, bool>)((bool isLoaded) => isLoaded));391 }392393 [AsyncStateMachine(typeof(_003C_CreateParameterSet_003Ed__1))]394 private async System.Threading.Tasks.Task<IEntity> _CreateParameterSet(ISession session, IEntity entity, CancellationToken ct)395 {396 //IL_0002: Unknown result type (might be due to invalid IL or missing references)397 //IL_0007: Unknown result type (might be due to invalid IL or missing references)398 //IL_001e: Unknown result type (might be due to invalid IL or missing references)399 //IL_001f: Unknown result type (might be due to invalid IL or missing references)400 string uidRPSReport = await entity.GetValueAsync<string>("UID_RPSReport", ct).ConfigureAwait(false);401 if (string.IsNullOrEmpty(uidRPSReport))402 {403 throw new ViException(2122034, ExceptionRelevance.EndUser, "UID_RPSReport");404 }405 using IUnitOfWork uow = session.StartUnitOfWork();406 DbObjectKey dbokSubscription = await DbObjectKey.CreateAsync(session.MetaData(), entity, ct).ConfigureAwait(false);407 DbObjectKey objectKey = DbObjectKey.GetObjectKey("RPSReport", uidRPSReport);408 string whereclause = session.SqlFormatter().UidComparison("ObjectKeyUsedBy", objectKey.ToXmlString());409 string uidDialogParameterSet = await session.Source().GetSingleValueAsync<string>("DialogParameterSet", "UID_DialogParameterSet", whereclause, ct).ConfigureAwait(false);410 IEntity dbReportSet = await session.Source().CreateNewAsync("DialogParameterSet", EntityCreationType.DelayedLogic, ct).ConfigureAwait(false);411 await dbReportSet.PutValueAsync("UID_DialogParameterSetParent", uidDialogParameterSet, ct).ConfigureAwait(false);412 await dbReportSet.PutValueAsync("ObjectKeyUsedBy", dbokSubscription.ToXmlString(), ct).ConfigureAwait(false);413 LanguageManager instance = LanguageManager.Instance;414 object display = entity.Display;415 await dbReportSet.PutValueAsync("DisplayName", instance.FormatString("RPSSubscription_NewParameterSet", new System.ReadOnlySpan<object>(ref display)), ct).ConfigureAwait(false);416 await uow.PutAsync(dbReportSet, ct).ConfigureAwait(false);417 await uow.CommitAsync(ct).ConfigureAwait(false);418 return dbReportSet;419 }420}421