Exemple #1
0
        public async Task CompareIntegrity()
        {
            string folderToScan;

            System.Windows.Forms.FolderBrowserDialog folderDialog = new System.Windows.Forms.FolderBrowserDialog();
            folderDialog.ShowNewFolderButton = false;
            folderDialog.Description         = "Select the folder you want to scan";
            if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                folderToScan = folderDialog.SelectedPath;
            }
            else
            {
                return;
            }

            string integrityFile;

            Microsoft.Win32.OpenFileDialog fileDialog = new Microsoft.Win32.OpenFileDialog();
            fileDialog.DefaultExt = ".integritul";
            fileDialog.Filter     = "Integritul Database Files (*.integritul)|*.integritul";
            fileDialog.Title      = "Select your integritul file";
            if (fileDialog.ShowDialog() == true)
            {
                integrityFile = fileDialog.FileName;
            }
            else
            {
                return;
            }
            ProgressDialogController progressDialog = await ShowProgressAsync("Please Wait", String.Empty);

            var progressHandler = new Progress <string>(value =>
            {
                progressDialog.SetMessage(value);
            });
            var progress = progressHandler as IProgress <string>;
            IEnumerable <ResultOfComparison> differences = new List <ResultOfComparison>();
            await Task.Run(() =>
            {
                differences = CompareFolder(folderToScan, integrityFile, progress);
            });

            await progressDialog.CloseAsync();

            if (differences.Any())
            {
                IShell shell = IoC.Get <IShell>();
                shell.ChangeScreen(new ResultOfComparisonViewModel(differences));
            }
            else
            {
                await ShowMessageAsync("All is equal", "Noting has changed", MessageDialogStyle.Affirmative);
            }
        }
        public void Home()
        {
            IShell shell = IoC.Get <IShell>();

            shell.ChangeScreen(new HomeViewModel());
        }