Exemplo n.º 1
0
        public void OnItemSaved(object sender, EventArgs args)
        {
            Item savedItem = null;
            ItemSavedRemoteEventArgs remoteArgs = args as ItemSavedRemoteEventArgs;
            ItemChanges savedItemChanges        = null;

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

            if (savedItem != null && TemplateManager.IsFieldPartOfTemplate(SitecronConstants.SiteCronFieldIds.CronExpression, savedItem) && !StandardValuesManager.IsStandardValuesHolder(savedItem))
            {
                if (savedItemChanges != null && !savedItemChanges.FieldChanges.ContainsAnyOf(SiteCronFieldIds.LastRunUTC, SiteCronFieldIds.NextRunUTC, SiteCronFieldIds.ExecutionTime, SiteCronFieldIds.LastRunLog) && !_inProcess.Contains(savedItem.ID))
                {
                    _inProcess.Add(savedItem.ID);
                    Log.Info($"SiteCron based Item Saved/Created, reloading Jobs. {savedItem.Name} - {savedItem.ID.ToString()}", this);
                    _scheduleManager.ScheduleAllJobs();
                    _inProcess.Remove(savedItem.ID);
                }
                else
                {
                    Log.Info("SiteCron - Ignoring Saved Handler due to stats update.", this);
                }
            }
            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);
                }
            }
        }
Exemplo n.º 2
0
        public void OnItemSaving(object sender, EventArgs args)
        {
            Item savingItem = null;
            ItemSavedRemoteEventArgs remoteArgs = args as ItemSavedRemoteEventArgs;

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

            if (savingItem != null && TemplateManager.IsFieldPartOfTemplate(SitecronConstants.SiteCronFieldIds.CronExpression, savingItem) && !StandardValuesManager.IsStandardValuesHolder(savingItem))
            {
                string appendText = "";
                string icon       = "";
                if (savingItem.Fields[SitecronConstants.FieldNames.Disable].Value == "1")
                {
                    appendText = " _DISABLED_";
                    icon       = "Applications/32x32/gears_stop.png";
                }
                else
                {
                    icon = "Applications/32x32/gears.png";
                }

                savingItem.Appearance.Icon        = icon;
                savingItem.Appearance.DisplayName = string.Concat(savingItem.Name, appendText);
            }
        }
Exemplo n.º 3
0
        public void OnItemSaving(object sender, EventArgs args)
        {
            Item savingItem = null;
            ItemSavedRemoteEventArgs remoteArgs = args as ItemSavedRemoteEventArgs;

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

            if (savingItem != null && SitecronConstants.Templates.SitecronJobTemplateID == savingItem.TemplateID) //matched Sitecron job template
            {
                string appendText = "";
                string icon       = "";
                if (savingItem.Fields[SitecronConstants.FieldNames.Disable].Value == "1")
                {
                    appendText = " _DISABLED_";
                    icon       = "Applications/32x32/gears_stop.png";
                }
                else
                {
                    icon = "Applications/32x32/gears.png";
                }

                savingItem.Appearance.Icon        = icon;
                savingItem.Appearance.DisplayName = string.Concat(savingItem.Name, appendText);
            }
        }
Exemplo n.º 4
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);
                }
            }
        }
Exemplo n.º 5
0
 private void DataEngine_SavedItemRemote(object sender, ItemSavedRemoteEventArgs e)
 {
     if (e.Changes.HasFieldsChanged)
     {
         foreach (FieldChange change in e.Changes.FieldChanges)
         {
             Cache.RemoveItemField(e.Item, change.FieldID);
         }
     }
 }
        public void OnItemSavedRemote(object sender, EventArgs args)
        {
            Assert.ArgumentNotNull(sender, "sender");
            Assert.ArgumentNotNull(args, "args");
            ItemSavedRemoteEventArgs itemSavedRemoteEventArg = args as ItemSavedRemoteEventArgs;

            if (itemSavedRemoteEventArg == null || itemSavedRemoteEventArg.Item == null || !itemSavedRemoteEventArg.Item.TemplateID.Equals(Sitecore.Scientist.Feature.Redirects.Templates.RedirectMap.ID))
            {
                return;
            }
            this.ClearCache(sender, args);
        }
        /// <summary>
        /// Remote event handler to re-load configured publish exclusions, when publish exclusions is saved
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="args">event arguments</param>
        public virtual void OnItemSavedRemote(object sender, EventArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (!ShouldExecuteEventHandlers(args))
            {
                return;
            }

            ItemSavedRemoteEventArgs saveEventArgs = args as ItemSavedRemoteEventArgs;
            Item contextItem = saveEventArgs.Item as Item;

            ReinitializeRepository(contextItem);
        }
        public void OnItemSavedRemote(object sender, EventArgs args)
        {
            Assert.ArgumentNotNull(sender, "sender");
            Assert.ArgumentNotNull(args, "args");
            ItemSavedRemoteEventArgs itemSavedRemoteEventArg = args as ItemSavedRemoteEventArgs;

            if (itemSavedRemoteEventArg == null || itemSavedRemoteEventArg.Item == null)
            {
                return;
            }

            if (IsCustomRedirectItems(itemSavedRemoteEventArg.Item.TemplateID))
            {
                this.ClearCache(sender, args);
            }
        }
        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();
            }
        }
 private void DataEngine_SavedItemRemote(object sender, ItemSavedRemoteEventArgs e)
 {
     if (e.Changes.HasFieldsChanged)
     {
         foreach (FieldChange change in e.Changes.FieldChanges)
         {
             Cache.RemoveItemField(e.Item, change.FieldID);
         }
     }
 }
 private void DataEngineSavedItemRemote(object sender, ItemSavedRemoteEventArgs e)
 {
     ProcessItemUpdate(e.Item);
 }
 private void DataEngineSavedItemRemote(object sender, ItemSavedRemoteEventArgs e)
 {
     ProcessItemUpdate(e.Item);
 }