private void ExportConversationsAsync()
        {
            ExportedFilenameGenerator filenameGenerator = new ExportedFilenameGenerator();
            string folderName = filenameGenerator.CreateExportFolderNameSuggestion();

            string outputPath = System.IO.Path.Combine(folderPathTextBox.Text, folderName);

            BackgroundWorker backgroundWorker = new BackgroundWorker();

            _progressCallback = new ProgressCallback(backgroundWorker);

            backgroundWorker.WorkerReportsProgress      = true;
            backgroundWorker.WorkerSupportsCancellation = true;
            backgroundWorker.DoWork             += OnDoWork;
            backgroundWorker.ProgressChanged    += OnProgressChanged;
            backgroundWorker.RunWorkerCompleted += OnWorkerCompleted;

            ExportMultipleDialogModel.ExportFormat exportFormat = GetExportFormat();

            AsyncExportingProgressParams exportingParams = new AsyncExportingProgressParams(_progressCallback, _model, exportFormat, outputPath);

            SetUiToExportInProgress();

            backgroundWorker.RunWorkerAsync(exportingParams);
        }
示例#2
0
        public void CreateExportFolderNameSuggestionTest()
        {
            var mockDescriptionHelper = new Mock <IConversationDescriptionHelper>();

            mockDescriptionHelper.Setup(x => x.GetDescription(It.IsAny <IConversation>()))
            .Returns("<some conversation>");

            var mockClock = new Mock <IClock>();

            mockClock.Setup(x => x.CurrentTime())
            .Returns(new DateTime(2012, 10, 27));

            ExportedFilenameGenerator filenameGenerator = new ExportedFilenameGenerator(mockDescriptionHelper.Object, mockClock.Object);

            Assert.AreEqual("iPhone Text History Backup - 2012-10-27", filenameGenerator.CreateExportFolderNameSuggestion());
        }