Ignore:
Timestamp:
01/19/10 12:45:16 (5 years ago)
Author:
lowjoel
Message:

Combine the progress and upload steps to the Upload function since compression of the report is strictly the task of the Report Uploader. Addresses #307: Eraser Updater restructuring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

    r1617 r1622  
    6363        { 
    6464            IList<BlackBoxReport> reports = (IList<BlackBoxReport>)e.Argument; 
    65             SteppedProgressManager progress = new SteppedProgressManager(); 
     65            SteppedProgressManager overallProgress = new SteppedProgressManager(); 
    6666 
    6767            for (int i = 0; i < reports.Count; ++i) 
    6868            { 
    6969                //Create the progress object that will handle the progress for this report. 
    70                 SteppedProgressManager reportProgress = new SteppedProgressManager(); 
    71                 progress.Steps.Add(new SteppedProgressManagerStep(reportProgress, 
     70                ProgressManager reportProgress = new ProgressManager(); 
     71                overallProgress.Steps.Add(new SteppedProgressManagerStep(reportProgress, 
    7272                    1.0f / reports.Count)); 
    7373 
     
    7575 
    7676                //Check that a similar report has not yet been uploaded. 
    77                 UploadWorker.ReportProgress((int)(progress.Progress * 100), 
     77                UploadWorker.ReportProgress((int)(overallProgress.Progress * 100), 
    7878                    S._("Checking for status of report {0}...", reports[i].Name)); 
    79                 if (!uploader.ReportIsNew()) 
     79                if (!uploader.IsNew) 
    8080                    continue; 
    8181 
     
    8383                    throw new OperationCanceledException(); 
    8484 
    85                 { 
    86                     //No similar reports have been uploaded. Compress the report. 
    87                     ProgressManager step = new ProgressManager(); 
    88                     step.Total = 1000; 
    89                     reportProgress.Steps.Add(new SteppedProgressManagerStep(step, 0.5f)); 
    90                     UploadWorker.ReportProgress((int)(progress.Progress * 100), 
    91                         S._("Compressing Report {0}: {1}%", reports[i].Name, 0)); 
     85                //Upload the report. 
     86                UploadWorker.ReportProgress((int)(overallProgress.Progress * 100), 
     87                    S._("Compressing Report {0}: {1:#0.00%}", reports[i].Name, 0)); 
    9288 
    93                     uploader.Compress(delegate(object from, EraserProgressChangedEventArgs e2) 
    94                         { 
    95                             step.Completed = (int)(e2.Progress.Progress * step.Total); 
    96                             UploadWorker.ReportProgress((int)(progress.Progress * 100), 
     89                uploader.Submit(delegate(object from, EraserProgressChangedEventArgs e2) 
     90                    { 
     91                        reportProgress.Completed = (int)(e2.Progress.Progress * reportProgress.Total); 
     92                        SteppedProgressManager reportSteps = (SteppedProgressManager)e2.Progress; 
     93                        int step = reportSteps.Steps.IndexOf(reportSteps.CurrentStep); 
     94 
     95                        UploadWorker.ReportProgress((int)overallProgress.Progress, 
     96                            step == 0 ?  
    9797                                S._("Compressing Report {0}: {1:#0.00%}", 
    98                                     reports[i].Name, e2.Progress.Progress)); 
     98                                    reports[i].Name, reportSteps.Progress) : 
     99                                S._("Uploading Report {0}: {1:#0.00%}", 
     100                                    reports[i].Name, reportSteps.Progress)); 
    99101 
    100                             if (UploadWorker.CancellationPending) 
    101                                 throw new OperationCanceledException(); 
    102                         }); 
    103                 } 
    104                 { 
    105                     //Upload the report. 
    106                     ProgressManager step = new ProgressManager(); 
    107                     step.Total = 1000; 
    108                     reportProgress.Steps.Add(new SteppedProgressManagerStep(step, 0.5f)); 
    109                     UploadWorker.ReportProgress((int)(progress.Progress * 100), 
    110                         S._("Uploading Report {0}: {1}%", reports[i].Name, 0)); 
    111  
    112                     uploader.Upload(delegate(object from, EraserProgressChangedEventArgs e2) 
    113                         { 
    114                             step.Completed = (int)(e2.Progress.Progress * step.Total); 
    115                             UploadWorker.ReportProgress((int)progress.Progress, 
    116                                 S._("Uploading Report {0}: {1:#0.00%}", 
    117                                     reports[i].Name, e2.Progress.Progress)); 
    118  
    119                             if (UploadWorker.CancellationPending) 
    120                                 throw new OperationCanceledException(); 
    121                         }); 
    122                 } 
     102                        if (UploadWorker.CancellationPending) 
     103                            throw new OperationCanceledException(); 
     104                    }); 
    123105            } 
    124106        } 
     
    127109        { 
    128110            if (e.UserState != null) 
    129                 ProgressLbl.Text = e.UserState as string; 
     111                ProgressLbl.Text = (string)e.UserState; 
    130112            ProgressPb.Value = e.ProgressPercentage; 
    131113        } 
Note: See TracChangeset for help on using the changeset viewer.