Um eine Ribbon bar Aktion auf alle selektierten Datensätze mit Hilfe eines Hintegrundprozesses zu implementieren, kann man auf die Implementierung eines eigenen Igniters verzichten. Die Aktion implementiert stattdessen das Interface IIgnitableAction
und der Worker IIgnitableWorkItem
public class ClientActionContactsChangeAssignedTo : ClientActionGridMassOperationBase, IIgnitableAction
In dem Fall kann der Igniter OperationFromActionOverSelectedRecordsIgniter
verwendet werden.
MassOperationIgniter = typeof(OperationFromActionOverSelectedRecordsIgniter).AssemblyQualifiedName;
Interface Implementierung
Es müssen eine Reihe von Eigenschaften implementiert werden.
string MessageOnSuccess { get; set; }
string MessageOnError { get; set; }
string MessageOnStart { get; set; }
string ProgressBarProcessName { get; set; }
string ProgressBarProcessDescription { get; set; }
string Caption { get; }
Eine Methode, die den Typ des entsprechenden Workers liefert.
public Type GetWorkItemType()
{
return typeof(MyWorkerTask);
}
In der Methode Ignite
kann man beispielsweise dem instanziierten Worker weitere Parameter mitgeben.
public void Ignite(IIgnitableWorkItem task, Guid tempKey, Guid? taskExecutionId, Dictionary<string, object> parameters, JsonFormResult result)
{
MyWorkerTask myTask = (MyWorkerTask)task;
myTask.MyParameter = myParameter;
}