private void UnscheduleProcess(ClientRequestInfo requestInfo)
{
if (requestInfo.Request.Arguments.ContainsHelpRequest || requestInfo.Request.Arguments.OrderedArgCount < 1)
{
StringBuilder helpMessage = new StringBuilder();
helpMessage.Append("Unschedules a scheduled process defined in the service.");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Usage:");
helpMessage.AppendLine();
helpMessage.Append(" Unschedule \"Process Name\" -options");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Options:");
helpMessage.AppendLine();
helpMessage.Append(" -?".PadRight(20));
helpMessage.Append("Displays this help message");
helpMessage.AppendLine();
helpMessage.Append(" -save".PadRight(20));
helpMessage.Append("Saves all process schedules to the config file");
helpMessage.AppendLine();
helpMessage.Append(" -list".PadRight(20));
helpMessage.Append("Displays list of all process schedules");
helpMessage.AppendLine();
helpMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, helpMessage.ToString());
}
else
{
string processName = requestInfo.Request.Arguments["orderedarg1"];
bool saveSchedules = requestInfo.Request.Arguments.Exists("save");
bool listSchedules = requestInfo.Request.Arguments.Exists("list");
Schedule scheduleToRemove = m_processScheduler.FindSchedule(processName);
if ((object)scheduleToRemove != null)
{
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, "Attempting to unschedule process \"{0}\"...\r\n\r\n", processName);
m_processScheduler.Schedules.Remove(scheduleToRemove);
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, "Successfully unscheduled process \"{0}\".\r\n\r\n", processName);
if (saveSchedules)
{
requestInfo.Request = ClientRequest.Parse("SaveSchedules");
SaveSchedules(requestInfo);
}
}
else
{
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Alarm, "Failed to unschedule process \"{0}\". Process is not scheduled.\r\n\r\n", processName);
}
if (!listSchedules)
return;
requestInfo.Request = ClientRequest.Parse("Schedules");
ShowSchedules(requestInfo);
}
}