public void Scan()
        {
            bool covers;
            bool subdirectories;
            var  view = new ConfirmImportView();

            if (view.ShowDialog() == true)
            {
                covers         = view._viewModel.GenerateCovers;
                subdirectories = view._viewModel.SubDirectories;
            }
            else
            {
                return;
            }

            SelectedSourceDirectory.DateLastImported = DateTime.Now;
            SelectedSourceDirectory.EntityState      = EntityState.Modified;
            _domain.UpdateSourceDirectory(SelectedSourceDirectory);

            ProgressReportingActive = true;

            _importer              = new Importer(SelectedSourceDirectory);
            _importer.BookChanged += MainViewModel.i_BookChanged;
            _importer.Worker.RunWorkerCompleted += _worker_RunWorkerCompleted;

            _importer.ScanSource(subdirectories, covers);
            _importer.ProgressComplete += delegate { ProgressReportingActive = false; };

            Refresh();
            _library.CleanImages();
        }