public static PFSchedule CreateScheduleFromScreenInput(MainForm frm) { PFSchedule sked = new PFSchedule(frm.txtScheduleName.Text.Trim()); try { _msg.Length = 0; _msg.Append("CreateScheduleFromScreenInput started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); enScheduleFrequency skedFreq = PFScheduler.GetScheduleFrequency(frm.cboScheduleFrequency.Text.Trim()); if (frm.txtCurrDateTime.Text.Trim().Length == 0) { frm.txtCurrDateTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss"); } switch (skedFreq) { case enScheduleFrequency.OneTime: CreateRunOneTimeSchedule(frm, sked); break; case enScheduleFrequency.Daily: CreateDailySchedule(frm, sked); break; case enScheduleFrequency.Weekly: CreateWeeklySchedule(frm, sked); break; case enScheduleFrequency.Monthly: CreateMonthlySchedule(frm, sked); break; default: _msg.Length = 0; _msg.Append("Unexpected or invalid schedule frequency: "); _msg.Append(frm.txtScheduleName.Text.Trim()); throw new System.Exception(_msg.ToString()); //break; } } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... CreateScheduleFromScreenInput finished."); Program._messageLog.WriteLine(_msg.ToString()); } return(sked); }
private static void CreateMonthlySchedule(MainForm frm, PFSchedule sked) { CreateDailySchedule(frm, sked); sked.ScheduleFrequency = enScheduleFrequency.Monthly; sked.ScheduleOccursEveryNumDays = 1; if (frm.optOccursEveryMonthNum.Checked) { sked.MonthlyScheduleMonthIdType = enMonthlyScheduleMonthIdType.EveryNumMonths; sked.MonthlyOccursEveryNumMonths = Convert.ToInt32(frm.txtMonthlyOccursIntervalNum.Text.Trim()); } else if (frm.optOccursDuringMonthName.Checked) { sked.MonthlyScheduleMonthIdType = enMonthlyScheduleMonthIdType.OccursDuringMonthName; sked.MonthlySchedule.Month[1] = frm.chkMonthlyJan.Checked; sked.MonthlySchedule.Month[2] = frm.chkMonthlyFeb.Checked; sked.MonthlySchedule.Month[3] = frm.chkMonthlyMar.Checked; sked.MonthlySchedule.Month[4] = frm.chkMonthlyApr.Checked; sked.MonthlySchedule.Month[5] = frm.chkMonthlyMay.Checked; sked.MonthlySchedule.Month[6] = frm.chkMonthlyJun.Checked; sked.MonthlySchedule.Month[7] = frm.chkMonthlyJul.Checked; sked.MonthlySchedule.Month[8] = frm.chkMonthlyAug.Checked; sked.MonthlySchedule.Month[9] = frm.chkMonthlySep.Checked; sked.MonthlySchedule.Month[10] = frm.chkMonthlyOct.Checked; sked.MonthlySchedule.Month[11] = frm.chkMonthlyNov.Checked; sked.MonthlySchedule.Month[12] = frm.chkMonthlyDec.Checked; } else { sked.MonthlyScheduleMonthIdType = enMonthlyScheduleMonthIdType.Unknown; } if (frm.optMonthlyDayName.Checked) { sked.MonthlyScheduleDayIdType = enMonthlyScheduleDayIdType.DayName; sked.MonthlyScheduleOrdinal = PFScheduler.GetMonthlyScheduleOrdinal(frm.cboMonthlyDayNameOrdinal.Text.Trim()); sked.MonthlyScheduleDay = PFScheduler.GetScheduleDay(frm.cboMonthlyDayName.Text.Trim()); } else if (frm.optMonthlyDayNumber.Checked) { sked.MonthlyScheduleDayIdType = enMonthlyScheduleDayIdType.DayNumber; sked.MonthlyDayNumber = Convert.ToInt32(frm.txtMonthlyDayNumber.Text.Trim()); } else { sked.MonthlyScheduleDayIdType = enMonthlyScheduleDayIdType.Unknown; } }
private static void CreateRunOneTimeSchedule(MainForm frm, PFSchedule sked) { sked.ScheduleFrequency = enScheduleFrequency.OneTime; sked.RunAt = Convert.ToDateTime(frm.txtRunOnceAt.Text.Trim()); TimeSpan runWindow = new TimeSpan(0, Convert.ToInt32(frm.txtRunWindowInMinutes.Text.Trim()), 0); sked.RunWindow = runWindow; sked.ScheduleStartDate = Convert.ToDateTime(frm.txtRunOnceAt.Text.Trim()); sked.ScheduleEndDate = Convert.ToDateTime(frm.txtRunOnceAt.Text.Trim()).Add(sked.RunWindow); frm.txtScheduleStart.Text = sked.ScheduleStartDate.ToString("MM/dd/yyyy HH:mm:ss"); frm.txtScheduleEnd.Text = sked.ScheduleEndDate.ToString("MM/dd/yyyy HH:mm:ss"); sked.ScheduleOccursEveryNumDays = 1; sked.TestCurrDateTime = Convert.ToDateTime(frm.txtCurrDateTime.Text.Trim()); sked.ExpectedTestResult = PFScheduler.GetScheduleLookupResult(frm.cboExpectedTestResult.Text); }
//tests public static void RunTest(MainForm frm) { enScheduleFrequency skedFreq = enScheduleFrequency.Unknown; try { _msg.Length = 0; _msg.Append("RunTest started ...\r\n"); Program._messageLog.WriteLine(_msg.ToString()); skedFreq = PFScheduler.GetScheduleFrequency(frm.cboScheduleFrequency.Text); switch (skedFreq) { case enScheduleFrequency.OneTime: RunOneTimeTest(frm); break; case enScheduleFrequency.Daily: RunDailyTest(frm); break; case enScheduleFrequency.Weekly: RunWeeklyTest(frm); break; case enScheduleFrequency.Monthly: RunMonthlyTest(frm); break; default: break; } } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); Program._messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... RunTest finished."); Program._messageLog.WriteLine(_msg.ToString()); } }
private static void CreateDailySchedule(MainForm frm, PFSchedule sked) { sked.ScheduleFrequency = enScheduleFrequency.Daily; TimeSpan runWindow = new TimeSpan(0, Convert.ToInt32(frm.txtRunWindowInMinutes.Text.Trim()), 0); sked.RunWindow = runWindow; sked.ScheduleStartDate = Convert.ToDateTime(frm.txtScheduleStart.Text.Trim()); sked.ScheduleEndDate = Convert.ToDateTime(frm.txtScheduleEnd.Text.Trim()); sked.TestCurrDateTime = Convert.ToDateTime(frm.txtCurrDateTime.Text.Trim()); sked.ExpectedTestResult = PFScheduler.GetScheduleLookupResult(frm.cboExpectedTestResult.Text); if (frm.optDailyRunOnce.Checked) { sked.DailyFrequency = enDailyFrequency.OneTime; } else if (frm.optDailyRecurring.Checked) { sked.DailyFrequency = enDailyFrequency.Recurring; } else { sked.DailyFrequency = enDailyFrequency.Unknown; } if (sked.DailyFrequency == enDailyFrequency.OneTime) { sked.OccursOnceAtTime = PFScheduler.GetTimeSpan(frm.txtDailyRunOnceAt.Text); sked.ScheduleOccursEveryNumDays = Convert.ToInt32(frm.txtScheduleRunsEveryNumDays.Text.Trim()); } else if (sked.DailyFrequency == enDailyFrequency.Recurring) { sked.ScheduleOccursEveryNumDays = Convert.ToInt32(frm.txtScheduleRunsEveryNumDays.Text.Trim()); sked.DailyOccursEveryTimeInterval = Convert.ToInt32(frm.txtDailyOccursEveryIntervalNum.Text.Trim()); sked.DailyOccursTimeInterval = PFScheduler.GetDailyOccursInterval(frm.cboDailyOccursInterval.Text); sked.DailyOccursStartTime = PFScheduler.GetTimeSpan(frm.txtOccursStartingAt.Text.Trim()); sked.DailyOccursEndTime = PFScheduler.GetTimeSpan(frm.txtOccursEndsAt.Text.Trim()); } else { sked.DailyFrequency = enDailyFrequency.Unknown; } }
private static void LoadDailySchedule(MainForm frm, PFSchedule sked) { if (sked.DailyFrequency == enDailyFrequency.OneTime) { frm.optDailyRunOnce.Checked = true; frm.txtDailyRunOnceAt.Text = PFScheduler.FormatTimeSpan(sked.OccursOnceAtTime); frm.txtScheduleRunsEveryNumDays.Text = sked.ScheduleOccursEveryNumDays.ToString(); } else if (sked.DailyFrequency == enDailyFrequency.Recurring) { frm.optDailyRecurring.Checked = true; frm.txtScheduleRunsEveryNumDays.Text = sked.ScheduleOccursEveryNumDays.ToString(); frm.txtDailyOccursEveryIntervalNum.Text = sked.DailyOccursEveryTimeInterval.ToString(); frm.cboDailyOccursInterval.Text = sked.DailyOccursTimeInterval.ToString(); frm.txtOccursStartingAt.Text = PFScheduler.FormatTimeSpan(sked.DailyOccursStartTime); frm.txtOccursEndsAt.Text = PFScheduler.FormatTimeSpan(sked.DailyOccursEndTime); } else { frm.optDailyRunOnce.Checked = false; frm.optDailyRecurring.Checked = false; } }
private static void RunMonthlyTest(MainForm frm) { PFSchedule sked = new PFSchedule(frm.txtScheduleName.Text.Trim()); bool isScheduled = false; enScheduleLookupResult lookupResult = enScheduleLookupResult.Unknown; CreateMonthlySchedule(frm, sked); isScheduled = sked.DateIsScheduled(sked.TestCurrDateTime); lookupResult = sked.ScheduleLookupResult; _msg.Length = 0; _msg.Append("Schedule type: "); _msg.Append(sked.ScheduleFrequency.ToString()); _msg.Append("\r\n"); _msg.Append("Schedule Name: "); _msg.Append(sked.Name); _msg.Append("\r\n"); _msg.Append("Schedule Start Date: "); _msg.Append(sked.ScheduleStartDate.ToString("MM/dd/yyyy HH:mm:ss")); _msg.Append("\r\n"); _msg.Append("Schedule End Date: "); _msg.Append(sked.ScheduleEndDate.ToString("MM/dd/yyyy HH:mm:ss")); _msg.Append("\r\n"); if (sked.MonthlyScheduleMonthIdType == enMonthlyScheduleMonthIdType.EveryNumMonths) { _msg.Append("Schedule runs every: "); _msg.Append(sked.MonthlyOccursEveryNumMonths.ToString()); _msg.Append(" month(s)"); } else { _msg.Append("Scheduled months: "); _msg.Append(GetScheduledMonthDaysList(sked)); _msg.Append("\r\n"); } _msg.Append("\r\n"); if (sked.MonthlyScheduleDayIdType == enMonthlyScheduleDayIdType.DayNumber) { _msg.Append("Schedule runs on day: "); _msg.Append(sked.MonthlyScheduleDay.ToString()); } else { _msg.Append("Schedule runs on: "); _msg.Append(sked.MonthlyScheduleOrdinal.ToString()); _msg.Append(" "); _msg.Append(sked.MonthlyScheduleDay.ToString()); } _msg.Append("\r\n"); _msg.Append("Schedule runs every: "); _msg.Append(sked.DailyOccursEveryTimeInterval.ToString()); _msg.Append(" day(s)"); _msg.Append("\r\n"); _msg.Append("Daily Frequency: "); _msg.Append(sked.DailyFrequency.ToString()); _msg.Append("\r\n"); if (sked.DailyFrequency == enDailyFrequency.OneTime) { _msg.Append("Daily Run At: "); _msg.Append(sked.OccursOnceAtTime.ToString()); _msg.Append("\r\n"); } else { _msg.Append("Daily occurs every: "); _msg.Append(sked.DailyOccursEveryTimeInterval.ToString()); _msg.Append(" "); _msg.Append(sked.DailyOccursTimeInterval.ToString()); _msg.Append("\r\n"); _msg.Append("Daily starting at: "); _msg.Append(PFScheduler.FormatTimeSpan(sked.DailyOccursStartTime)); _msg.Append("\r\n"); _msg.Append("Daily ends at: "); _msg.Append(PFScheduler.FormatTimeSpan(sked.DailyOccursEndTime)); _msg.Append("\r\n"); } _msg.Append("Test date: "); _msg.Append(sked.TestCurrDateTime.ToString("MM/dd/yyyy HH:mm:ss")); _msg.Append("\r\n"); _msg.Append("Actual result: "); _msg.Append(lookupResult.ToString()); _msg.Append("\r\n"); _msg.Append("Expected test result: "); _msg.Append(sked.ExpectedTestResult.ToString()); _msg.Append("\r\n"); _msg.Append("Success/Failure: "); if (sked.ExpectedTestResult == lookupResult) { _msg.Append("SUCCESS"); } else { _msg.Append("FAIL"); } _msg.Append("\r\n"); Program._messageLog.WriteLine(_msg.ToString()); }