private void ShowSchedules(ClientRequestInfo requestInfo)
{
if (requestInfo.Request.Arguments.ContainsHelpRequest)
{
StringBuilder helpMessage = new StringBuilder();
helpMessage.Append("Displays a list of schedules for processes defined in the service.");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Usage:");
helpMessage.AppendLine();
helpMessage.Append(" Schedules -options");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Options:");
helpMessage.AppendLine();
helpMessage.Append(" -?".PadRight(20));
helpMessage.Append("Displays this help message");
helpMessage.AppendLine();
helpMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, helpMessage.ToString());
}
else
{
if (m_processScheduler.Schedules.Count > 0)
{
// Display info about all the process schedules defined in the service.
StringBuilder responseMessage = new StringBuilder();
responseMessage.AppendFormat("Process schedules defined in {0}:", Name);
responseMessage.AppendLine();
responseMessage.AppendLine();
responseMessage.Append("Name".PadRight(25));
responseMessage.Append(' ');
responseMessage.Append("Rule".PadRight(20));
responseMessage.Append(' ');
responseMessage.Append("Last Due".PadRight(30));
responseMessage.AppendLine();
responseMessage.Append(new string('-', 25));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 20));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 30));
foreach (Schedule schedule in m_processScheduler.Schedules)
{
responseMessage.AppendLine();
responseMessage.Append(schedule.Name.PadRight(25));
responseMessage.Append(' ');
responseMessage.Append(schedule.Rule.PadRight(20));
responseMessage.Append(' ');
if (schedule.LastDueAt != DateTime.MinValue)
responseMessage.Append(schedule.LastDueAt.ToString(CultureInfo.InvariantCulture).PadRight(30));
else
responseMessage.Append("[Never]".PadRight(30));
}
responseMessage.AppendLine();
responseMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, responseMessage.ToString());
}
else
{
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, "No process schedules are defined in {0}.\r\n\r\n", Name);
}
}
}