У меня есть список с несколькими элементами.Я не хочу, чтобы пользователь удалял список, когда есть элементы с запущенными рабочими процессами.Я пытаюсь избежать потерянных рабочих процессов и получить больше контроля над тем, что пользователь может делать с данными в списках.
Я уже реализовал часть, которая запрещает пользователю удалять один элемент с запущеннымрабочий процесс путем реализации ItemDeleting
/// <summary>
/// Synchronous before event that occurs before an existing item is completely deleted.
/// Business logic related to deleting items. Checks if there are any problems with deleting the list item.
/// If there are any problems with deleting then the event will be cancelled with an error message. Otherwise deletion is allowed
/// </summary>
/// <param name="properties">
/// A Microsoft.SharePoint.SPItemEventProperties object that represents properties of the event handler.
/// </param>
public override void ItemDeleting(SPItemEventProperties properties)
{
SPListItem listItem = properties.ListItem;
foreach (SPWorkflow workflow in listItem.Workflows)
{
if (workflow.InternalState == SPWorkflowState.Running)
{
properties.Cancel = true;
properties.ErrorMessage = "It is not allowed to delete items with running workflows. Complete them before deleting";
}
}
}
Теперь я хочу сделать то же самое с самим списком, но нет SPEventReceiverType для выполнения моей задачи.Я немного погуглил, но не повезло.
Кто-нибудь делал это для Sharepoint 2007?