public RunContext Get() { RunConfig config = _configSrc.Load(); if (config.IsUndefined()) { throw new RunConfigUndefinedException(); } string connectionStr = _hostCtx.GetCurrentConnectionString(); SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionStr); return(new RunContext() { Config = config, ConnectionString = builder, }); }
public string Execute() { try { RunContext context = _contextProvider.Get(); RunConfig config = context.Config; string args = _paramsProcessor.Compose(config.RunArgs, context.ConnectionString); _process.Start(config.RunTool, args); } catch (RunConfigUndefinedException) { return("Undefined"); } catch (ConnectionInfoException) { return("Insufficient connection info"); } catch (Exception) { throw; } return("Tool runned"); }
public void Save(RunConfig cfg) { Registry.SetValue(_masterKey, RunToolKey, cfg.RunTool ?? String.Empty); Registry.SetValue(_masterKey, RunArgsKey, cfg.RunArgs ?? String.Empty); }