Back to OIM Explorer

ATT.CompositionApi.Server.PlugIn/ATT.CompositionApi.Attestation/ClaimDeviceOwnershipApi.cs

Decompiler Source FileATT.CompositionApi.Server.PlugIn.ClaimDeviceOwnershipApiDecompiled Source

1 extracted method/event/call references in ClaimDeviceOwnershipApi.

Source: F:\Claude\.tmp\oim-decompiled-full\0029_One_Identity_Manager_ATT.CompositionApi.Server.PlugIn.dll\ATT.CompositionApi.Attestation\ClaimDeviceOwnershipApi.cs

Source size: 25.679 characters

Interpretation

  • Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.

Relations

  • CallFunctionAsync: CreateAttestation at line 350

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 writes entity values references DB/Dialog objects

Summary: classes ClaimDeviceOwnershipApi; methods MoveNext, SetStateMachine, Build, CreateAsync; references AttestationPolicy, DialogColumn, DialogParameter, DialogParameterSet, Hardware, Person; markers reads entity values, writes entity values, references DB/Dialog objects

Classes

ClaimDeviceOwnershipApi

OIM key/entity markers

UID_Person UID_DialogColumnQuery UID_DialogParameterSet UID_PROPOSED_OWNER ObjectKeyUsedBy UID_PersonOwner

API/entity calls

PutValue GetValue Source BeginTransactionAsync CommitTransactionAsync StartUnitOfWork MetaData RollbackTransactionAsync SqlFormatter User

Registrations / handlers

None extracted.

Complete Source

