Common.Customizer/VI.Common.Customizer/QBMServer.cs
Decompiler Source FileCommon.Customizer.QBMServerDecompiled 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: ServerHasTag at line 720
- ExtendedMethod registration: AssignDefaultDeployTargets at line 721
- Function registration: GetServiceUrl at line 722
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 QBMServer; methods MoveNext, SetStateMachine, ServerHasTagAsync, _AssignDefaultDeployTargetsOnSaved, GetServiceUrl, GetAddress; references QBMDeployTarget, QBMDeployTargetHasServerTag, QBMServer, QBMServerHasDeployTarget, QBMServerHasServerTag, QBMServerTag; markers reads entity values, references DB/Dialog objects
Classes
QBMServerMethods
DB/Dialog object references
OIM key/entity markers
UID_QBMServer UID_QBMServerTag UID_QBMDeployTarget UID_ClusterServer UID_ParentQBMServerAPI/entity calls
ExistsAsync GetValue GetValueAsync SqlFormatter Source FromRegistrations / 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 System.Xml.Linq;10using System.Xml.XPath;11using VI.Base;12using VI.DB;13using VI.DB.Entities;1415namespace VI.Common.Customizer;1617public class QBMServer : StateBasedEntityLogic18{19 [StructLayout((LayoutKind)3)]20 [CompilerGenerated]21 private struct _003CGetAddress_003Ed__4 : IAsyncStateMachine22 {23 public int _003C_003E1__state;2425 public AsyncTaskMethodBuilder<string> _003C_003Et__builder;2627 public IEntity eServer;2829 public CancellationToken ct;3031 private ConfiguredTaskAwaiter<string> _003C_003Eu__1;3233 private void MoveNext()34 {35 //IL_00ab: Unknown result type (might be due to invalid IL or missing references)36 //IL_00b0: Unknown result type (might be due to invalid IL or missing references)37 //IL_00b7: Unknown result type (might be due to invalid IL or missing references)38 //IL_0067: Unknown result type (might be due to invalid IL or missing references)39 //IL_0072: Unknown result type (might be due to invalid IL or missing references)40 //IL_0077: Unknown result type (might be due to invalid IL or missing references)41 //IL_007b: Unknown result type (might be due to invalid IL or missing references)42 //IL_0080: Unknown result type (might be due to invalid IL or missing references)43 //IL_0094: Unknown result type (might be due to invalid IL or missing references)44 //IL_0095: Unknown result type (might be due to invalid IL or missing references)45 int num = _003C_003E1__state;46 string result;47 try48 {49 ConfiguredTaskAwaiter<string> val;50 if (num != 0)51 {52 string[] vColumns = new string[6] { "FQDNExternal", "FQDN", "IPV6", "IPV4", "PhysicalServerName", "Ident_Server" };53 val = _GetFirstValue<string>(eServer, vColumns, string.IsNullOrEmpty, ct).ConfigureAwait(false).GetAwaiter();54 if (!val.IsCompleted)55 {56 num = (_003C_003E1__state = 0);57 _003C_003Eu__1 = val;58 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CGetAddress_003Ed__4>(ref val, ref this);59 return;60 }61 }62 else63 {64 val = _003C_003Eu__1;65 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<string>);66 num = (_003C_003E1__state = -1);67 }68 result = val.GetResult();69 }70 catch (System.Exception exception)71 {72 _003C_003E1__state = -2;73 _003C_003Et__builder.SetException(exception);74 return;75 }76 _003C_003E1__state = -2;77 _003C_003Et__builder.SetResult(result);78 }7980 [DebuggerHidden]81 private void SetStateMachine(IAsyncStateMachine stateMachine)82 {83 _003C_003Et__builder.SetStateMachine(stateMachine);84 }85 }8687 [StructLayout((LayoutKind)3)]88 [CompilerGenerated]89 private struct _003CGetPort_003Ed__6 : IAsyncStateMachine90 {91 public int _003C_003E1__state;9293 public AsyncTaskMethodBuilder<int> _003C_003Et__builder;9495 public IEntity eServer;9697 public CancellationToken ct;9899 public QBMServer _003C_003E4__this;100101 private ConfiguredTaskAwaiter<int> _003C_003Eu__1;102103 private void MoveNext()104 {105 //IL_009b: Unknown result type (might be due to invalid IL or missing references)106 //IL_00a0: Unknown result type (might be due to invalid IL or missing references)107 //IL_00a8: Unknown result type (might be due to invalid IL or missing references)108 //IL_0052: Unknown result type (might be due to invalid IL or missing references)109 //IL_005d: Unknown result type (might be due to invalid IL or missing references)110 //IL_0062: Unknown result type (might be due to invalid IL or missing references)111 //IL_0066: Unknown result type (might be due to invalid IL or missing references)112 //IL_006b: Unknown result type (might be due to invalid IL or missing references)113 //IL_0080: Unknown result type (might be due to invalid IL or missing references)114 //IL_0082: Unknown result type (might be due to invalid IL or missing references)115 int num = _003C_003E1__state;116 QBMServer qBMServer = _003C_003E4__this;117 int result;118 try119 {120 ConfiguredTaskAwaiter<int> val;121 if (num != 0)122 {123 string[] vColumns = new string[2] { "PortNumberExternal", "PortNumber" };124 val = _GetFirstValue<int>(eServer, vColumns, (int v) => v == 0, ct).ConfigureAwait(false).GetAwaiter();125 if (!val.IsCompleted)126 {127 num = (_003C_003E1__state = 0);128 _003C_003Eu__1 = val;129 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<int>, _003CGetPort_003Ed__6>(ref val, ref this);130 return;131 }132 }133 else134 {135 val = _003C_003Eu__1;136 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<int>);137 num = (_003C_003E1__state = -1);138 }139 int num2 = val.GetResult();140 if (num2 == 0)141 {142 string text = qBMServer._GetFromConfig(eServer, "httpport");143 num2 = ((!string.IsNullOrEmpty(text)) ? int.Parse(text) : 1880);144 }145 result = num2;146 }147 catch (System.Exception exception)148 {149 _003C_003E1__state = -2;150 _003C_003Et__builder.SetException(exception);151 return;152 }153 _003C_003E1__state = -2;154 _003C_003Et__builder.SetResult(result);155 }156157 [DebuggerHidden]158 private void SetStateMachine(IAsyncStateMachine stateMachine)159 {160 _003C_003Et__builder.SetStateMachine(stateMachine);161 }162 }163164 [StructLayout((LayoutKind)3)]165 [CompilerGenerated]166 private struct _003CGetServiceUrl_003Ed__3 : IAsyncStateMachine167 {168 public int _003C_003E1__state;169170 public AsyncTaskMethodBuilder<string> _003C_003Et__builder;171172 public QBMServer _003C_003E4__this;173174 public IEntity eServer;175176 public CancellationToken ct;177178 private string _003Cprotocol_003E5__2;179180 private string _003Caddress_003E5__3;181182 private ConfiguredTaskAwaiter<string> _003C_003Eu__1;183184 private ConfiguredTaskAwaiter<int> _003C_003Eu__2;185186 private void MoveNext()187 {188 //IL_007c: Unknown result type (might be due to invalid IL or missing references)189 //IL_0081: Unknown result type (might be due to invalid IL or missing references)190 //IL_0089: Unknown result type (might be due to invalid IL or missing references)191 //IL_00f9: Unknown result type (might be due to invalid IL or missing references)192 //IL_00fe: Unknown result type (might be due to invalid IL or missing references)193 //IL_0106: Unknown result type (might be due to invalid IL or missing references)194 //IL_0177: Unknown result type (might be due to invalid IL or missing references)195 //IL_017c: Unknown result type (might be due to invalid IL or missing references)196 //IL_0184: Unknown result type (might be due to invalid IL or missing references)197 //IL_0033: Unknown result type (might be due to invalid IL or missing references)198 //IL_003e: Unknown result type (might be due to invalid IL or missing references)199 //IL_0043: Unknown result type (might be due to invalid IL or missing references)200 //IL_0047: Unknown result type (might be due to invalid IL or missing references)201 //IL_004c: Unknown result type (might be due to invalid IL or missing references)202 //IL_00b0: Unknown result type (might be due to invalid IL or missing references)203 //IL_00bb: Unknown result type (might be due to invalid IL or missing references)204 //IL_00c0: Unknown result type (might be due to invalid IL or missing references)205 //IL_00c4: Unknown result type (might be due to invalid IL or missing references)206 //IL_00c9: Unknown result type (might be due to invalid IL or missing references)207 //IL_012e: Unknown result type (might be due to invalid IL or missing references)208 //IL_0139: Unknown result type (might be due to invalid IL or missing references)209 //IL_013e: Unknown result type (might be due to invalid IL or missing references)210 //IL_0142: Unknown result type (might be due to invalid IL or missing references)211 //IL_0147: Unknown result type (might be due to invalid IL or missing references)212 //IL_0061: Unknown result type (might be due to invalid IL or missing references)213 //IL_0063: Unknown result type (might be due to invalid IL or missing references)214 //IL_00de: Unknown result type (might be due to invalid IL or missing references)215 //IL_00e0: Unknown result type (might be due to invalid IL or missing references)216 //IL_015c: Unknown result type (might be due to invalid IL or missing references)217 //IL_015e: Unknown result type (might be due to invalid IL or missing references)218 int num = _003C_003E1__state;219 QBMServer qBMServer = _003C_003E4__this;220 string result3;221 try222 {223 ConfiguredTaskAwaiter<string> val2;224 ConfiguredTaskAwaiter<int> val;225 string result;226 switch (num)227 {228 default:229 qBMServer.RemoveData("JobserverConfigurationDocument");230 val2 = qBMServer.GetProtocol(eServer, ct).ConfigureAwait(false).GetAwaiter();231 if (!val2.IsCompleted)232 {233 num = (_003C_003E1__state = 0);234 _003C_003Eu__1 = val2;235 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CGetServiceUrl_003Ed__3>(ref val2, ref this);236 return;237 }238 goto IL_0098;239 case 0:240 val2 = _003C_003Eu__1;241 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<string>);242 num = (_003C_003E1__state = -1);243 goto IL_0098;244 case 1:245 val2 = _003C_003Eu__1;246 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<string>);247 num = (_003C_003E1__state = -1);248 goto IL_0115;249 case 2:250 {251 val = _003C_003Eu__2;252 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<int>);253 num = (_003C_003E1__state = -1);254 break;255 }256 IL_0115:257 result = val2.GetResult();258 _003Caddress_003E5__3 = result;259 val = qBMServer.GetPort(eServer, ct).ConfigureAwait(false).GetAwaiter();260 if (!val.IsCompleted)261 {262 num = (_003C_003E1__state = 2);263 _003C_003Eu__2 = val;264 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<int>, _003CGetServiceUrl_003Ed__3>(ref val, ref this);265 return;266 }267 break;268 IL_0098:269 result = val2.GetResult();270 _003Cprotocol_003E5__2 = result;271 val2 = GetAddress(eServer, ct).ConfigureAwait(false).GetAwaiter();272 if (!val2.IsCompleted)273 {274 num = (_003C_003E1__state = 1);275 _003C_003Eu__1 = val2;276 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<string>, _003CGetServiceUrl_003Ed__3>(ref val2, ref this);277 return;278 }279 goto IL_0115;280 }281 int result2 = val.GetResult();282 result3 = $"{_003Cprotocol_003E5__2}://{_003Caddress_003E5__3}:{result2}/";283 }284 catch (System.Exception exception)285 {286 _003C_003E1__state = -2;287 _003Cprotocol_003E5__2 = null;288 _003Caddress_003E5__3 = null;289 _003C_003Et__builder.SetException(exception);290 return;291 }292 _003C_003E1__state = -2;293 _003Cprotocol_003E5__2 = null;294 _003Caddress_003E5__3 = null;295 _003C_003Et__builder.SetResult(result3);296 }297298 [DebuggerHidden]299 private void SetStateMachine(IAsyncStateMachine stateMachine)300 {301 _003C_003Et__builder.SetStateMachine(stateMachine);302 }303 }304305 [StructLayout((LayoutKind)3)]306 [CompilerGenerated]307 private struct _003CServerHasTagAsync_003Ed__1 : IAsyncStateMachine308 {309 public int _003C_003E1__state;310311 public AsyncTaskMethodBuilder<bool> _003C_003Et__builder;312313 public ISession session;314315 public string uidServer;316317 public string identTag;318319 public CancellationToken ct;320321 private ConfiguredTaskAwaiter<bool> _003C_003Eu__1;322323 private void MoveNext()324 {325 //IL_00b8: Unknown result type (might be due to invalid IL or missing references)326 //IL_00bd: Unknown result type (might be due to invalid IL or missing references)327 //IL_00c5: Unknown result type (might be due to invalid IL or missing references)328 //IL_0072: Unknown result type (might be due to invalid IL or missing references)329 //IL_007d: Unknown result type (might be due to invalid IL or missing references)330 //IL_0082: Unknown result type (might be due to invalid IL or missing references)331 //IL_0086: Unknown result type (might be due to invalid IL or missing references)332 //IL_008b: Unknown result type (might be due to invalid IL or missing references)333 //IL_00a0: Unknown result type (might be due to invalid IL or missing references)334 //IL_00a2: Unknown result type (might be due to invalid IL or missing references)335 int num = _003C_003E1__state;336 bool result;337 try338 {339 ConfiguredTaskAwaiter<bool> val;340 if (num != 0)341 {342 ISqlFormatter sqlFormatter = session.SqlFormatter();343 string whereclause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_QBMServer", uidServer), sqlFormatter.FkComparison("UID_QBMServerTag", "QBMServerTag", sqlFormatter.Comparison("Ident_QBMServerTag", identTag, ValType.String)));344 val = session.Source().ExistsAsync("QBMServerHasServerTag", whereclause, ct).ConfigureAwait(false)345 .GetAwaiter();346 if (!val.IsCompleted)347 {348 num = (_003C_003E1__state = 0);349 _003C_003Eu__1 = val;350 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<bool>, _003CServerHasTagAsync_003Ed__1>(ref val, ref this);351 return;352 }353 }354 else355 {356 val = _003C_003Eu__1;357 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<bool>);358 num = (_003C_003E1__state = -1);359 }360 result = val.GetResult();361 }362 catch (System.Exception exception)363 {364 _003C_003E1__state = -2;365 _003C_003Et__builder.SetException(exception);366 return;367 }368 _003C_003E1__state = -2;369 _003C_003Et__builder.SetResult(result);370 }371372 [DebuggerHidden]373 private void SetStateMachine(IAsyncStateMachine stateMachine)374 {375 _003C_003Et__builder.SetStateMachine(stateMachine);376 }377 }378379 [StructLayout((LayoutKind)3)]380 [CompilerGenerated]381 private struct _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2 : IAsyncStateMachine382 {383 public int _003C_003E1__state;384385 public AsyncTaskMethodBuilder _003C_003Et__builder;386387 public LogicReadWriteParameters parameters;388389 public IEntity e;390391 public CancellationToken ct;392393 private IEntitySource _003Csource_003E5__2;394395 private string _003CuidServer_003E5__3;396397 private ConfiguredTaskAwaiter<IEntityCollection> _003C_003Eu__1;398399 private System.Collections.Generic.IEnumerator<IEntity> _003C_003E7__wrap3;400401 private IEntity _003Cdt_003E5__5;402403 private IEntity _003CnewAssignment_003E5__6;404405 private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__2;406407 private ConfiguredValueTaskAwaiter<ApplyResult> _003C_003Eu__3;408409 private ConfiguredTaskAwaiter _003C_003Eu__4;410411 private void MoveNext()412 {413 //IL_00fc: Unknown result type (might be due to invalid IL or missing references)414 //IL_0101: Unknown result type (might be due to invalid IL or missing references)415 //IL_0109: Unknown result type (might be due to invalid IL or missing references)416 //IL_00b3: Unknown result type (might be due to invalid IL or missing references)417 //IL_00be: Unknown result type (might be due to invalid IL or missing references)418 //IL_00c3: Unknown result type (might be due to invalid IL or missing references)419 //IL_00c7: Unknown result type (might be due to invalid IL or missing references)420 //IL_00cc: Unknown result type (might be due to invalid IL or missing references)421 //IL_00e1: Unknown result type (might be due to invalid IL or missing references)422 //IL_00e3: Unknown result type (might be due to invalid IL or missing references)423 //IL_01b3: Unknown result type (might be due to invalid IL or missing references)424 //IL_01b8: Unknown result type (might be due to invalid IL or missing references)425 //IL_01c0: Unknown result type (might be due to invalid IL or missing references)426 //IL_023f: Unknown result type (might be due to invalid IL or missing references)427 //IL_0244: Unknown result type (might be due to invalid IL or missing references)428 //IL_024c: Unknown result type (might be due to invalid IL or missing references)429 //IL_02cc: Unknown result type (might be due to invalid IL or missing references)430 //IL_02d1: Unknown result type (might be due to invalid IL or missing references)431 //IL_02d9: Unknown result type (might be due to invalid IL or missing references)432 //IL_034b: Unknown result type (might be due to invalid IL or missing references)433 //IL_0350: Unknown result type (might be due to invalid IL or missing references)434 //IL_0358: Unknown result type (might be due to invalid IL or missing references)435 //IL_01f2: Unknown result type (might be due to invalid IL or missing references)436 //IL_0201: Unknown result type (might be due to invalid IL or missing references)437 //IL_0206: Unknown result type (might be due to invalid IL or missing references)438 //IL_020a: Unknown result type (might be due to invalid IL or missing references)439 //IL_020f: Unknown result type (might be due to invalid IL or missing references)440 //IL_027f: Unknown result type (might be due to invalid IL or missing references)441 //IL_028e: Unknown result type (might be due to invalid IL or missing references)442 //IL_0293: Unknown result type (might be due to invalid IL or missing references)443 //IL_0297: Unknown result type (might be due to invalid IL or missing references)444 //IL_029c: Unknown result type (might be due to invalid IL or missing references)445 //IL_0302: Unknown result type (might be due to invalid IL or missing references)446 //IL_030d: Unknown result type (might be due to invalid IL or missing references)447 //IL_0312: Unknown result type (might be due to invalid IL or missing references)448 //IL_0316: Unknown result type (might be due to invalid IL or missing references)449 //IL_031b: Unknown result type (might be due to invalid IL or missing references)450 //IL_0224: Unknown result type (might be due to invalid IL or missing references)451 //IL_0226: Unknown result type (might be due to invalid IL or missing references)452 //IL_02b1: Unknown result type (might be due to invalid IL or missing references)453 //IL_02b3: Unknown result type (might be due to invalid IL or missing references)454 //IL_0330: Unknown result type (might be due to invalid IL or missing references)455 //IL_0332: Unknown result type (might be due to invalid IL or missing references)456 //IL_016a: Unknown result type (might be due to invalid IL or missing references)457 //IL_0175: Unknown result type (might be due to invalid IL or missing references)458 //IL_017a: Unknown result type (might be due to invalid IL or missing references)459 //IL_017e: Unknown result type (might be due to invalid IL or missing references)460 //IL_0183: Unknown result type (might be due to invalid IL or missing references)461 //IL_0198: Unknown result type (might be due to invalid IL or missing references)462 //IL_019a: Unknown result type (might be due to invalid IL or missing references)463 int num = _003C_003E1__state;464 try465 {466 ConfiguredTaskAwaiter<IEntityCollection> val;467 if (num != 0)468 {469 if ((uint)(num - 1) <= 3u)470 {471 goto IL_012f;472 }473 ISqlFormatter formatter = parameters.Session.SqlFormatter();474 _003Csource_003E5__2 = parameters.Session.Source();475 _003CuidServer_003E5__3 = e.GetValue<string>("UID_QBMServer");476 string whereClause = string.Format("UID_QBMDeployTarget in\r\n(\r\n\tselect dht.UID_QBMDeployTarget\r\n\tfrom QBMDeployTargetHasServerTag dht\r\n\tjoin QBMServerHasServerTag sht on dht.UID_QBMServerTag = sht.UID_QBMServerTag\r\n\twhere {0}\r\n\tand not exists(\r\n\t\tselect 1 from QBMServerHasDeployTarget shd\r\n\t\twhere shd.UID_QBMDeployTarget = dht.UID_QBMDeployTarget\r\n\t\tand {1}\r\n\t)\r\n)", (object)formatter.UidComparison("sht.UID_QBMServer", _003CuidServer_003E5__3), (object)formatter.UidComparison("shd.UID_QBMServer", _003CuidServer_003E5__3));477 Query query = Query.From("QBMDeployTarget").Where(whereClause).Select("UID_QBMDeployTarget");478 val = _003Csource_003E5__2.GetCollectionAsync(query, EntityCollectionLoadType.Slim, ct).ConfigureAwait(false).GetAwaiter();479 if (!val.IsCompleted)480 {481 num = (_003C_003E1__state = 0);482 _003C_003Eu__1 = val;483 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntityCollection>, _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref val, ref this);484 return;485 }486 }487 else488 {489 val = _003C_003Eu__1;490 _003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntityCollection>);491 num = (_003C_003E1__state = -1);492 }493 IEntityCollection result = val.GetResult();494 _003C_003E7__wrap3 = ((System.Collections.Generic.IEnumerable<IEntity>)result).GetEnumerator();495 goto IL_012f;496 IL_012f:497 try498 {499 ConfiguredTaskAwaiter<IEntity> val4;500 ConfiguredValueTaskAwaiter<ApplyResult> val3;501 ConfiguredTaskAwaiter val2;502 IEntity result2;503 ConfiguredTaskAwaitable val5;504 switch (num)505 {506 case 1:507 val4 = _003C_003Eu__2;508 _003C_003Eu__2 = default(ConfiguredTaskAwaiter<IEntity>);509 num = (_003C_003E1__state = -1);510 goto IL_01cf;511 case 2:512 val3 = _003C_003Eu__3;513 _003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<ApplyResult>);514 num = (_003C_003E1__state = -1);515 goto IL_025b;516 case 3:517 val3 = _003C_003Eu__3;518 _003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<ApplyResult>);519 num = (_003C_003E1__state = -1);520 goto IL_02e8;521 case 4:522 val2 = _003C_003Eu__4;523 _003C_003Eu__4 = default(ConfiguredTaskAwaiter);524 num = (_003C_003E1__state = -1);525 goto IL_0367;526 default:527 {528 if (((System.Collections.IEnumerator)_003C_003E7__wrap3).MoveNext())529 {530 _003Cdt_003E5__5 = _003C_003E7__wrap3.Current;531 val4 = _003Csource_003E5__2.CreateNewAsync("QBMServerHasDeployTarget", null, ct).ConfigureAwait(false).GetAwaiter();532 if (!val4.IsCompleted)533 {534 num = (_003C_003E1__state = 1);535 _003C_003Eu__2 = val4;536 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref val4, ref this);537 return;538 }539 goto IL_01cf;540 }541 break;542 }543 IL_01cf:544 result2 = val4.GetResult();545 _003CnewAssignment_003E5__6 = result2;546 val3 = _003CnewAssignment_003E5__6.PutValueAsync("UID_QBMServer", _003CuidServer_003E5__3, ct).ConfigureAwait(false).GetAwaiter();547 if (!val3.IsCompleted)548 {549 num = (_003C_003E1__state = 2);550 _003C_003Eu__3 = val3;551 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref val3, ref this);552 return;553 }554 goto IL_025b;555 IL_025b:556 val3.GetResult();557 val3 = _003CnewAssignment_003E5__6.PutValueAsync("UID_QBMDeployTarget", _003Cdt_003E5__5.GetRaw("UID_QBMDeployTarget"), ct).ConfigureAwait(false).GetAwaiter();558 if (!val3.IsCompleted)559 {560 num = (_003C_003E1__state = 3);561 _003C_003Eu__3 = val3;562 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<ApplyResult>, _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref val3, ref this);563 return;564 }565 goto IL_02e8;566 IL_0367:567 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();568 _003CnewAssignment_003E5__6 = null;569 _003Cdt_003E5__5 = null;570 goto default;571 IL_02e8:572 val3.GetResult();573 val5 = parameters.UnitOfWork.PutAsync(_003CnewAssignment_003E5__6, ct).ConfigureAwait(false);574 val2 = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();575 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)576 {577 num = (_003C_003E1__state = 4);578 _003C_003Eu__4 = val2;579 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref val2, ref this);580 return;581 }582 goto IL_0367;583 }584 }585 finally586 {587 if (num < 0 && _003C_003E7__wrap3 != null)588 {589 ((System.IDisposable)_003C_003E7__wrap3).Dispose();590 }591 }592 _003C_003E7__wrap3 = null;593 }594 catch (System.Exception exception)595 {596 _003C_003E1__state = -2;597 _003Csource_003E5__2 = null;598 _003CuidServer_003E5__3 = null;599 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);600 return;601 }602 _003C_003E1__state = -2;603 _003Csource_003E5__2 = null;604 _003CuidServer_003E5__3 = null;605 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();606 }607608 [DebuggerHidden]609 private void SetStateMachine(IAsyncStateMachine stateMachine)610 {611 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);612 }613 }614615 [StructLayout((LayoutKind)3)]616 [CompilerGenerated]617 private struct _003C_GetFirstValue_003Ed__7<T> : IAsyncStateMachine where T : notnull618 {619 public int _003C_003E1__state;620621 public AsyncTaskMethodBuilder<T> _003C_003Et__builder;622623 public string[] vColumns;624625 public IEntity eServer;626627 public CancellationToken ct;628629 public Func<T, bool> fEmpty;630631 private string[] _003C_003E7__wrap1;632633 private int _003C_003E7__wrap2;634635 private ConfiguredValueTaskAwaiter<T> _003C_003Eu__1;636637 private void MoveNext()638 {639 //IL_0092: Unknown result type (might be due to invalid IL or missing references)640 //IL_0097: Unknown result type (might be due to invalid IL or missing references)641 //IL_009f: Unknown result type (might be due to invalid IL or missing references)642 //IL_0045: Unknown result type (might be due to invalid IL or missing references)643 //IL_0054: Unknown result type (might be due to invalid IL or missing references)644 //IL_0059: Unknown result type (might be due to invalid IL or missing references)645 //IL_005d: Unknown result type (might be due to invalid IL or missing references)646 //IL_0062: Unknown result type (might be due to invalid IL or missing references)647 //IL_0077: Unknown result type (might be due to invalid IL or missing references)648 //IL_0079: Unknown result type (might be due to invalid IL or missing references)649 int num = _003C_003E1__state;650 T result2;651 try652 {653 if (num != 0)654 {655 _003C_003E7__wrap1 = vColumns;656 _003C_003E7__wrap2 = 0;657 goto IL_00d6;658 }659 ConfiguredValueTaskAwaiter<T> val = _003C_003Eu__1;660 _003C_003Eu__1 = default(ConfiguredValueTaskAwaiter<T>);661 num = (_003C_003E1__state = -1);662 goto IL_00ae;663 IL_00ae:664 T result = val.GetResult();665 if (fEmpty.Invoke(result))666 {667 _003C_003E7__wrap2++;668 goto IL_00d6;669 }670 result2 = result;671 goto end_IL_0007;672 IL_00d6:673 if (_003C_003E7__wrap2 < _003C_003E7__wrap1.Length)674 {675 string key = _003C_003E7__wrap1[_003C_003E7__wrap2];676 val = eServer.Columns[key].GetValueAsync<T>(ct).ConfigureAwait(false).GetAwaiter();677 if (!val.IsCompleted)678 {679 num = (_003C_003E1__state = 0);680 _003C_003Eu__1 = val;681 _003C_003Et__builder.AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<T>, _003C_GetFirstValue_003Ed__7<T>>(ref val, ref this);682 return;683 }684 goto IL_00ae;685 }686 _003C_003E7__wrap1 = null;687 result2 = default(T);688 end_IL_0007:;689 }690 catch (System.Exception exception)691 {692 _003C_003E1__state = -2;693 _003C_003Et__builder.SetException(exception);694 return;695 }696 _003C_003E1__state = -2;697 _003C_003Et__builder.SetResult(result2);698 }699700 [DebuggerHidden]701 private void SetStateMachine(IAsyncStateMachine stateMachine)702 {703 _003C_003Et__builder.SetStateMachine(stateMachine);704 }705 }706707 public QBMServer()708 {709 MinLen("SRVAccountPWD").From("SRVAccount", "SRVAccountDomain").As<string, string>((Func<string, string, int>)((string accnt, string domain) => (accnt.Length > 0 || domain.Length > 0) ? 1 : 0));710 CanEdit("UID_ClusterServer").From("IsCluster").As<bool>((Func<bool, bool>)((bool isCluser) => isCluser)).ClearValueOnFalse();711 Check("UID_ClusterServer").With("UID_ClusterServer[o]").As<string, string>((Func<string, string, bool>)delegate(string newValue, string oldValue)712 {713 if (!string.IsNullOrEmpty(newValue) && string.Equals(newValue, oldValue))714 {715 throw new ViException(882166, ExceptionRelevance.EndUser);716 }717 return true;718 });719 PreventLoops("UID_ParentQBMServer");720 RegisterFunction("ServerHasTag").As<string, bool>([AsyncStateMachine(typeof(_003C_003Ec._003C_003C_002Dctor_003Eb__0_3_003Ed))] async (ISession s, IEntity e, string identTag, CancellationToken ct) => await ServerHasTagAsync(s, await e.GetValueAsync<string>("UID_QBMServer", ct).ConfigureAwait(false), identTag, ct).ConfigureAwait(false)).Description("Method_QBMServer_ServerHasTag").Behavior(MethodBehavior.ValidForReadOnlyUser);721 RegisterExtendedMethod("AssignDefaultDeployTargets").As<object>((Func<ISession, IEntity, CancellationToken, System.Threading.Tasks.Task<object>>)((ISession s, IEntity e, CancellationToken ct) => NullTask<object>.Instance)).OnSaved(_AssignDefaultDeployTargetsOnSaved);722 RegisterFunction("GetServiceUrl").As<string>(GetServiceUrl).Description("Method_QBMServer_GetServiceUrl").Behavior(MethodBehavior.ValidForReadOnlyUser);723 }724725 [AsyncStateMachine(typeof(_003CServerHasTagAsync_003Ed__1))]726 public static async System.Threading.Tasks.Task<bool> ServerHasTagAsync(ISession session, string uidServer, string identTag, CancellationToken ct = default(CancellationToken))727 {728 //IL_0002: Unknown result type (might be due to invalid IL or missing references)729 //IL_0007: Unknown result type (might be due to invalid IL or missing references)730 //IL_0026: Unknown result type (might be due to invalid IL or missing references)731 //IL_0027: Unknown result type (might be due to invalid IL or missing references)732 ISqlFormatter sqlFormatter = session.SqlFormatter();733 string whereclause = sqlFormatter.AndRelation(sqlFormatter.UidComparison("UID_QBMServer", uidServer), sqlFormatter.FkComparison("UID_QBMServerTag", "QBMServerTag", sqlFormatter.Comparison("Ident_QBMServerTag", identTag, ValType.String)));734 return await session.Source().ExistsAsync("QBMServerHasServerTag", whereclause, ct).ConfigureAwait(false);735 }736737 [AsyncStateMachine(typeof(_003C_AssignDefaultDeployTargetsOnSaved_003Ed__2))]738 private System.Threading.Tasks.Task _AssignDefaultDeployTargetsOnSaved(IEntity e, LogicReadWriteParameters parameters, object _, CancellationToken ct)739 {740 //IL_0002: Unknown result type (might be due to invalid IL or missing references)741 //IL_0007: Unknown result type (might be due to invalid IL or missing references)742 //IL_001e: Unknown result type (might be due to invalid IL or missing references)743 //IL_0020: Unknown result type (might be due to invalid IL or missing references)744 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__2 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__ = default(_003C_AssignDefaultDeployTargetsOnSaved_003Ed__2);745 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();746 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__.e = e;747 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__.parameters = parameters;748 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__.ct = ct;749 _003C_AssignDefaultDeployTargetsOnSaved_003Ed__._003C_003E1__state = -1;750 ((AsyncTaskMethodBuilder)(ref _003C_AssignDefaultDeployTargetsOnSaved_003Ed__._003C_003Et__builder)).Start<_003C_AssignDefaultDeployTargetsOnSaved_003Ed__2>(ref _003C_AssignDefaultDeployTargetsOnSaved_003Ed__);751 return ((AsyncTaskMethodBuilder)(ref _003C_AssignDefaultDeployTargetsOnSaved_003Ed__._003C_003Et__builder)).Task;752 }753754 [AsyncStateMachine(typeof(_003CGetServiceUrl_003Ed__3))]755 private async System.Threading.Tasks.Task<string> GetServiceUrl(ISession session, IEntity eServer, CancellationToken ct)756 {757 //IL_0002: Unknown result type (might be due to invalid IL or missing references)758 //IL_0007: Unknown result type (might be due to invalid IL or missing references)759 //IL_001e: Unknown result type (might be due to invalid IL or missing references)760 //IL_001f: Unknown result type (might be due to invalid IL or missing references)761 RemoveData("JobserverConfigurationDocument");762 string protocol = await GetProtocol(eServer, ct).ConfigureAwait(false);763 string address = await GetAddress(eServer, ct).ConfigureAwait(false);764 int num = await GetPort(eServer, ct).ConfigureAwait(false);765 return $"{protocol}://{address}:{num}/";766 }767768 [AsyncStateMachine(typeof(_003CGetAddress_003Ed__4))]769 private static async System.Threading.Tasks.Task<string> GetAddress(IEntity eServer, CancellationToken ct)770 {771 //IL_0002: Unknown result type (might be due to invalid IL or missing references)772 //IL_0007: Unknown result type (might be due to invalid IL or missing references)773 //IL_0016: Unknown result type (might be due to invalid IL or missing references)774 //IL_0017: Unknown result type (might be due to invalid IL or missing references)775 string[] vColumns = new string[6] { "FQDNExternal", "FQDN", "IPV6", "IPV4", "PhysicalServerName", "Ident_Server" };776 return await _GetFirstValue<string>(eServer, vColumns, string.IsNullOrEmpty, ct).ConfigureAwait(false);777 }778779 private System.Threading.Tasks.Task<string> GetProtocol(IEntity eServer, CancellationToken ct)780 {781 return System.Threading.Tasks.Task.FromResult<string>(DbVal.ConvertTo<bool>(_GetFromConfig(eServer, "usessl")) ? "https" : "http");782 }783784 [AsyncStateMachine(typeof(_003CGetPort_003Ed__6))]785 private async System.Threading.Tasks.Task<int> GetPort(IEntity eServer, CancellationToken ct)786 {787 //IL_0002: Unknown result type (might be due to invalid IL or missing references)788 //IL_0007: Unknown result type (might be due to invalid IL or missing references)789 //IL_001e: Unknown result type (might be due to invalid IL or missing references)790 //IL_001f: Unknown result type (might be due to invalid IL or missing references)791 string[] vColumns = new string[2] { "PortNumberExternal", "PortNumber" };792 int num = await _GetFirstValue<int>(eServer, vColumns, (int v) => v == 0, ct).ConfigureAwait(false);793 if (num == 0)794 {795 string text = _GetFromConfig(eServer, "httpport");796 num = ((!string.IsNullOrEmpty(text)) ? int.Parse(text) : 1880);797 }798 return num;799 }800801 [AsyncStateMachine(typeof(_003C_GetFirstValue_003Ed__7<>))]802 private static async System.Threading.Tasks.Task<T> _GetFirstValue<T>(IEntity eServer, string[] vColumns, Func<T, bool> fEmpty, CancellationToken ct)803 {804 //IL_0002: Unknown result type (might be due to invalid IL or missing references)805 //IL_0007: Unknown result type (might be due to invalid IL or missing references)806 //IL_0026: Unknown result type (might be due to invalid IL or missing references)807 //IL_0027: Unknown result type (might be due to invalid IL or missing references)808 foreach (string key in vColumns)809 {810 T val = await eServer.Columns[key].GetValueAsync<T>(ct).ConfigureAwait(false);811 if (!fEmpty.Invoke(val))812 {813 return val;814 }815 }816 return default(T);817 }818819 private string? _GetFromConfig(IEntity eServer, string propName)820 {821 //IL_0030: Unknown result type (might be due to invalid IL or missing references)822 if (eServer == null)823 {824 return null;825 }826 if (!TryGetData("JobserverConfigurationDocument", out XDocument data))827 {828 string value = eServer.GetValue<string>("JobserverConfiguration");829 data = (XDocument)((!string.IsNullOrWhiteSpace(value)) ? ((object)XDocument.Parse(value)) : ((object)new XDocument()));830 SetData("JobserverConfigurationDocument", data);831 }832 XElement obj = Extensions.XPathSelectElement((XNode)(object)data, "//configuration/category[@name='serviceconfiguration']/value[@name='" + propName + "']");833 if (obj == null)834 {835 return null;836 }837 return obj.Value;838 }839}840