CSL.MainWindow.ProgressChanged C# (CSharp) Method

ProgressChanged() private method

private ProgressChanged ( object sender, ProgressChangedEventArgs e ) : void
sender object
e ProgressChangedEventArgs
return void
        void ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            string precedence = "TorrentBuilder";
            int progress = 0;

            if (!(e.ProgressPercentage > 100 || e.ProgressPercentage < 0))
                progress = e.ProgressPercentage;

            if ((e.ProgressPercentage % 10) == 0)
            {
                string test = sender.ToString();
                switch (test)
                {
                    case "CSL.TorrentBuilder":
                        StatusLabel.Text = "Building " + 10 * (e.ProgressPercentage / 10) + "%";
                        if (precedence.Equals("TorrentBuilder"))
                        {
                            if (!StatusLabel.Text.Contains("Building"))
                                StatusLabel.Text = "Building";
                            if (progress == 100)
                            {
                                StatusLabel.Text = "Finalizing...";
                                precedence = "DirectoryHandler";
                                dataGridViewProgressBar.Value = 100;
                            }
                            else
                            {
                                dataGridViewProgressBar.Value = progress;
                            }
                        }
                        break;
                    case "CSL.DirectoryHandler":
                        StatusLabel.Text = "Moving files " + 10 * (e.ProgressPercentage / 10) + "%";
                        if (precedence.Equals("DirectoryHandler"))
                        {
                            if (!StatusLabel.Text.Contains("Moving files"))
                                StatusLabel.Text = "Moving files";
                            if (progress == 100)
                            {
                                precedence = "TorrentBuilder";
                                dataGridViewProgressBar.Value = 100;
                            }
                            else
                            {
                                dataGridViewProgressBar.Value = progress;
                            }
                        }
                        break;
                    default:
                        StatusLabel.Text = "Working...";
                        break;
                }
            }
            else
                dataGridViewProgressBar.Value = progress;
        }