Ihre Aktivität sollte von einer der folgenden Basisklassen implementieren :
- CodeActivity
- NativeActivity
- AsyncCodeActivity
Beispiel "Skeleton" für eine CodeActivity:
Wichtigste Eigenschaften:
- InArgumente: Eingehende Argumente
- OutArgumente : Ausgehende Argumente
- CacheMetadata(CodeActivityMetadata): Validierung zur Design Zeit
- Execute(CodeActivityContext): Implementierung der Aktivität
Codeblock | ||||
---|---|---|---|---|
| ||||
using System; using System.Activities; using Accantum.Wms.ActivityContracts.Attributes; namespace CodeActivity { public class HelloworldActivity: CodeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität" } // InArgumente public InArgument<string> Text{ get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(CodeActivityMetadata a_oMetadata) { if (CodeActivityArgument?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } // Methode die aufgerufen wird, wenn die Aktivität ausgeführt wird. protected override void Execute(CodeActivityContext a_oContext) { // TODO } } } |
Beispiel für eine AsyncCodeActivity:
Codeblock | ||||
---|---|---|---|---|
| ||||
using System;
using System.Activities;
using Accantum.Wms.ActivityContracts.Attributes;
namespace CodeActivity
{
public class HelloworldActivity: AsyncCodeActivity
{
public HelloworldActivity()
{
DisplayName = "Hello-World Aktivität"
}
// InArgumente
public InArgument<string> Text{ get; set; }
// OutArgumente
public OutArgument<string> Result { get; set; }
// Optional: Validierung zur Design Time
protected override void CacheMetadata(CodeActivityMetadata a_oMetadata)
{
if (CodeActivityArgument?.Expression == null)
a_oMetadata.AddValidationError("Geben Sie etwas ein");
}
protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback,
object state)
{
// TODO
}
protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
{
// TODO
}
}
} |
Beispiel für eine NativeActivity: