private void ButtonClustering_Click(object sender, RoutedEventArgs e) { TextBoxLog.Clear(); try { AlgorithmKMeans alg = new AlgorithmKMeans(clusterData, int.Parse(TextBoxNumberOfClusters.Text)); alg.DistanceFunction = GetDistanceFunction(); alg.MaxIterations = int.Parse(TextBoxMaximumIterations.Text); alg.Iteration += Alg_Iteration; alg.Run(); PointChart.Data = clusterData; PointChart.Draw(); DataGridClusterStats.ItemsSource = clusterData.GetClusterStatistics(); } catch (NullReferenceException) { WPFMessageBox.MsgError("Empty dataset, please load a datafile."); } catch (InvalidOperationException) { WPFMessageBox.MsgError("An empty cluster created. Please run algorithm once more. The value of K is too big?"); } catch (Exception ex) { WPFMessageBox.MsgError("An error occured!", ex); } }
public void ClearLog() { this.Invoke(new MethodInvoker(delegate() { TextBoxLog.Clear(); this.Refresh(); this.Update(); })); }
private void MenuOpen_Click(object sender, RoutedEventArgs e) { try { LoadFile(); TextBoxLog.Clear(); DataGridClusterStats.ItemsSource = null; } catch (Exception ex) { WPFMessageBox.MsgError(ex.Message); } }
public void UpdateLog() { TextBoxLog.Clear(); var x = fullLog.Split(new [] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string str in x) { string pattern = comboBoxAccounts.SelectedItem.ToString(); if (Regex.IsMatch(str, pattern)) { TextBoxLog.Text += str + "\r\n"; } } }
/// <summary> команда разбивки </summary> private void ButtonSplit_Click(object sender, RoutedEventArgs e) { // выключаем кнопку во избежание случайного повторного запуска //ButtonSplit.IsEnabled = false; //очищем окно лога TextBoxLog.Clear(); // достаём из текстовых блоков пути к файлу и консольному приложению var processpath = TextBoxMmgPath.Text; var inputpath = TextBoxPath.Text; //проверяем адекватность текста в в блоках if (CheckingFileExisting(processpath, "mkvmerge.exe is not found.")) { return; } if (CheckingFileExisting(inputpath, "Mediafile is not found")) { return; } // задаём название будущего файла var outputpath = GeneratingFileName(inputpath); // формируем строку аргументов для командной строки консольного приложения var argumentsstring = " -o " + "\"" + outputpath + "\" " + "\"" + inputpath + "\" " + MakingArgs(); //MessageBox.Show(argumentsstring); // запуск консольного приложения consoleinterface.Start(processpath, argumentsstring, false); }
public void RefreshDisplay() { //if (!panelControls.Visible) // return; DateTime now = DateTime.Now; DateTime utc = now.ToUniversalTime(); ASCOM.Utilities.Util u = new Utilities.Util(); labelDate.Text = utc.ToLongDateString(); labelLTValue.Text = now.TimeOfDay.ToString(@"hh\hmm\mss\.f\s"); labelUTValue.Text = utc.TimeOfDay.ToString(@"hh\hmm\mss\.f\s"); labelSiderealValue.Text = wisesite.LocalSiderealTime.ToString(); labelRightAscensionValue.Text = Angle.FromHours(wisetele.RightAscension).ToNiceString(); labelDeclinationValue.Text = Angle.FromDegrees(wisetele.Declination).ToNiceString(); labelHourAngleValue.Text = Angle.FromHours(wisetele.HourAngle, Angle.Type.HA).ToNiceString(); labelNewRA.Text = ""; labelNewRARadians.Text = Angle.FromHours(wisetele.RightAscension).Radians.ToString(); labelNewDec.Text = ""; labelNewDecRadians.Text = Angle.FromDegrees(wisetele.Declination).Radians.ToString(); labelAltitudeValue.Text = Angle.FromDegrees(wisetele.Altitude).ToNiceString(); labelAzimuthValue.Text = Angle.FromDegrees(wisetele.Azimuth).ToNiceString(); labelHAEncValue.Text = wisetele.HAEncoder.Value.ToString(); labelDecEncValue.Text = wisetele.DecEncoder.Value.ToString(); axisValue.Text = wisetele.HAEncoder.AxisValue.ToString(); wormValue.Text = wisetele.HAEncoder.WormValue.ToString(); string why; if (wisesite.computerControl == null) { labelTelescopeComputerControl.ForeColor = Color.Yellow; why = "Cannot read the computer control switch!"; } else if (wisesite.computerControl.IsSafe) { labelTelescopeComputerControl.ForeColor = Color.Green; why = "Computer control is enabled."; } else { labelTelescopeComputerControl.ForeColor = Color.Red; why = why = "Computer control switch is OFF!"; } toolTip.SetToolTip(labelTelescopeComputerControl, why); if (wisesite.safeToOpen == null) { labelTelescopeSafeToOpen.ForeColor = Color.Yellow; why = "Cannot connect to the safeToOpen driver!"; } else if (wisesite.safeToOpen.IsSafe) { labelTelescopeSafeToOpen.ForeColor = Color.Green; why = "Conditions are safe to open the dome."; } else { labelTelescopeSafeToOpen.ForeColor = Color.Red; why = wisesite.safeToOpen.CommandString("unsafeReasons", false); } toolTip.SetToolTip(labelTelescopeSafeToOpen, why); if (wisesite.safeToImage == null) { labelTelescopeSafeToImage.ForeColor = Color.Yellow; why = "Cannot connect to the safeToImage driver!"; } else if (wisesite.safeToImage.IsSafe) { labelTelescopeSafeToImage.ForeColor = Color.Green; why = "Conditions are safe to image."; } else { labelTelescopeSafeToImage.ForeColor = Color.Red; why = wisesite.safeToImage.CommandString("unsafeReasons", false); } toolTip.SetToolTip(labelTelescopeSafeToImage, why); checkBoxPrimaryIsActive.Checked = wisetele.AxisIsMoving(TelescopeAxes.axisPrimary); checkBoxSecondaryIsActive.Checked = wisetele.AxisIsMoving(TelescopeAxes.axisSecondary); string activeSlewers = wisetele.slewers.ToString(); checkBoxSlewingIsActive.Text = (activeSlewers == string.Empty) ? "Slewing" : "Slewing (" + activeSlewers + ")"; checkBoxSlewingIsActive.Checked = wisetele.Slewing; checkBoxTrackingIsActive.Checked = wisetele.Tracking; WiseVirtualMotor m; m = null; if (wisetele.WestMotor.isOn) { m = wisetele.WestMotor; } else if (wisetele.EastMotor.isOn) { m = wisetele.EastMotor; } checkBoxPrimaryIsActive.Text = "Primary"; if (m != null) { checkBoxPrimaryIsActive.Text += ": " + m.Name.Remove(m.Name.IndexOf('M')) + "@" + WiseTele.RateName(m.currentRate).Replace("rate", ""); } m = null; if (wisetele.NorthMotor.isOn) { m = wisetele.NorthMotor; } else if (wisetele.SouthMotor.isOn) { m = wisetele.SouthMotor; } checkBoxSecondaryIsActive.Text = "Secondary"; if (m != null) { checkBoxSecondaryIsActive.Text += ": " + m.Name.Remove(m.Name.IndexOf('M')) + "@" + WiseTele.RateName(m.currentRate).Replace("rate", ""); } checkBoxTrack.Checked = wisetele.Tracking; if (scopeBackgroundMover != null && scopeBackgroundMover.IsBusy) { TextBoxLog.Text = "Working ..."; } if (resultsAvailable) { TextBoxLog.Clear(); if (results.Count == 0) { TextBoxLog.Text = "Cancelled by user!"; } else { TelescopeAxes axis = results[0].axis; for (int i = 0; i < results.Count; i++) { TextBoxLog.Text += string.Format("[{0}]: ({2})\r\n{1}", i, results[i].ToString(), results[i].cancelled ? "cancelled" : "completed"); } } resultsAvailable = false; } if (panelDome.Visible) { labelDomeAzimuthValue.Text = domeSlaveDriver.Azimuth; labelDomeStatusValue.Text = domeSlaveDriver.Status; labelDomeShutterStatusValue.Text = domeSlaveDriver.ShutterStatus; checkBoxVent.Checked = WiseDome.Instance.Vent; } if (groupBoxWeather.Visible) { if (!wisesite.observingConditions.Connected) { string nc = "???"; labelAgeValue.Text = nc; labelCloudCoverValue.Text = nc; labelCloudCoverValue.Text = nc; labelDewPointValue.Text = nc; labelSkyTempValue.Text = nc; labelTempValue.Text = nc; labelHumidityValue.Text = nc; labelPressureValue.Text = nc; labelRainRateValue.Text = nc; labelWindSpeedValue.Text = nc; labelWindDirValue.Text = nc; } else { try { ObservingConditions oc = wisesite.observingConditions; labelAgeValue.Text = ((int)Math.Round(oc.TimeSinceLastUpdate(""), 2)).ToString() + "sec"; double d = oc.CloudCover; if (d == 0.0) { labelCloudCoverValue.Text = "Clear"; } else if (d == 50.0) { labelCloudCoverValue.Text = "Cloudy"; } else if (d == 90.0) { labelCloudCoverValue.Text = "VeryCloudy"; } else { labelCloudCoverValue.Text = "Unknown"; } labelDewPointValue.Text = oc.DewPoint.ToString() + "°C"; labelSkyTempValue.Text = oc.SkyTemperature.ToString() + "°C"; labelTempValue.Text = oc.Temperature.ToString() + "°C"; labelHumidityValue.Text = oc.Humidity.ToString() + "%"; labelPressureValue.Text = oc.Pressure.ToString() + "mB"; labelRainRateValue.Text = (oc.RainRate > 0.0) ? "Wet" : "Dry"; labelWindSpeedValue.Text = oc.WindSpeed.ToString() + "m/s"; labelWindDirValue.Text = oc.WindDirection.ToString() + "°"; } catch (PropertyNotImplementedException e) { debugger.WriteLine(Debugger.DebugLevel.DebugLogic, "OC: exception: {0}", e.Message); } } } if (panelFocuser.Visible) { labelFocusCurrentValue.Text = wisefocuser.position.ToString();; } }
private void txtBoxClearMenuItem_Click(object sender, RoutedEventArgs e) { TextBoxLog.Clear(); }
private void ClearLog_Click(object sender, EventArgs e) { TextBoxLog.Clear(); }
private void ButtonTransmitir_Click(object sender, EventArgs e) { try { ButtonProcurar.Enabled = false; ButtonTransmitir.Enabled = false; TextBoxLog.Clear(); ProgressBarSecundaria.Value = 0; ProgressBarPrimaria.Value = 0; dispatcher.DoEvents(); // Instancia a classe que irá assinar o arquivo var assinador = new AssinadorXML(dispatcher, ProgressBarSecundaria); var dirZipDescompactado = Guid.NewGuid().ToString(); // Descompacta o arquivo .intech if (!Directory.Exists(dirZipDescompactado)) { Directory.CreateDirectory(dirZipDescompactado); } Zip.Descompacta(TextBoxArquivo.Text, dirZipDescompactado); var arquivos = Directory.GetFiles(dirZipDescompactado); var contadorLote = 0; var totalLotes = arquivos.Length; ProgressBarPrimaria.Maximum = arquivos.Length; // Processa cada xml contido no arquivo .intech foreach (var arquivo in arquivos) { contadorLote++; LabelProgressBarPrimaria.Text = $"Processando lote {contadorLote} de {totalLotes}..."; // Assina o xml do lote utilizando o certificado digital selecionado LabelProgressBarSecundaria.Text = "Assinando lote..."; ProgressBarSecundaria.Value = 0; dispatcher.DoEvents(); var xml = assinador.AssinarEventosDoArquivo(Global.Certificado, arquivo); if (xml == null) { return; } var tipoEvento = assinador.BuscarElementoAssinar(xml); var ambiente = BuscarAmbiente(xml, tipoEvento); if (ambiente == "1") { webServices = new WebServicesRF(true); } else { webServices = new WebServicesRF(false); } LabelProgressBarSecundaria.Text = "Enviando lote..."; ProgressBarSecundaria.Value = 0; ProgressBarSecundaria.Maximum = 1; dispatcher.DoEvents(); var retorno = webServices.ReceberLoteEvento(XElement.Parse(xml.InnerXml)).ToXmlNode(); ProgressBarSecundaria.Value = 1; dispatcher.DoEvents(); //if (tipoEvento.Tag == "evtServTom") //{ var sucesso = true; var eventos = BuscaEventosRetorno(retorno); LabelProgressBarSecundaria.Text = "Atualizando status dos registros..."; ProgressBarSecundaria.Value = 0; ProgressBarSecundaria.Maximum = eventos.Count; dispatcher.DoEvents(); if (eventos.Count == 0) { var resultado = BuscaResultadoEventoUnico(retorno); if (resultado == "ERRO") { var mensagem = BuscaMensagemEventoUnico(retorno); // Atualiza a ocorrência no banco utilizando a API //ServiceEfdReinf.UpdateRecibo(oidArquivoUpload, numRecibo); AdicionarLog("Erro: " + mensagem); sucesso = false; dispatcher.DoEvents(); } } for (int i = 0; i < eventos.Count; i++) { var resultado = BuscaResultadoEvento(eventos[i]); if (resultado == "ERRO") { // Mostra um dialogo para salvar o retorno //SalvarArquivoRetorno(eventos[i]); var mensagem = BuscaMensagemEvento(eventos[i]); try { // Atualiza a ocorrência no banco utilizando a API //ServiceEfdReinf.UpdateRecibo(oidArquivoUpload, numRecibo); AdicionarLog("Erro ao atualizar ocorrência: " + mensagem); sucesso = false; dispatcher.DoEvents(); } catch (Exception ex) { AdicionarLog("Erro ao atualizar ocorrência: " + mensagem); } } else { if (tipoEvento.Tipo != DMN_TIPO_REGISTRO.R1000) { try { var idEvento = BuscaIDEvento(eventos[i]); var oid = Convert.ToDecimal(idEvento.Substring(31)); // Atualiza o status e o nº do recibo no banco utilizando a API var numRecibo = BuscaRecibo(eventos[i]); ServiceEfdReinf.UpdateRecibo(tipoEvento.Tipo, oid, numRecibo); } catch (Exception ex) { // Mostra um dialogo para salvar o retorno //SalvarArquivoRetorno(eventos[i]); AdicionarLog("Erro ao atualizar movimento: " + ex.Message); } } } ProgressBarSecundaria.Increment(1); dispatcher.DoEvents(); } LabelProgressBarPrimaria.Text = string.Empty; if (sucesso) { LabelProgressBarSecundaria.Text = "Arquivo enviado com sucesso!"; } else { LabelProgressBarSecundaria.Text = "Arquivo enviado com erros."; } //} //else //{ // var resultado = BuscaResultado(retorno); // if (resultado == "ERRO") // { // // Mostra um dialogo para salvar o retorno // //SalvarArquivoRetorno(retorno); // AdicionarLog("Erro: " + BuscaMensagem(retorno)); // } // else // { // LabelProgressBarPrimaria.Text = string.Empty; // LabelProgressBarSecundaria.Text = "Arquivo enviado com sucesso!"; // var numRecibo = BuscaRecibo(retorno); // MessageBox.Show("Arquivo enviado com sucesso!\nNúmero do recibo: " + numRecibo); // // Atualiza o status e o nº do recibo no banco // //ServiceEfdReinf.UpdateRecibo(oidArquivoUpload, numRecibo); // } //} ProgressBarPrimaria.Increment(1); dispatcher.DoEvents(); } Directory.Delete(dirZipDescompactado, true); } catch (Exception ex) { AdicionarLog("Erro: " + ex.Message); VerificarInnerException(ex); } finally { ButtonProcurar.Enabled = true; ButtonTransmitir.Enabled = true; if (salvar) { TextWriter writer = new StreamWriter(nomeArquivoLog); writer.Write(logEventos); writer.Flush(); writer.Close(); } } }
private void ButtonTransmitir_Click(object sender, EventArgs e) { try { ButtonProcurar.Enabled = false; ButtonTransmitir.Enabled = false; TextBoxLog.Clear(); ProgressBarSecundaria.Value = 0; ProgressBarPrimaria.Value = 0; dispatcher.DoEvents(); // Instancia a classe que irá assinar o arquivo var assinador = new AssinadorXML(dispatcher, ProgressBarSecundaria); var dirZipDescompactado = Guid.NewGuid().ToString(); // Descompacta o arquivo .intech if (!Directory.Exists(dirZipDescompactado)) { Directory.CreateDirectory(dirZipDescompactado); } Zip.Descompacta(TextBoxArquivo.Text, dirZipDescompactado); var arquivos = Directory.GetFiles(dirZipDescompactado); var contadorLote = 0; var totalLotes = arquivos.Length; ProgressBarPrimaria.Maximum = arquivos.Length; // Processa cada xml contido no arquivo .intech foreach (var arquivo in arquivos) { contadorLote++; LabelProgressBarPrimaria.Text = $"Processando lote {contadorLote} de {totalLotes}..."; // Assina o xml do lote utilizando o certificado digital selecionado LabelProgressBarSecundaria.Text = "Assinando lote..."; ProgressBarSecundaria.Value = 0; dispatcher.DoEvents(); var xml = assinador.AssinarEventosDoArquivo(Global.Certificado, arquivo); LabelProgressBarSecundaria.Text = "Enviando lote..."; ProgressBarSecundaria.Value = 0; ProgressBarSecundaria.Maximum = 1; dispatcher.DoEvents(); var retorno = webServices.ReceberLoteEvento(XElement.Parse(xml.InnerXml)).ToXmlNode(); ProgressBarSecundaria.Value = 1; dispatcher.DoEvents(); string tipoEvento = assinador.BuscarElementoAssinar(xml); if (tipoEvento == "evtServTom") { var sucesso = true; var eventos = BuscaEventosRetorno(retorno); LabelProgressBarSecundaria.Text = "Atualizando status dos registros..."; ProgressBarSecundaria.Value = 0; ProgressBarSecundaria.Maximum = eventos.Count; dispatcher.DoEvents(); if (eventos.Count == 0) { throw new Exception("Nenhum evento encontrado."); } for (int i = 0; i < eventos.Count; i++) { // Busca o OID_OPER_FINANCEIRA na tag, onde os 3 primeiros caracteres são ignorados, // E o resto da string é o OID. //var idEvento = BuscaIDEvento(eventos[i]); //var oidMovimento = Convert.ToDecimal(idEvento.Replace("ID9", "")); var resultado = BuscaResultadoEvento(eventos[i]); if (resultado == "ERRO") { // Mostra um dialogo para salvar o retorno //SalvarArquivoRetorno(eventos[i]); try { var mensagem = BuscaMensagemEvento(eventos[i]); // Atualiza a ocorrência no banco utilizando o webservice da EFIWeb/WS/WSReinf.asmx //wsReinf.AtualizarOcorrenciaMovimento(oidMovimento, mensagem); sucesso = false; dispatcher.DoEvents(); } catch (Exception ex) { AdicionarLog("Erro ao atualizar ocorrência: " + BuscaMensagemEvento(eventos[i])); } } else { try { // Atualiza o status e o nº do recibo no banco utilizando // o webservice da EFIWeb/WS/WSReinf.asmx var numRecibo = BuscaRecibo(eventos[i]); //wsReinf.AtualizarStatusMovimento(oidMovimento, numRecibo); } catch (Exception ex) { // Mostra um dialogo para salvar o retorno //SalvarArquivoRetorno(eventos[i]); AdicionarLog("Erro ao atualizar movimento: " + ex.Message); } } ProgressBarSecundaria.Increment(1); dispatcher.DoEvents(); } LabelProgressBarPrimaria.Text = string.Empty; if (sucesso) { LabelProgressBarSecundaria.Text = "Arquivo enviado com sucesso!"; } else { LabelProgressBarSecundaria.Text = "Arquivo enviado com erros."; } } else { var resultado = BuscaResultado(retorno); if (resultado == "ERRO") { // Mostra um dialogo para salvar o retorno //SalvarArquivoRetorno(retorno); AdicionarLog("Erro: " + BuscaMensagem(retorno)); } else { LabelProgressBarPrimaria.Text = string.Empty; LabelProgressBarSecundaria.Text = "Arquivo enviado com sucesso!"; var numRecibo = BuscaRecibo(retorno); MessageBox.Show("Arquivo enviado com sucesso!\nNúmero do recibo: " + numRecibo); // Atualiza o status e o nº do recibo no banco utilizando // o webservice da EFIWeb/WS/WSReinf.asmx //wsReinf.AtualizarStatusArquivo(TextBoxArquivo.Text, numRecibo); } } ProgressBarPrimaria.Increment(1); dispatcher.DoEvents(); } Directory.Delete(dirZipDescompactado, true); } catch (Exception ex) { AdicionarLog("Erro: " + ex.Message); VerificarInnerException(ex); } finally { ButtonProcurar.Enabled = true; ButtonTransmitir.Enabled = true; if (salvar) { TextWriter writer = new StreamWriter(nomeArquivoLog); writer.Write(logEventos); writer.Flush(); writer.Close(); } } }