private void OnConnect(QuikTrader trader, Exception connectionError) { if (connectionError == null) { _settingErrors.AddRange(trader.Terminal.GetTableSettings() .Select(r => new SettingsError(LocalizedStrings.Str3031Params.Put(r.Table.Caption, r.Error.Message), r.IsCritical))); if (_settingErrors.Count == 0) { OkResult.SetVisibility(true); } } else { MessageBox.Show(this, connectionError.ToString(), "Verifier"); } trader.Dispose(); }
private void CheckClick(object sender, RoutedEventArgs e) { var terminal = SelectedTerminal; if (terminal.SystemProcess.MainModule == null) { throw new InvalidOperationException(LocalizedStrings.InvalidProcess); } OkResult.SetVisibility(false); _settingErrors.Clear(); var isDde = IsDde.IsChecked == true; var connector = new QuikTrader(terminal.SystemProcess.MainModule.FileName) { IsDde = isDde }; var checkDde = isDde && CheckDde.IsChecked == true; connector.Connected += () => this.GuiAsync(() => { if (checkDde) { connector.StartExport(); } OnConnect(connector, null); }); connector.ConnectionError += error => this.GuiSync(() => OnConnect(connector, error)); if (checkDde) { connector.ProcessDataError += error => _settingErrors.Add(new SettingsError(LocalizedStrings.Str3030Params.Put(error.Message), true)); } connector.Connect(); }