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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }