Back to OIM Explorer

Common.Customizer/VI.Common.Customizer/QBMServer.cs

Decompiler Source FileCommon.Customizer.QBMServerDecompiled Source

3 extracted method/event/call references in QBMServer.

Source: F:\Claude\.tmp\oim-decompiled-full\0045_One_Identity_Manager_Common.Customizer.dll\VI.Common.Customizer\QBMServer.cs

Source size: 36.610 characters

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

QBMServer

OIM key/entity markers

UID_QBMServer UID_QBMServerTag UID_QBMDeployTarget UID_ClusterServer UID_ParentQBMServer

API/entity calls

ExistsAsync GetValue GetValueAsync SqlFormatter Source From

Registrations / handlers

None extracted.

Complete Source

C#840 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 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