private void ButtonClear_Click(object sender, RoutedEventArgs e) { SyncMlSessions.Clear(); TextEditorMessages.Clear(); TextEditorStream.Clear(); }
private void MenuItemBackgroundLogging_Unchecked(object sender, RoutedEventArgs e) { if (!((MenuItem)sender).IsChecked) { Trace.Close(); Trace.Listeners.Remove("listenerSyncMLStream"); TextEditorStream.Clear(); TextEditorStream.IsEnabled = true; } }
private void MenuItemBackgroundLogging_Checked(object sender, RoutedEventArgs e) { if (((MenuItem)sender).IsChecked) { Trace.Listeners.Add(new TextWriterTraceListener($"SyncMLStream-BackgroundLogging-{Environment.MachineName}-{DateTime.Now:MM-dd-yy_H-mm-ss}.xml", "listenerSyncMLStream")); Trace.AutoFlush = true; SyncMlSessions.Clear(); ListBoxMessages.ItemsSource = null; TextEditorStream.Clear(); TextEditorMessages.Clear(); TextEditorStream.IsEnabled = false; TextEditorStream.AppendText(Environment.NewLine + "\t'Background Logging Mode' enabled."); } }
private void ButtonClear_Click(object sender, RoutedEventArgs e) { TextEditorStream.Clear(); }
private void MenuItemOpen_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog { InitialDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Filter = "Xml files|*.xml|All files|*.*", FilterIndex = 0, RestoreDirectory = true, Title = "Open SyncML stream", }; if (openFileDialog.ShowDialog() == true) { TextEditorStream.Clear(); TextEditorMessages.Clear(); SyncMlSessions.Clear(); var fileStream = openFileDialog.OpenFile(); using (StreamReader reader = new StreamReader(fileStream)) { TextEditorStream.Text = reader.ReadToEnd(); } if (TextEditorStream.Text.Length > 0) { var syncMlMessages = Regex.Matches(TextEditorStream.Text, @"<SyncML[\s\S]*?</SyncML>", RegexOptions.IgnoreCase); foreach (Match message in syncMlMessages) { var valueSyncMl = TryFormatXml(message.Value); TextEditorMessages.Text = valueSyncMl; _foldingStrategy.UpdateFoldings(_foldingManager, TextEditorMessages.Document); var valueSessionId = "0"; var matchSessionId = new Regex("<SessionID>([0-9a-zA-Z]+)</SessionID>", RegexOptions.IgnoreCase).Match(valueSyncMl); if (matchSessionId.Success) { valueSessionId = matchSessionId.Groups[1].Value; } if (!SyncMlSessions.Any(item => item.SessionId == valueSessionId)) { var syncMlSession = new SyncMlSession(valueSessionId); SyncMlSessions.Add(syncMlSession); } var valueMsgId = "0"; var matchMsgId = new Regex("<MsgID>([0-9]+)</MsgID>", RegexOptions.IgnoreCase).Match(valueSyncMl); if (matchMsgId.Success) { valueMsgId = matchMsgId.Groups[1].Value; } var syncMlMessage = new SyncMlMessage(valueSessionId, valueMsgId, valueSyncMl); SyncMlSessions.FirstOrDefault(item => item.SessionId == valueSessionId)?.Messages .Add(syncMlMessage); } } } }