示例#1
0
        /// <summary>
        /// Converts XPS file to PDF.
        /// </summary>
        private void ConvertToPdf(string xpsFilename, string pdfFilename)
        {
            if (!File.Exists(xpsFilename))
            {
                return;
            }

            // wait until file is released
            GcHelper.Collect(1000);

            try
            {
                var converter = new XPSToPdfConverter();

                converter.Settings.EmbedCompleteFont = true;

                var document = converter.Convert(xpsFilename);

                document.Save(pdfFilename);
                document.Close(true);
            }
            catch (Exception ex)
            {
                MessageService.Current.Warn("Failed to convert to PDF: " + ex.Message);
                return;
            }

            OpenPdfResult(pdfFilename);
        }
示例#2
0
        private bool HandleHelpMenu(string itemKey)
        {
            switch (itemKey)
            {
            case MenuKeys.Welcome:
                var model = new WelcomeViewModel(AppConfig.Instance.RecentProjects);
                _context.Container.Run <WelcomePresenter, WelcomeViewModel>(model);
                return(true);

            case MenuKeys.SupportedDrivers:
                _context.Container.Run <DriversPresenter, DriverManager>(new DriverManager());
                return(true);

            case MenuKeys.ComUsage:
                GcHelper.Collect();

                string report = GisUtils.Instance.GetComUsageReport();
                MessageService.Current.Info(report);

                return(true);

            case MenuKeys.About:
                _context.Container.Run <AboutPresenter>();
                return(true);
            }

            return(false);
        }
        public async void RegisterDataSet(PendingDataSet paPendingDataSet)
        {
            GcHelper.RegisterForScheduledCollection();
            var   task = Task.Run(() => LoadDataSetAsync(paPendingDataSet));
            await task;

            task.Dispose();
            GcHelper.ForceCollect();
            OnModelLoaded(paPendingDataSet);
            GcHelper.UnRegisterScheduledCollection();
        }
 public void RemoveDataSet(DataSetModel paModel)
 {
     DataSetModels.Remove(paModel);
     GcHelper.ForceCollect();
     OnPropertyChanged(nameof(AnyLoadedDataSets));
 }
示例#5
0
 /// <summary>
 /// Updated info about current ussage of GC heap
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="eventArgs"></param>
 private void TimerOnTickGetHeapAllocated(object sender, EventArgs eventArgs)
 {
     HeapAllocated = GcHelper.GetHeapAllocatedMemory();
 }