示例#1
0
 /// <summary>
 /// Timer_Tick event
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void GapCountTimer_Tick(object sender, EventArgs e)
 {
     //If there are still programs to start on the list then start the next one on the list
     if (CurrentProgramStartingOrder <= ProgramsToStartList.Count())
     {
         StartNextProgram();
     }
     //else stop the starting procedure
     else
     {
         IsStartupDone = true;
         GapCountTimer.Stop();
     }
 }
示例#2
0
        /// <summary>
        /// This method is starting next program in the list, calculating PercentOfStartedPrograms and incrementing CurrentProgramStartingOrder
        /// </summary>
        private void StartNextProgram()
        {
            //Start program
            ProgramToStart program = ProgramsToStartList.Where(p => p.StartingOrder == CurrentProgramStartingOrder).FirstOrDefault();
            string         path    = ProgramsToStartList.Where(p => p.StartingOrder == CurrentProgramStartingOrder).Select(x => x.Path).FirstOrDefault().ToString();

            try
            {
                StartProgram(path);
            }
            catch (Exception ex)
            {
                HasErrors = true;
                ErrorLog log = new ErrorLog(DateTime.Now, program.ProgramName, program.Path, ex.ToString());
                ErrorsList.Add(log);
            }

            //Calculate percentage of started programs
            PercentOfStartedPrograms = ((float)CurrentProgramStartingOrder / ProgramsToStartList.Count()) * 100;

            //Increment CurrentProgramStartingOrder
            CurrentProgramStartingOrder++;
        }