Пример #1
0
        /// <summary>
        ///     Remove Schedule item from category
        ///     Helper method
        /// </summary>
        /// <param name="g9ScheduledItem">Specify Schedule item</param>

        #region removeScheduleItem

        private static void removeScheduleItem(KeyValuePair <Guid, G9ScheduleItem.G9ScheduleItem> g9ScheduledItem)
        {
            // remove from schedule
            try
            {
                // Run all finish call back
                foreach (var actions in g9ScheduledItem.Value.FinishCallBack)
                {
                    actions?.Invoke();
                }
            }
            catch (Exception ex)
            {
                foreach (var action in g9ScheduledItem.Value.ErrorCallBack)
                {
                    action?.Invoke(ex);
                }
            }
            finally
            {
                try
                {
                    // Remove
                    SaveScheduleTask.Remove(g9ScheduledItem.Key);
                }
                catch
                {
                    // Ignore
                }
            }
        }
Пример #2
0
        /// <summary>
        ///     Dispose this Schedule
        /// </summary>

        #region Dispose

        public void Dispose()
        {
            if (SaveScheduleTask[ScheduleIdentity].DisposeCallBack == null)
            {
                SaveScheduleTask[ScheduleIdentity].DisposeCallBack = new HashSet <Action>();
            }
            foreach (var action in SaveScheduleTask[ScheduleIdentity].DisposeCallBack)
            {
                action?.Invoke();
            }
            SaveScheduleTask.Remove(ScheduleIdentity);

            ScheduleIdentity = Guid.Empty;
            _ScheduleItem    = null;
        }