Example #1
0
        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();
        }