Есть ли способ подключиться к событию, когда форма архивируется с контуром Umbraco? Используете Umbraco 4.7.2 и Umbraco Contour 1.12?

Я пытаюсь создать функцию, с помощью которой я могу отслеживать, когда форма архивируется при использовании Umbraco Contour. Обычно в кодовой базе Umbraco есть ряд событий, которые я могу подключить. Однако я не вижу здесь одного.

Другая идея состояла в том, чтобы иметь триггер или что-то в базе данных, но хотел посмотреть, есть ли решение для этого подхода только с помощью кода.

1 ответ

Решение

Насколько я знаю, при архивировании формы не возникает никакого конкретного события, но вы можете попробовать подписаться на FormStorage.FormUpdated событие и оттуда проверьте, заархивирована ли форма, затем выполните ваш код:

using System;
using umbraco.BusinessLogic;
using Umbraco.Forms.Core;
using Umbraco.Forms.Data.Storage;

public class FormArchiveListener : ApplicationBase
{
    public FormArchiveListener()
    {
        FormStorage.FormUpdated += new EventHandler<FormEventArgs>(FormStorage_FormUpdated);
    }

    void FormStorage_FormUpdated(object sender, FormEventArgs e)
    {
        FormStorage storage = (FormStorage) sender;

        if (e.Form.Archived)
        {
            ...
        }
    }
}
Другие вопросы по тегам