Bloom.Publish.PublishModel.ReportAnalytics C# (CSharp) Method

ReportAnalytics() public method

public ReportAnalytics ( string eventName ) : void
eventName string
return void
        public void ReportAnalytics(string eventName)
        {
            Analytics.Track(eventName, new Dictionary<string, string>()
            {
                {"BookId", BookSelection.CurrentSelection.ID},
                {"Country", _collectionSettings.Country}
            });
        }

Usage Example

Example #1
0
        private void OnPrint_Click(object sender, EventArgs e)
        {
            var printSettingsPreviewFolder = FileLocationUtilities.GetDirectoryDistributedWithApplication("printer settings images");
            var printSettingsSamplePrefix  = Path.Combine(printSettingsPreviewFolder,
                                                          _model.PageLayout.SizeAndOrientation + "-" + (isBooklet() ? "Booklet-" : ""));
            string printSettingsSampleName = null;

            if (SIL.PlatformUtilities.Platform.IsLinux)
            {
                printSettingsSampleName = printSettingsSamplePrefix + "Linux-" + LocalizationManager.UILanguageId + ".png";
                if (!RobustFile.Exists(printSettingsSampleName))
                {
                    printSettingsSampleName = printSettingsSamplePrefix + "Linux-en.png";
                }
            }
            if (printSettingsSampleName == null || !RobustFile.Exists(printSettingsSampleName))
            {
                printSettingsSampleName = printSettingsSamplePrefix + LocalizationManager.UILanguageId + ".png";
            }
            if (!RobustFile.Exists(printSettingsSampleName))
            {
                printSettingsSampleName = printSettingsSamplePrefix + "en" + ".png";
            }
            if (RobustFile.Exists(printSettingsSampleName))
            {
                // We display the _previewBox to show sample print settings. We need to get rid of it when the
                // print dialog goes away. For Windows, the only way I've found to know when that happens is
                // that the main Bloom form gets activated again.  For Linux, waiting for process spawned off
                // to print the pdf file to finish seems to be the only way to know it's safe to hide the
                // sample print settings.  (On Linux/Mono, the form activates almost as soon as the print
                // dialog appears.)
#if __MonoCS__
                _pdfViewer.PrintFinished += FormActivatedAfterPrintDialog;
#else
                var form = FindForm();
                form.Activated += FormActivatedAfterPrintDialog;
#endif
                _previewBox.Image    = Image.FromFile(printSettingsSampleName);
                _previewBox.Bounds   = GetPreviewBounds();
                _previewBox.SizeMode = PictureBoxSizeMode.Zoom;
                _previewBox.BringToFront();                 // prevents BL-6001
                _previewBox.Show();
                if (!Settings.Default.DontShowPrintNotification)
                {
                    using (var dlg = new SamplePrintNotification())
                    {
                        dlg.StartPosition = FormStartPosition.CenterParent;
#if __MonoCS__
                        _pdfViewer.PrintFinished -= FormActivatedAfterPrintDialog;
                        dlg.ShowDialog(this);
                        _pdfViewer.PrintFinished += FormActivatedAfterPrintDialog;
#else
                        form.Activated -= FormActivatedAfterPrintDialog;                         // not wanted when we close the dialog.
                        dlg.ShowDialog(this);
                        form.Activated += FormActivatedAfterPrintDialog;
#endif
                        if (dlg.StopShowing)
                        {
                            Settings.Default.DontShowPrintNotification = true;
                            Settings.Default.Save();
                        }
                    }
                }
            }
            _pdfViewer.Print();
            Logger.WriteEvent("Calling Print on PDF Viewer");
            _model.ReportAnalytics("Print PDF");
        }