Exemplo n.º 1
0
        /// <summary>
        /// Called when the item has deleted.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The arguments.</param>
        public void OnItemDeletedRemote(object sender, EventArgs args)
        {
            if (!Configuration.Enabled || args == null)
            {
                return;
            }

            var eventArgs = args as Data.Events.ItemDeletedRemoteEventArgs;

            Assert.IsNotNull(eventArgs, "ItemSavedRemoteEventArgs is null");

            var item = eventArgs.Item;

            Assert.IsNotNull(item, "No item in parameters");

            if (item.Database.Name != Configuration.Database)
            {
                return;
            }

            if (item.TemplateID == Multisite.TemplateId)
            {
                RedirectProcessor.RebuildMultisites();
                RedirectProcessor.CreateListOfRedirectsInThread();
                return;
            }

            if (!CheckTemplate(item))
            {
                return;
            }

            RedirectProcessor.RemoveRedirectInThread(item);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Called when the item has deleted.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The arguments.</param>
        public void OnItemDeleted(object sender, EventArgs args)
        {
            if (!Configuration.Enabled || args == null)
            {
                return;
            }

            var item = Event.ExtractParameter(args, 0) as Item;

            Assert.IsNotNull(item, "No item in parameters");
            if (item.Database.Name != Configuration.Database)
            {
                return;
            }

            if (item.TemplateID == Multisite.TemplateId)
            {
                RedirectProcessor.RebuildMultisites();
                RedirectProcessor.CreateListOfRedirectsInThread();
                return;
            }

            if (!CheckTemplate(item))
            {
                return;
            }

            RedirectProcessor.RemoveRedirectInThread(item);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Called when the item has saved.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The arguments.</param>
        public void OnItemSavedRemote(object sender, EventArgs args)
        {
            if (!Configuration.Enabled || args == null)
            {
                return;
            }

            var eventArgs = args as Data.Events.ItemSavedRemoteEventArgs;

            Assert.IsNotNull(eventArgs, "ItemSavedRemoteEventArgs is null");

            var item = eventArgs.Item;

            Assert.IsNotNull(item, "No item in parameters");
            if (item.Database.Name != Configuration.Database)
            {
                return;
            }

            if (item.ID.ToString() == Items.ItemIDs.RedirectsFolderItem)
            {
                RedirectProcessor.CreateListOfRedirectsInThread();
            }

            if (item.TemplateID == Multisite.TemplateId)
            {
                RedirectProcessor.RebuildMultisites();
                RedirectProcessor.CreateListOfRedirectsInThread();
                return;
            }

            if (!CheckTemplate(item))
            {
                return;
            }

            var changes = eventArgs.Changes;

            if (changes != null)
            {
                if (changes.FieldChanges.Contains(Settings.LastUseFieldId))
                {
                    return;
                }
            }

            //if (Configuration.RebuildRedirectsList)
            //{
            RedirectProcessor.CreateListOfRedirectsInThread();
            //}
            //else
            {
                //RedirectProcessor.UpdateRedirectInThread(item);
            }
        }