public override void DeleteSchedule(string Token) { ConfStorageLoad(); EventServerLoad(); if (ConfStorage.AwaitingTasks.ContainsKey(Token)) { foreach (var task in ConfStorage.AwaitingTasks[Token]) { task.Cancel(); } } ConfStorage.AwaitingTasks.Remove(Token); if (ConfStorage.ScheduleList.ContainsKey(Token)) { EventServer.ScheduleStateActiveEvent(this, "Removed", Token, ConfStorage.ScheduleList[Token].Name, ConfStorage.ScheduleStateList[Token].Active, ConfStorage.ScheduleStateList[Token].SpecialDay); EventServer.ConfigurationScheduleRemovedEvent(this, Token); ConfStorage.ScheduleList.Remove(Token); ConfStorage.ScheduleStateList.Remove(Token); LoggingService.LogMessage(string.Format("Schedule with token '{0}' was deleted.", Token), DUT.PACS.Simulator.ExternalLogging.MessageType.Message); } else { string message = string.Format("Schedule with token {0} does not exist", Token); LoggingService.LogMessage(message, DUT.PACS.Simulator.ExternalLogging.MessageType.Error); FaultLib.ReturnFault(message, new string[] { "Sender", "InvalidArgVal", "NotFound" }); } if (ConfStorage.ScheduleStateList.ContainsKey(Token)) { ConfStorage.ScheduleStateList.Remove(Token); } EventServerSave(); ConfStorageSave(); }