public async Task GivenIUseTheOperationsControlClientToSetTheStatusOfTheOperationWithIdCalledToRunningAndThePercentageCompleteTo(string operationIdName, int?percentComplete) { Guid id = this.ScenarioContext.Get <Guid>(operationIdName); IServiceProvider serviceProvider = ContainerBindings.GetServiceProvider(this.FeatureContext); IMarainOperationsControl client = serviceProvider.GetRequiredService <IMarainOperationsControl>(); var transientTenantManager = TransientTenantManager.GetInstance(this.FeatureContext); await Exceptions.ExecuteAndStoreExceptionAsync( this.ScenarioContext, async() => { ProblemDetails?result = await client.SetOperationRunningAsync( transientTenantManager.PrimaryTransientClient.Id, id, percentComplete).ConfigureAwait(false); this.ScenarioContext.Set(result); }).ConfigureAwait(false); }
/// <summary> /// Set an operation into the "Running" state /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='tenantId'> /// Id of the Tenant. /// </param> /// <param name='operationId'> /// Id of the Operation. /// </param> /// <param name='percentComplete'> /// Optional percentage completeness of the Operation. /// </param> /// <param name='contentId'> /// Optional Content Id of Localized Content status message. /// </param> /// <param name='expireAfter'> /// Optional number of seconds for which to retain data about this operation /// after its last state change /// </param> /// <param name='body'> /// </param> public static ProblemDetails SetOperationRunning(this IMarainOperationsControl operations, string tenantId, System.Guid operationId, int?percentComplete = default(int?), string contentId = default(string), long?expireAfter = default(long?), string body = default(string)) { return(operations.SetOperationRunningAsync(tenantId, operationId, percentComplete, contentId, expireAfter, body).GetAwaiter().GetResult()); }