protected override void ExecuteCore(Document document) { PromptService prompt = document.GetService <PromptService>(); settings.Document = document; if (PromptResult.Ok == prompt.Prompt(settings)) { ExecuteDataFunction(settings); } else { MessageBox.Show("Tool execution canceled."); } }
public void Setup() { _baseReportParameterService = new Mock<IBaseReportParameterService>(); _baseReportInterpreter = new Mock<IBaseReportInterpreter<PromptInfo>>(); _service = new PromptService(_baseReportParameterService.Object, _baseReportInterpreter.Object); }
/// <summary>Create a new connection and prompt if needed. /// </summary> /// <param name="serviceProvider">The service provider.</param> /// <param name="promptMode">The prompt mode.</param> /// <returns>A connection to the data source.</returns> protected override DataSourceConnection ConnectCore( IServiceProvider serviceProvider, DataSourcePromptMode promptMode) { // Retrieve the prompt service. PromptService promptService = GetService <PromptService>(serviceProvider); CredentialsService credentialsService = GetService <CredentialsService>(serviceProvider); // Check if it allowed to show a UI bool isPromptingAllowed = promptService.IsPromptingAllowed; // Check if host/username/password works bool connectionOk = false; if (!Host.Equals("") && !UserName.Equals("") && !UserPass.Equals("")) { try { LmiHandler lmiHandler = new LmiHandler(Host, "", UserName, UserPass, null, false, From, To); lmiHandler.checkConnection(); connectionOk = true; } catch (Exception) { // just ignored at this stage } } else if (isPromptingAllowed) { String[] credentials; bool res = credentialsService.TryGetCredentials <String[]>("LMI::DEFAULT", out credentials); Host = res == false ? "" : credentials[0]; UserName = res == false ? "" : credentials[1]; UserPass = res == false ? "" : credentials[2]; } // Check if we need to prompt bool needsPrompting = !connectionOk; if (!isPromptingAllowed && needsPrompting) { // It is not allowed to show the prompt UI and there is not enough information // to retrieve data so an exception needs to be thrown and import will be aborted. throw new ImportException("User prompt needed but disallowed by prompt mode or application mode."); } // Generate an enumerator for the prompt models. IEnumerable <object> promptModels = new List <object>(); // 2. Prompt for Uri if it is allowed to show UI if (isPromptingAllowed) { switch (promptMode) { case DataSourcePromptMode.All: // Always prompt promptModels = this.Prompt(credentialsService); break; case DataSourcePromptMode.RequiredOnly: // Prompt only if needed if (needsPrompting) { promptModels = this.Prompt(credentialsService); } break; case DataSourcePromptMode.None: // No prompting. break; default: // No prompting. break; } } // 3. Create and return a connection return(new LmiDataSourceConnection(this, serviceProvider, promptMode, promptModels)); }
public DbConnectionInfo(PromptService prompt) { _prompt = prompt; }
public DbConnectionInfo() { _prompt = new ConsolePromptService(); }
public void Setup() { _baseReportParameterService = new Mock <IBaseReportParameterService>(); _baseReportInterpreter = new Mock <IBaseReportInterpreter <PromptInfo> >(); _service = new PromptService(_baseReportParameterService.Object, _baseReportInterpreter.Object); }