in CosmosClone/CosmicCloneUI/MainWindow.xaml.cs [146:214]
private bool PerformAction(Page currentPage)
{
if (GetPageNumber(currentPage) == 0)
{
var result = ((SourcePage)currentPage).TestSourceConnection();
return result;
}
else if (GetPageNumber(currentPage) == 1)
{
var result = ((DestinationPage)currentPage).TestDestinationConnection();
return result;
}
else if (GetPageNumber(currentPage) == 2)
{
var page = ((CloneOptionsPage)currentPage);
var valid = page.TestCloneOptions();
if (!valid) return false;
CloneSettings.CopyStoredProcedures = page.SPs.IsChecked.Value;
CloneSettings.CopyUDFs = page.UDFs.IsChecked.Value;
CloneSettings.CopyTriggers = page.CosmosTriggers.IsChecked.Value;
CloneSettings.CopyDocuments = page.Documents.IsChecked.Value;
CloneSettings.CopyIndexingPolicy = page.IPs.IsChecked.Value;
CloneSettings.CopyPartitionKey = page.PKs.IsChecked.Value;
CloneSettings.TargetMigrationOfferThroughputRUs = int.Parse(page.OfferThroughput.Text);
return true;
}
else if (GetPageNumber(currentPage) == 3)
{
btn_finish.IsEnabled = false;
scrubRules = ((DataAnonymizationPage)currentPage).getScrubRules();
bool isValidationSuccess = ((DataAnonymizationPage)currentPage).validateInput();
if (!isValidationSuccess) return false;
BackgroundWorker worker = new BackgroundWorker
{
WorkerReportsProgress = true
};
worker.DoWork += Worker_DoWork;
worker.ProgressChanged += Worker_ProgressChanged;
worker.RunWorkerCompleted += Worker_RunWorkerCompleted;
worker.RunWorkerAsync(1000);
BackgroundWorker worker2 = new BackgroundWorker
{
WorkerReportsProgress = true
};
worker2.DoWork += Worker_DoWork2;
worker2.ProgressChanged += Worker_ProgressChanged2;
worker2.RunWorkerCompleted += Worker_RunWorkerCompleted2;
worker2.RunWorkerAsync(1000);
var nextPage = GetNextPage(currentPage);
((CopyCollectionPage)nextPage).setRequiredprogressBars(scrubRules);
return true;
}
else if (GetPageNumber(currentPage) == 4)
{
btn_finish.IsEnabled = false;
((CopyCollectionPage)currentPage).setRequiredprogressBars(scrubRules);
return true;
}
else
{
return true;
}
}