/// <summary> /// The timer has ticked. Update the progress bar. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnTimerTick(object sender, ElapsedEventArgs e) { int numSimulations = jobManager.CountJobTypeInQueue <Simulation>(); double percentComplete = jobManager.PercentComplete; if (numSimulations > 0) { explorerPresenter.MainPresenter.ShowMessage(jobName + " running (" + (numSimulations) + ")", Models.DataStore.ErrorLevel.Information); explorerPresenter.MainPresenter.ShowProgress(Convert.ToInt32(percentComplete)); } if (percentComplete == 100) { timer.Stop(); stopwatch.Stop(); jobManager.Stop(); string errorMessage = GetErrorsFromSimulations(); if (errorMessage == null) { explorerPresenter.MainPresenter.ShowMessage(jobName + " complete " + " [" + stopwatch.Elapsed.TotalSeconds.ToString("#.00") + " sec]", Models.DataStore.ErrorLevel.Information); } else { explorerPresenter.MainPresenter.ShowMessage(errorMessage, Models.DataStore.ErrorLevel.Error); } SoundPlayer player = new SoundPlayer(); if (DateTime.Now.Month == 12 && DateTime.Now.Day == 25) { player.Stream = Properties.Resources.notes; } else { player.Stream = Properties.Resources.success; } player.Play(); IsRunning = false; jobManager = null; jobs = null; } }
/// <summary> /// The timer has ticked. Update the progress bar. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnTimerTick(object sender, ElapsedEventArgs e) { int numSimulations = jobManager.CountJobTypeInQueue <Simulation>(); double percentComplete = jobManager.PercentComplete; int numberComplete = jobManager.GetNumberOfJobsCompleted <Simulation>(); if (numSimulations > 0) { explorerPresenter.MainPresenter.ShowMessage(jobName + " running (" + numberComplete + " of " + (numSimulations) + " completed)", Models.DataStore.ErrorLevel.Information); explorerPresenter.MainPresenter.ShowProgress(Convert.ToInt32(percentComplete)); } if (percentComplete == 100) { Stop(); if (JobErrorMessages == null) { explorerPresenter.MainPresenter.ShowMessage(jobName + " complete " + " [" + stopwatch.Elapsed.TotalSeconds.ToString("#.00") + " sec]", Models.DataStore.ErrorLevel.Information); } else { explorerPresenter.MainPresenter.ShowMessage(JobErrorMessages, Models.DataStore.ErrorLevel.Error); } SoundPlayer player = new SoundPlayer(); if (DateTime.Now.Month == 12 && DateTime.Now.Day == 25) { player.Stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ApsimNG.Resources.notes.wav"); } else { player.Stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ApsimNG.Resources.success.wav"); } player.Play(); IsRunning = false; jobManager = null; jobs = null; } }