Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Nächste Version anzeigen »

Bei komplexen Typen kann es für den Anwender nützlich sein, wenn die Aktivität automatisch eine Variable dazu anlegt. So muss der Anwender den Typ (den er erst einmal nicht kennt) nicht umständlich über das "Typ suchen"-Fenster suchen.

Gehen Sie wie folgt vor, wenn Ihre Aktivität eine Variable automatisch anlegen soll:

  1. Die Aktivität muss das Interface " Accantum.Wms.ActivityContracts.IAutoCreateVariables"  implementieren
    (so wird gespeichert, ob die Variable bereits erstellt wurde)

    C# Aktivität

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


  2. Die Variable selbst wird im Designer erzeugt. Überschreiben Sie dazu die Methode "OnModelItemChanged" dens ActivityDesigners in der CodeBehind.

    C# Designer - Codebehind

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


  • Keine Stichwörter