...
Gehen Sie wie folgt vor, wenn Ihre Aktivität eine Variable automatisch anlegen soll:
Die Aktivität muss das Interface " Accantum.Wms.ActivityContracts.IAutoCreateVariables" implementieren
(so wird gespeichert, ob die Variable bereits erstellt wurde)C# Aktivität
Codeblock language c# title C# Aktivität linenumbers true collapse true public class MyActivity : WmsCodeActivity, IAutoCreateVariables { /// <summary> ///Kennzeichen, ob durch die Aktivität bereits automatisch eine Variable angelegt wurde (<see cref="IAutoCreateVariables"/>) /// </summary> [Browsable(false)] [ExcludeInAnnotation] public bool VariableCreated { get; set; } public OutArgument<List<WmsFileInfo>> MyActivityResult { get; set; }
Die Variable selbst wird im Designer erzeugt. Überschreiben Sie dazu die Methode "OnModelItemChanged" dens ActivityDesigners in der CodeBehind.
Codeblock titlelanguage c# C# Designer - Codebehind
linenumbers
Codeblock true language collapse truec# protected override void OnModelItemChanged(OnModelItemChanged(object newItem) { //Eigenschaft finden, der die Variabel zugewiesen werden soll: ModelProperty oResultProp = ModelItem.Properties[nameof(MyActivity.MyActivityResult]; //Methode aus der WmsActivityContracts (Namespace "Accantum.Wms.ActivityContracts.Utils") aufrufen, Typ und Name der Variable angeben ModelItem.AddVariableAndAssignByType(oResultProp, new Variable<List<WmsFileInfo>>("aoFileInfos")); base.OnModelItemChanged(newItem); }