C#514 lines
1using System;2using System.Diagnostics;3using System.Runtime.CompilerServices;4using System.Runtime.ExceptionServices;5using System.Runtime.InteropServices;6using System.Threading;7using System.Threading.Tasks;8using QBM.CompositionApi.Crud;9using QBM.CompositionApi.Definition;10using QBM.CompositionApi.Handling;11using QER.CompositionApi.Portal;12using VI.DB;13using VI.DB.Entities;14using VI.DB.MetaData;15using VI.DB.Sync;1617namespace ATT.CompositionApi.Attestation;1819public class ClaimDeviceOwnershipApi : IApiProviderFor<PortalApiProject>, IApiProvider20{21	[StructLayout((LayoutKind)3)]22	[CompilerGenerated]23	private struct _003CCreateAsync_003Ed__1 : IAsyncStateMachine24	{25		public int _003C_003E1__state;2627		public AsyncTaskMethodBuilder _003C_003Et__builder;2829		public ISession session;3031		public string uidAttestationPolicy;3233		public CancellationToken ct;3435		public string objectKey;3637		public string uidPerson;3839		private IEntity _003Cap_003E5__2;4041		private ConfiguredTaskAwaiter<IEntity> _003C_003Eu__1;4243		private object _003C_003E7__wrap2;4445		private int _003C_003E7__wrap3;4647		private DbObjectKey _003CcaseKey_003E5__5;4849		private IEntity _003Cdps_003E5__6;5051		private IEntity _003Cdp_003E5__7;5253		private ConfiguredTaskAwaiter _003C_003Eu__2;5455		private ConfiguredValueTaskAwaiter<object> _003C_003Eu__3;5657		private ConfiguredTaskAwaiter<IMetaTable> _003C_003Eu__4;5859		private IUnitOfWork _003Cu_003E5__8;6061		private void MoveNext()62		{63			//IL_0097: Unknown result type (might be due to invalid IL or missing references)64			//IL_009c: Unknown result type (might be due to invalid IL or missing references)65			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)66			//IL_0752: Unknown result type (might be due to invalid IL or missing references)67			//IL_0757: Unknown result type (might be due to invalid IL or missing references)68			//IL_075f: Unknown result type (might be due to invalid IL or missing references)69			//IL_0051: Unknown result type (might be due to invalid IL or missing references)70			//IL_005c: Unknown result type (might be due to invalid IL or missing references)71			//IL_0061: Unknown result type (might be due to invalid IL or missing references)72			//IL_0064: Unknown result type (might be due to invalid IL or missing references)73			//IL_0069: Unknown result type (might be due to invalid IL or missing references)74			//IL_070b: Unknown result type (might be due to invalid IL or missing references)75			//IL_0716: Unknown result type (might be due to invalid IL or missing references)76			//IL_071b: Unknown result type (might be due to invalid IL or missing references)77			//IL_071f: Unknown result type (might be due to invalid IL or missing references)78			//IL_0724: Unknown result type (might be due to invalid IL or missing references)79			//IL_007d: Unknown result type (might be due to invalid IL or missing references)80			//IL_007e: Unknown result type (might be due to invalid IL or missing references)81			//IL_073a: Unknown result type (might be due to invalid IL or missing references)82			//IL_073c: Unknown result type (might be due to invalid IL or missing references)83			//IL_0145: Unknown result type (might be due to invalid IL or missing references)84			//IL_014a: Unknown result type (might be due to invalid IL or missing references)85			//IL_0152: Unknown result type (might be due to invalid IL or missing references)86			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)87			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)88			//IL_01d4: Unknown result type (might be due to invalid IL or missing references)89			//IL_025b: Unknown result type (might be due to invalid IL or missing references)90			//IL_0260: Unknown result type (might be due to invalid IL or missing references)91			//IL_0267: Unknown result type (might be due to invalid IL or missing references)92			//IL_0317: Unknown result type (might be due to invalid IL or missing references)93			//IL_031c: Unknown result type (might be due to invalid IL or missing references)94			//IL_0323: Unknown result type (might be due to invalid IL or missing references)95			//IL_0404: Unknown result type (might be due to invalid IL or missing references)96			//IL_0409: Unknown result type (might be due to invalid IL or missing references)97			//IL_0411: Unknown result type (might be due to invalid IL or missing references)98			//IL_06a8: Unknown result type (might be due to invalid IL or missing references)99			//IL_06ad: Unknown result type (might be due to invalid IL or missing references)100			//IL_06b5: Unknown result type (might be due to invalid IL or missing references)101			//IL_00fc: Unknown result type (might be due to invalid IL or missing references)102			//IL_0107: Unknown result type (might be due to invalid IL or missing references)103			//IL_010c: Unknown result type (might be due to invalid IL or missing references)104			//IL_0110: Unknown result type (might be due to invalid IL or missing references)105			//IL_0115: Unknown result type (might be due to invalid IL or missing references)106			//IL_017a: Unknown result type (might be due to invalid IL or missing references)107			//IL_0189: Unknown result type (might be due to invalid IL or missing references)108			//IL_018e: Unknown result type (might be due to invalid IL or missing references)109			//IL_0192: Unknown result type (might be due to invalid IL or missing references)110			//IL_0197: Unknown result type (might be due to invalid IL or missing references)111			//IL_0215: Unknown result type (might be due to invalid IL or missing references)112			//IL_0220: Unknown result type (might be due to invalid IL or missing references)113			//IL_0225: Unknown result type (might be due to invalid IL or missing references)114			//IL_0228: Unknown result type (might be due to invalid IL or missing references)115			//IL_022d: Unknown result type (might be due to invalid IL or missing references)116			//IL_02d1: Unknown result type (might be due to invalid IL or missing references)117			//IL_02dc: Unknown result type (might be due to invalid IL or missing references)118			//IL_02e1: Unknown result type (might be due to invalid IL or missing references)119			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)120			//IL_02e9: Unknown result type (might be due to invalid IL or missing references)121			//IL_03bb: Unknown result type (might be due to invalid IL or missing references)122			//IL_03c6: Unknown result type (might be due to invalid IL or missing references)123			//IL_03cb: Unknown result type (might be due to invalid IL or missing references)124			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)125			//IL_03d4: Unknown result type (might be due to invalid IL or missing references)126			//IL_012a: Unknown result type (might be due to invalid IL or missing references)127			//IL_012c: Unknown result type (might be due to invalid IL or missing references)128			//IL_01ac: Unknown result type (might be due to invalid IL or missing references)129			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)130			//IL_0241: Unknown result type (might be due to invalid IL or missing references)131			//IL_0242: Unknown result type (might be due to invalid IL or missing references)132			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)133			//IL_02fe: Unknown result type (might be due to invalid IL or missing references)134			//IL_03e9: Unknown result type (might be due to invalid IL or missing references)135			//IL_03eb: Unknown result type (might be due to invalid IL or missing references)136			//IL_0527: Unknown result type (might be due to invalid IL or missing references)137			//IL_052c: Unknown result type (might be due to invalid IL or missing references)138			//IL_0534: Unknown result type (might be due to invalid IL or missing references)139			//IL_05a0: Unknown result type (might be due to invalid IL or missing references)140			//IL_05a5: Unknown result type (might be due to invalid IL or missing references)141			//IL_05ad: Unknown result type (might be due to invalid IL or missing references)142			//IL_0613: Unknown result type (might be due to invalid IL or missing references)143			//IL_0618: Unknown result type (might be due to invalid IL or missing references)144			//IL_0620: Unknown result type (might be due to invalid IL or missing references)145			//IL_04de: Unknown result type (might be due to invalid IL or missing references)146			//IL_04e9: Unknown result type (might be due to invalid IL or missing references)147			//IL_04ee: Unknown result type (might be due to invalid IL or missing references)148			//IL_04f2: Unknown result type (might be due to invalid IL or missing references)149			//IL_04f7: Unknown result type (might be due to invalid IL or missing references)150			//IL_0557: Unknown result type (might be due to invalid IL or missing references)151			//IL_0562: Unknown result type (might be due to invalid IL or missing references)152			//IL_0567: Unknown result type (might be due to invalid IL or missing references)153			//IL_056b: Unknown result type (might be due to invalid IL or missing references)154			//IL_0570: Unknown result type (might be due to invalid IL or missing references)155			//IL_05ca: Unknown result type (might be due to invalid IL or missing references)156			//IL_05d5: Unknown result type (might be due to invalid IL or missing references)157			//IL_05da: Unknown result type (might be due to invalid IL or missing references)158			//IL_05de: Unknown result type (might be due to invalid IL or missing references)159			//IL_05e3: Unknown result type (might be due to invalid IL or missing references)160			//IL_050c: Unknown result type (might be due to invalid IL or missing references)161			//IL_050e: Unknown result type (might be due to invalid IL or missing references)162			//IL_0585: Unknown result type (might be due to invalid IL or missing references)163			//IL_0587: Unknown result type (might be due to invalid IL or missing references)164			//IL_05f8: Unknown result type (might be due to invalid IL or missing references)165			//IL_05fa: Unknown result type (might be due to invalid IL or missing references)166			//IL_065e: Unknown result type (might be due to invalid IL or missing references)167			//IL_0669: Unknown result type (might be due to invalid IL or missing references)168			//IL_066e: Unknown result type (might be due to invalid IL or missing references)169			//IL_0672: Unknown result type (might be due to invalid IL or missing references)170			//IL_0677: Unknown result type (might be due to invalid IL or missing references)171			//IL_068d: Unknown result type (might be due to invalid IL or missing references)172			//IL_068f: Unknown result type (might be due to invalid IL or missing references)173			int num = _003C_003E1__state;174			try175			{176				ConfiguredTaskAwaiter val;177				ConfiguredTaskAwaiter<IEntity> val2;178				IEntity result;179				switch (num)180				{181				default:182					val2 = session.Source().GetAsync("AttestationPolicy", uidAttestationPolicy, EntityLoadType.Interactive, ct).ConfigureAwait(false)183						.GetAwaiter();184					if (!val2.IsCompleted)185					{186						num = (_003C_003E1__state = 0);187						_003C_003Eu__1 = val2;188						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003CCreateAsync_003Ed__1>(ref val2, ref this);189						return;190					}191					goto IL_00b2;192				case 0:193					val2 = _003C_003Eu__1;194					_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);195					num = (_003C_003E1__state = -1);196					goto IL_00b2;197				case 1:198				case 2:199				case 3:200				case 4:201				case 5:202				case 6:203				case 7:204				case 8:205				case 9:206				{207					ConfiguredTaskAwaitable val5;208					try209					{210						ConfiguredValueTaskAwaiter<object> val4;211						ConfiguredTaskAwaiter<IMetaTable> val3;212						string uid;213						object result2;214						switch (num)215						{216						default:217							val5 = session.BeginTransactionAsync(ct).ConfigureAwait(false);218							val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();219							if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)220							{221								num = (_003C_003E1__state = 1);222								_003C_003Eu__2 = val;223								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);224								return;225							}226							goto IL_0161;227						case 1:228							val = _003C_003Eu__2;229							_003C_003Eu__2 = default(ConfiguredTaskAwaiter);230							num = (_003C_003E1__state = -1);231							goto IL_0161;232						case 2:233							val4 = _003C_003Eu__3;234							_003C_003Eu__3 = default(ConfiguredValueTaskAwaiter<object>);235							num = (_003C_003E1__state = -1);236							goto IL_01e3;237						case 3:238							val2 = _003C_003Eu__1;239							_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);240							num = (_003C_003E1__state = -1);241							goto IL_0276;242						case 4:243							val2 = _003C_003Eu__1;244							_003C_003Eu__1 = default(ConfiguredTaskAwaiter<IEntity>);245							num = (_003C_003E1__state = -1);246							goto IL_0332;247						case 5:248							val3 = _003C_003Eu__4;249							_003C_003Eu__4 = default(ConfiguredTaskAwaiter<IMetaTable>);250							num = (_003C_003E1__state = -1);251							goto IL_0420;252						case 6:253						case 7:254						case 8:255							try256							{257								switch (num)258								{259								default:260									val5 = _003Cu_003E5__8.PutAsync(_003Cdps_003E5__6, ct).ConfigureAwait(false);261									val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();262									if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)263									{264										num = (_003C_003E1__state = 6);265										_003C_003Eu__2 = val;266										((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);267										return;268									}269									goto IL_0543;270								case 6:271									val = _003C_003Eu__2;272									_003C_003Eu__2 = default(ConfiguredTaskAwaiter);273									num = (_003C_003E1__state = -1);274									goto IL_0543;275								case 7:276									val = _003C_003Eu__2;277									_003C_003Eu__2 = default(ConfiguredTaskAwaiter);278									num = (_003C_003E1__state = -1);279									goto IL_05bc;280								case 8:281									{282										val = _003C_003Eu__2;283										_003C_003Eu__2 = default(ConfiguredTaskAwaiter);284										num = (_003C_003E1__state = -1);285										break;286									}287									IL_05bc:288									((ConfiguredTaskAwaiter)(ref val)).GetResult();289									val5 = _003Cu_003E5__8.CommitAsync(ct).ConfigureAwait(false);290									val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();291									if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)292									{293										num = (_003C_003E1__state = 8);294										_003C_003Eu__2 = val;295										((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);296										return;297									}298									break;299									IL_0543:300									((ConfiguredTaskAwaiter)(ref val)).GetResult();301									val5 = _003Cu_003E5__8.PutAsync(_003Cdp_003E5__7, ct).ConfigureAwait(false);302									val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();303									if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)304									{305										num = (_003C_003E1__state = 7);306										_003C_003Eu__2 = val;307										((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);308										return;309									}310									goto IL_05bc;311								}312								((ConfiguredTaskAwaiter)(ref val)).GetResult();313							}314							finally315							{316								if (num < 0 && _003Cu_003E5__8 != null)317								{318									((System.IDisposable)_003Cu_003E5__8).Dispose();319								}320							}321							_003Cu_003E5__8 = null;322							val5 = session.CommitTransactionAsync(ct).ConfigureAwait(false);323							val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();324							if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)325							{326								num = (_003C_003E1__state = 9);327								_003C_003Eu__2 = val;328								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);329								return;330							}331							break;332						case 9:333							{334								val = _003C_003Eu__2;335								_003C_003Eu__2 = default(ConfiguredTaskAwaiter);336								num = (_003C_003E1__state = -1);337								break;338							}339							IL_0420:340							uid = val3.GetResult().Columns["UID_Person"].Uid;341							_003Cdp_003E5__7.PutValue("UID_DialogColumnQuery", uid);342							_003Cdp_003E5__7.PutValue("ParameterType", "Query");343							_003Cdp_003E5__7.PutValue("DataSourceType", "Table");344							_003Cdp_003E5__7.PutValue("DataType", 6);345							_003Cdp_003E5__7.PutValue("ParameterValue", uidPerson);346							_003Cu_003E5__8 = session.StartUnitOfWork();347							goto case 6;348							IL_0161:349							((ConfiguredTaskAwaiter)(ref val)).GetResult();350							val4 = _003Cap_003E5__2.CallFunctionAsync("CreateAttestation", objectKey, ct).ConfigureAwait(false).GetAwaiter();351							if (!val4.IsCompleted)352							{353								num = (_003C_003E1__state = 2);354								_003C_003Eu__3 = val4;355								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredValueTaskAwaiter<object>, _003CCreateAsync_003Ed__1>(ref val4, ref this);356								return;357							}358							goto IL_01e3;359							IL_0332:360							result = val2.GetResult();361							_003Cdp_003E5__7 = result;362							_003Cdp_003E5__7.PutValue("UID_DialogParameterSet", _003Cdps_003E5__6.GetValue("UID_DialogParameterSet").String);363							_003Cdp_003E5__7.PutValue("ParameterName", "UID_PROPOSED_OWNER");364							_003Cdp_003E5__7.PutValue("DisplayName", "Suggested owner");365							_003Cdp_003E5__7.PutValue("IsMandatory", true);366							val3 = session.MetaData().GetTableAsync("Person", ct).ConfigureAwait(false)367								.GetAwaiter();368							if (!val3.IsCompleted)369							{370								num = (_003C_003E1__state = 5);371								_003C_003Eu__4 = val3;372								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IMetaTable>, _003CCreateAsync_003Ed__1>(ref val3, ref this);373								return;374							}375							goto IL_0420;376							IL_01e3:377							result2 = val4.GetResult();378							_003CcaseKey_003E5__5 = new DbObjectKey(((IDbObjectKey)result2).ToXmlString());379							val2 = session.Source().CreateNewAsync("DialogParameterSet", EntityCreationType.Interactive, ct).ConfigureAwait(false)380								.GetAwaiter();381							if (!val2.IsCompleted)382							{383								num = (_003C_003E1__state = 3);384								_003C_003Eu__1 = val2;385								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003CCreateAsync_003Ed__1>(ref val2, ref this);386								return;387							}388							goto IL_0276;389							IL_0276:390							result = val2.GetResult();391							_003Cdps_003E5__6 = result;392							_003Cdps_003E5__6.PutValue("DisplayName", _003CcaseKey_003E5__5.Keys[0]);393							_003Cdps_003E5__6.PutValue("ObjectKeyUsedBy", _003CcaseKey_003E5__5.ToXmlString());394							val2 = session.Source().CreateNewAsync("DialogParameter", EntityCreationType.DelayedLogic, ct).ConfigureAwait(false)395								.GetAwaiter();396							if (!val2.IsCompleted)397							{398								num = (_003C_003E1__state = 4);399								_003C_003Eu__1 = val2;400								((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter<IEntity>, _003CCreateAsync_003Ed__1>(ref val2, ref this);401								return;402							}403							goto IL_0332;404						}405						((ConfiguredTaskAwaiter)(ref val)).GetResult();406						_003CcaseKey_003E5__5 = null;407						_003Cdps_003E5__6 = null;408						_003Cdp_003E5__7 = null;409					}410					catch (object obj)411					{412						_003C_003E7__wrap2 = obj;413						_003C_003E7__wrap3 = 1;414					}415					int num2 = _003C_003E7__wrap3;416					if (num2 != 1)417					{418						break;419					}420					val5 = session.RollbackTransactionAsync(CancellationToken.None).ConfigureAwait(false);421					val = ((ConfiguredTaskAwaitable)(ref val5)).GetAwaiter();422					if (!((ConfiguredTaskAwaiter)(ref val)).IsCompleted)423					{424						num = (_003C_003E1__state = 10);425						_003C_003Eu__2 = val;426						((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003CCreateAsync_003Ed__1>(ref val, ref this);427						return;428					}429					goto IL_076e;430				}431				case 10:432					{433						val = _003C_003Eu__2;434						_003C_003Eu__2 = default(ConfiguredTaskAwaiter);435						num = (_003C_003E1__state = -1);436						goto IL_076e;437					}438					IL_076e:439					((ConfiguredTaskAwaiter)(ref val)).GetResult();440					ExceptionDispatchInfo.Capture((_003C_003E7__wrap2 as System.Exception) ?? throw _003C_003E7__wrap2).Throw();441					break;442					IL_00b2:443					result = val2.GetResult();444					_003Cap_003E5__2 = result;445					_003C_003E7__wrap3 = 0;446					goto case 1;447				}448				_003C_003E7__wrap2 = null;449			}450			catch (System.Exception exception)451			{452				_003C_003E1__state = -2;453				((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);454				return;455			}456			_003C_003E1__state = -2;457			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();458		}459460		[DebuggerHidden]461		private void SetStateMachine(IAsyncStateMachine stateMachine)462		{463			((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);464		}465	}466467	public void Build(IApiBuilder builder)468	{469		ICandidateConfigService candidateConfigService = builder.Resolver.Resolve<ICandidateConfigService>();470		builder.AddMethod(Method.Define("claimdevice/devices").WithDescription("Returns the list of devices for which the user can trigger an ownership attestation.").FromTable("Hardware")471			.EnableRead()472			.WithWhereClause((Func<IRequest, string>)((IRequest request) => string.Format("UID_PersonOwner is null or {0} or UID_PersonOwner in (select UID_Person from person where isinactive=1)", (object)request.Session.SqlFormatter().UidComparison("UID_PersonOwner", request.Session.User().Uid)))));473		builder.AddMethod(QBM.CompositionApi.Definition.ExtensionMethods.With(Method.Define("claimdevice/{uidperson}/{uiddevice}").WithDescription("Triggers an ownership attestation for the specified device.").WithParameter("uidperson", typeof(string), "Identity claiming the ownership", null, null, isInQuery: false)474			.WithParameter("uiddevice", typeof(string), "Identifier of the device", null, null, isInQuery: false)475			.Handle("POST", (Func<IRequest, CancellationToken, System.Threading.Tasks.Task>)([AsyncStateMachine(typeof(_003C_003Ec._003C_003CBuild_003Eb__0_1_003Ed))] (IRequest request, CancellationToken ct) =>476			{477				//IL_0002: Unknown result type (might be due to invalid IL or missing references)478				//IL_0007: Unknown result type (might be due to invalid IL or missing references)479				//IL_0016: Unknown result type (might be due to invalid IL or missing references)480				//IL_0017: Unknown result type (might be due to invalid IL or missing references)481				_003C_003Ec._003C_003CBuild_003Eb__0_1_003Ed _003C_003CBuild_003Eb__0_1_003Ed = default(_003C_003Ec._003C_003CBuild_003Eb__0_1_003Ed);482				_003C_003CBuild_003Eb__0_1_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();483				_003C_003CBuild_003Eb__0_1_003Ed.request = request;484				_003C_003CBuild_003Eb__0_1_003Ed.ct = ct;485				_003C_003CBuild_003Eb__0_1_003Ed._003C_003E1__state = -1;486				((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_1_003Ed._003C_003Et__builder)).Start<_003C_003Ec._003C_003CBuild_003Eb__0_1_003Ed>(ref _003C_003CBuild_003Eb__0_1_003Ed);487				return ((AsyncTaskMethodBuilder)(ref _003C_003CBuild_003Eb__0_1_003Ed._003C_003Et__builder)).Task;488			})), delegate(IMethodVerb m)489		{490			candidateConfigService.AddDataSourceUrl(m, "uiddevice", "claimdevice/devices");491			candidateConfigService.AddDataSourceUrl(m, "uidperson", "person/active");492		}));493	}494495	[AsyncStateMachine(typeof(_003CCreateAsync_003Ed__1))]496	private static System.Threading.Tasks.Task CreateAsync(ISession session, string uidAttestationPolicy, string uidPerson, string objectKey, CancellationToken ct)497	{498		//IL_0002: Unknown result type (might be due to invalid IL or missing references)499		//IL_0007: Unknown result type (might be due to invalid IL or missing references)500		//IL_002e: Unknown result type (might be due to invalid IL or missing references)501		//IL_0030: Unknown result type (might be due to invalid IL or missing references)502		_003CCreateAsync_003Ed__1 _003CCreateAsync_003Ed__ = default(_003CCreateAsync_003Ed__1);503		_003CCreateAsync_003Ed__._003C_003Et__builder = AsyncTaskMethodBuilder.Create();504		_003CCreateAsync_003Ed__.session = session;505		_003CCreateAsync_003Ed__.uidAttestationPolicy = uidAttestationPolicy;506		_003CCreateAsync_003Ed__.uidPerson = uidPerson;507		_003CCreateAsync_003Ed__.objectKey = objectKey;508		_003CCreateAsync_003Ed__.ct = ct;509		_003CCreateAsync_003Ed__._003C_003E1__state = -1;510		((AsyncTaskMethodBuilder)(ref _003CCreateAsync_003Ed__._003C_003Et__builder)).Start<_003CCreateAsync_003Ed__1>(ref _003CCreateAsync_003Ed__);511		return ((AsyncTaskMethodBuilder)(ref _003CCreateAsync_003Ed__._003C_003Et__builder)).Task;512	}513}514