示例#1
0
        /// <summary>
        /// Stop recording event logs
        /// </summary>
        public async void StopRecordEvents(bool onclose = false)
        {
            if (onclose)
            {
                this.isClosed = true;
                if (this.EventRecorderId != null)
                {
                    var la = ListenAction.GetInstance(this.EventRecorderId.Value);
                    la.Stop();
                    this.EventRecorderId = null;
                }
            }
            else if (this.vmEventRecorder.State == ButtonState.On && this.EventRecorderId != null)
            {
                this.ctrlProgressRing.Activate();

                await Task.Run(() => {
                    var la = ListenAction.GetInstance(this.EventRecorderId.Value);
                    la.Stop();
                }).ConfigureAwait(false);

                this.ctrlProgressRing.Deactivate();

                this.vmEventRecorder.State = ButtonState.Off;
                this.NotifyRecordingChange(false);
            }
        }
        /// <summary>
        /// Pause LiveMonitoring and get into Event mode for Loaded Events data
        /// </summary>
        /// <param name="path">path of event file. </param>
        private void StartEventsWithLoadedData(string path)
        {
            DisableElementSelector();

            List <EventMessage> el = ListenAction.LoadEventMessages(path);

            this.ctrlCurMode.HideControl();
            this.ctrlCurMode = this.ctrlEventMode;
            this.ctrlCurMode.ShowControl();

            this.ctrlEventMode.Clear();

            this.ctrlEventMode.LoadEventRecords(el);

            this.CurrentPage = AppPage.Events;
            this.CurrentView = EventsView.Load;

            PageTracker.TrackPage(this.CurrentPage, this.CurrentView.ToString());
        }
示例#3
0
        /// <summary>
        /// Save events file
        /// </summary>
        public void SaveEvents()
        {
            if (this.EventRecorderId != null)
            {
                var la = ListenAction.GetInstance(this.EventRecorderId.Value);
                if (HasRecordedEvents())
                {
                    using (var dlg = new System.Windows.Forms.SaveFileDialog
                    {
#pragma warning disable CA1303 // Do not pass literals as localized parameters
                        Filter = FileFilters.EventsFileFilter,
#pragma warning restore CA1303 // Do not pass literals as localized parameters
                        InitialDirectory = AppConfiguration.EventRecordPath,
                        AutoUpgradeEnabled = !SystemParameters.HighContrast,
                    })
                    {
                        dlg.FileName = dlg.InitialDirectory.GetSuggestedFileName(FileType.EventRecord);

                        if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                        {
                            Logger.PublishTelemetryEvent(TelemetryAction.Event_Save);

                            try
                            {
                                SetupLibrary.FileHelpers.SerializeDataToJSON(this.dgEvents.Items, dlg.FileName);
                            }
#pragma warning disable CA1031 // Do not catch general exception types
                            catch (Exception ex)
                            {
                                ex.ReportException();
                                MessageDialog.Show(string.Format(CultureInfo.InvariantCulture,
                                    Properties.Resources.EventRecordControl_FileSaveError, ex.Message));
                            }
#pragma warning restore CA1031 // Do not catch general exception types
                        }

                        return;
                    }
                }
            }

            MessageDialog.Show(Properties.Resources.NoEventToSave);
        }
示例#4
0
        /// <summary>
        /// Start record event logs
        /// </summary>
        private void StartRecordingEvent()
        {
            if (this.vmEventRecorder.State == ButtonState.Off && this.ElementContext != null)
            {
                this.tbIntro.Visibility = Visibility.Collapsed;
                this.svData.Visibility  = Visibility.Visible;

                this.NotifyRecordingChange(true);

                Logger.PublishTelemetryEvent(TelemetryAction.Event_Start_Record);

                this.EventRecorderId = ListenAction.CreateInstance(ConfigurationManager.GetDefaultInstance().EventConfig, this.ElementContext.Id, onRecordEvent);
                this.dgEvents.Items.Clear();
                this.vmEventRecorder.State = ButtonState.On;
                ListenAction.GetInstance(this.EventRecorderId.Value).Start();
            }
            else
            {
                MessageDialog.Show(Properties.Resources.EventRecordControl_StartRecordingEvent_No_element_is_selected_yet__please_select_first);
            }
        }
示例#5
0
        /// <summary>
        /// Save events file
        /// </summary>
        public void SaveEvents()
        {
            if (this.EventRecorderId != null)
            {
                var la = ListenAction.GetInstance(this.EventRecorderId.Value);
                if (HasRecordedEvents())
                {
                    var dlg = new System.Windows.Forms.SaveFileDialog
                    {
                        Filter             = FileFilters.EventsFileFilter,
                        InitialDirectory   = AppConfiguration.EventRecordPath,
                        AutoUpgradeEnabled = !SystemParameters.HighContrast,
                    };

                    dlg.FileName = dlg.InitialDirectory.GetSuggestedFileName(FileType.EventRecord);

                    if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        Logger.PublishTelemetryEvent(TelemetryAction.Event_Save);

                        try
                        {
                            SetupLibrary.FileHelpers.SerializeDataToJSON(this.dgEvents.Items, dlg.FileName);
                        }
#pragma warning disable CA1031 // Do not catch general exception types
                        catch (Exception ex)
                        {
                            ex.ReportException();
                            MessageDialog.Show(string.Format(CultureInfo.InvariantCulture, "Couldn't save the event record file: {0}", ex.Message));
                        }
#pragma warning restore CA1031 // Do not catch general exception types
                    }

                    return;
                }
            }

            MessageDialog.Show("There is no event to save.");
        }
示例#6
0
        /// <summary>
        /// Save events file
        /// </summary>
        public void SaveEvents()
        {
            if (this.EventRecorderId != null)
            {
                var la = ListenAction.GetInstance(this.EventRecorderId.Value);
                if (la.HasRecordedEvents())
                {
                    var dlg = new System.Windows.Forms.SaveFileDialog
                    {
                        Filter             = FileFilters.EventsFileFilter,
                        InitialDirectory   = AppConfiguration.EventRecordPath,
                        AutoUpgradeEnabled = !SystemParameters.HighContrast,
                    };

                    dlg.FileName = dlg.InitialDirectory.GetSuggestedFileName(FileType.EventRecord);

                    if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        Logger.PublishTelemetryEvent(TelemetryAction.Event_Save);

                        try
                        {
                            la.SaveInJson(dlg.FileName);
                        }
                        catch (Exception ex)
                        {
                            MessageDialog.Show(string.Format(CultureInfo.InvariantCulture, "Couldn't save the event record file: {0}", ex.Message));
                        }
                    }

                    return;
                }
            }

            MessageDialog.Show("There is no event to save.");
        }