예제 #1
0
        public void OnItemSaved(object sender, EventArgs args)
        {
            Item savedItem = null;
            ItemSavedRemoteEventArgs remoteArgs = args as ItemSavedRemoteEventArgs;
            ItemChanges savedItemChanges        = Event.ExtractParameter(args, 1) as ItemChanges;

            //Thank you Mike Edwards!
            if (remoteArgs != null)
            {
                savedItem = remoteArgs.Item;
            }
            else
            {
                savedItem = Event.ExtractParameter(args, 0) as Item;
            }

            if (savedItem != null && SitecronConstants.Templates.SitecronJobTemplateID == savedItem.TemplateID) //matched Sitecron job template
            {
                if (savedItemChanges != null && savedItemChanges.FieldChanges.ContainsAnyOf(SiteCronFieldIds.LastRunUTC, SiteCronFieldIds.NextRunUTC, SiteCronFieldIds.ExecutionTime))
                {
                    Log.Info("Sitecron - Ignoring Saved Handler due to stats update.", this);
                }
                else
                {
                    ScheduleHelper scheduler = new ScheduleHelper();
                    scheduler.InitializeScheduler();
                }
            }
            else
            {
                try
                {
                    string typeName = Settings.GetSetting(SitecronConstants.SettingsNames.SiteCronSavedHandlerType);
                    if (!string.IsNullOrEmpty(typeName))
                    {
                        Type type = Type.GetType(typeName);
                        if (type != null)
                        {
                            object instance = Activator.CreateInstance(type);
                            if (instance != null && instance is ISavedHandler)
                            {
                                MethodInfo method = type.GetMethod("OnItemSaved");
                                if (method != null)
                                {
                                    method.Invoke(instance, new object[] { sender, args });
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.Error("Sitecron OnItemSaved Custom Type ERROR: " + ex.Message, ex, this);
                }
            }
        }
예제 #2
0
        public void OnItemDeleted(object sender, EventArgs args)
        {
            Item deletedItem = Event.ExtractParameter(args, 0) as Item;

            if (deletedItem != null && SitecronConstants.Templates.SitecronJobTemplateID == deletedItem.TemplateID) //matched Sitecron job template
            {
                ScheduleHelper scheduler = new ScheduleHelper();
                scheduler.InitializeScheduler();
            }
        }
예제 #3
0
        public void OnItemDeleted(object sender, EventArgs args)
        {
            Item deletedItem = Event.ExtractParameter(args, 0) as Item;

            if (deletedItem != null && deletedItem.Database.Name.ToLower() == "master")
            {
                if (deletedItem.TemplateID == ID.Parse("{7F2C8881-6AE4-48CF-A499-7745CC4B2EB2}")) //matched Sitecron job template
                {
                    ScheduleHelper scheduler = new ScheduleHelper();
                    scheduler.InitializeScheduler();
                }
            }
        }
예제 #4
0
        public void OnItemSaved(object sender, EventArgs args)
        {
            Item savedItem = Event.ExtractParameter(args, 0) as Item;

            if (savedItem != null && savedItem.Database.Name.ToLower() == "master")
            {
                if (savedItem.TemplateID == ID.Parse("{7F2C8881-6AE4-48CF-A499-7745CC4B2EB2}")) //matched Sitecron job template
                {
                    ScheduleHelper scheduler = new ScheduleHelper();
                    scheduler.InitializeScheduler();
                }
            }
        }
        public void OnItemSaved(object sender, EventArgs args)
        {
            Item savedItem = null;
            ItemSavedRemoteEventArgs remoteArgs = args as ItemSavedRemoteEventArgs;

            if (remoteArgs != null)
            {
                savedItem = remoteArgs.Item;
            }
            else
            {
                savedItem = Event.ExtractParameter(args, 0) as Item;
            }

            if (savedItem != null && SitecronConstants.Templates.SitecronJobTemplateID == savedItem.TemplateID) //matched Sitecron job template
            {
                ScheduleHelper scheduler = new ScheduleHelper();
                scheduler.InitializeScheduler();
            }
        }