Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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

    Codeblock
    languagec#
    titleC# Aktivität
    linenumberstrue
    collapsetrue
    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.

    Codeblocklanguagec#title

    C# Designer - Codebehind

    linenumbers
    Codeblock
    true
    languagecollapsetruec#
             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);
            }