public EvaluateJavaScript(ConnectionInfo cnn, string database) { _cnn = cnn; _databaseName = database; _control = new EvalJSControl(); _control.EvaluateClicked += EvaluateClicked; _control.PreviewKeyUp += PreviewKeyUp; }
public MongoConsole(string fullPathToexe, ConnectionInfo cnnInfo, string database) { _control = new EvalJSControl(); _control.EvaluateClicked += ControlEvaluateClicked; _cnn = cnnInfo; LoadSettings(); _control.Output.Text = string.Format("{0}\n", Properties.Resources.Console_AltEnterTip); _control.Output.Text += string.Format("{0}\n\n", Properties.Resources.Console_ClearTip); try { var psi = new ProcessStartInfo(fullPathToexe); // TODO: Username/password psi.Arguments = string.Format("{1}:{2}", fullPathToexe, _cnn.Host, _cnn.Port); psi.UseShellExecute = false; psi.CreateNoWindow = true; psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; psi.RedirectStandardError = true; _process = new Process(); _process.StartInfo = psi; _process.OutputDataReceived += ProcessOutputDataReceived; _process.ErrorDataReceived += ProcessOutputDataReceived; _process.Exited += ProcessExited; _control.PreviewKeyUp += ControlPreviewKeyUp; _process.Start(); _stdInput = _process.StandardInput; _process.BeginOutputReadLine(); } catch (Exception ex) { _control.Output.Text = Properties.Resources.Console_ErrorOpening; // TODO: This setting isn't this classes responsibility Properties.Settings.Default.MongoExeLocation = string.Empty; Properties.Settings.Default.Save(); Utilities.LogException(ex); } if (!string.IsNullOrEmpty(database)) { _stdInput.WriteLine(string.Format("use {0}", database)); } }