void Worker_DoWork2()

in CosmosClone/CosmicCloneUI/MainWindow.xaml.cs [249:294]


        void Worker_DoWork2(object sender, DoWorkEventArgs e)
        {
            Task.Delay(3000).Wait();
            long readPercentProgress = 0;
            long writePercentProgress = 0;
            long scrubPercentProgress = 0;
            int sendPercent = 0;
            while (readPercentProgress < 100 || writePercentProgress < 100 || scrubPercentProgress < 100)
            {
                if (DocumentMigrator.TotalRecordsInSource == 0 && CloneSettings.CopyDocuments==true)
                {
                    readPercentProgress = 0;
                    writePercentProgress = 0;
                   //scrubPercentProgress = 0;
                }
                else
                {
                    if(CloneSettings.CopyDocuments)
                    {
                        readPercentProgress = (DocumentMigrator.TotalRecordsRetrieved * 100) / DocumentMigrator.TotalRecordsInSource;
                        writePercentProgress = (DocumentMigrator.TotalRecordsSent * 100) / DocumentMigrator.TotalRecordsInSource;
                    }
                    else
                    {
                        readPercentProgress = 100;
                        writePercentProgress = 100;
                    }

                    if (CloneSettings.ScrubbingRequired && DocumentMigrator.scrubRules != null && DocumentMigrator.scrubRules.Count > 0)
                    {
                        scrubPercentProgress = DocumentMigrator.ScrubPercentProgress;
                      
                    }                    
                    else
                    {
                        if (DocumentMigrator.scrubRules == null || DocumentMigrator.scrubRules.Count == 0) scrubPercentProgress = 100;
                        else scrubPercentProgress = 0;
                    }

                }

                sendPercent = (int)scrubPercentProgress * 1000000 + (int)readPercentProgress * 1000 + (int)writePercentProgress ;
                (sender as BackgroundWorker).ReportProgress((int)sendPercent);
                Task.Delay(3000).Wait();
            }
        }