public async Task ReceiveResultAsync(QueryProcessResult <IEntityValue> result) { Requires.NotNull(result, nameof(result)); result.Request.QueryExecutionContext.CancellationToken.ThrowIfCancellationRequested(); if (((IEntityValueFromProvider)result.Result).ProviderState is UnconfiguredProject project) { await _coreExecutor.ExecuteAsync(project); } await ResultReceiver.ReceiveResultAsync(result); }
public async Task ReceiveResultAsync(QueryProcessResult <IEntityValue> result) { result.Request.QueryExecutionContext.CancellationToken.ThrowIfCancellationRequested(); if (((IEntityValueFromProvider)result.Result).ProviderState is UnconfiguredProject project && project.Services.ExportProvider.GetExportedValueOrDefault <ILaunchSettingsProvider>() is ILaunchSettingsProvider launchSettingsProvider) { await ExecuteAsync(launchSettingsProvider, result.Request.QueryExecutionContext.CancellationToken); } await ResultReceiver.ReceiveResultAsync(result); }
public async Task ReceiveResultAsync(QueryProcessResult <IEntityValue> result) { Requires.NotNull(result, nameof(result)); result.Request.QueryExecutionContext.CancellationToken.ThrowIfCancellationRequested(); if (((IEntityValueFromProvider)result.Result).ProviderState is UnconfiguredProject project) { if (await _coreExecutor.ExecuteAsync(project)) { project.GetQueryDataVersion(out string versionKey, out long versionNumber); result.Request.QueryExecutionContext.ReportUpdatedDataVersion(versionKey, versionNumber); } } await ResultReceiver.ReceiveResultAsync(result); }
public async Task ReceiveResultAsync(QueryProcessResult <IEntityValue> result) { result.Request.QueryExecutionContext.CancellationToken.ThrowIfCancellationRequested(); if (((IEntityValueFromProvider)result.Result).ProviderState is ContextAndRuleProviderState state) { var cache = state.ProjectState; if (await cache.GetSuggestedConfigurationAsync() is ProjectConfiguration configuration && await cache.BindToRule(configuration, state.Rule.Name, state.PropertiesContext) is IRule boundRule && boundRule.GetProperty(_executableStep.PropertyName) is IProperty property) { await property.SetValueAsync(_executableStep.Value); } } await ResultReceiver.ReceiveResultAsync(result); }