Есть ли способ подключиться к событию, когда форма архивируется с контуром 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)
{
...
}
}
}