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;
}


