BooleanArray Method Call


BooleanArray Method Call

Table of Contents

A BooleanArray Method Call is a Complex Method Call that returns a BooleanArray.

Code Example

The example exists of an Operation and a Form. In the operation the Entity Collection(s) and Dataview(s) are defined. The definitions of Lists and Method Call(s) for composing the data, based on input from the user, are also defined in the Forms.

Code example Operation

protected override IForm CreateStartupForm()
{
   return new BooleanArrayMethodCallDemoFrm(this);
}

public IEntityCollection<BooleanArrayMethodCallDemoEntity> BooleanArray
{
   get { return Property(() => new VolatileTable("boolean array").Select<BooleanArrayMethodCallDemoEntity>().All()); }
}

public IDataView<BooleanArrayMethodCallDemoEntity> BooleanArrayView
{
   get { return Property(() => BooleanArray.ToView()); }
}

public IEntityCollection<ArticleEntity> Articles
{
    get { return Property(() => Db.Article.Select<ArticleEntity>().All()); }
}

 

Explanation Code example Operation

  1. Lines 1-4: Definition of the Form (see code of the Form below).
  2. Lines 6-9: Definition of a Volatile Table. We fill this in the Form (below).
  3. Lines 11-14: Definition of the View, which is used to display the data in the Form.
  4. Lines 8 and 11: The necessary BooleanArrayMethodCallDemoEntity is defined elsewhere. Type 'Volatile Table' in the Search box to read more about the working of the Volatile Table.
  5. This BooleanArrayMethodCallDemoEntity is also used in the Form below, on line 14.
  6. Lines 16-19: We also need articles for this Code example.

Note: In this example, a Volatile Table is used. It is also possible to make a BooleanArray based on a Database Table.


Code example Form

public BooleanArrayMethodCallDemoFrm(BooleanArrayMethodCallDemoOp operation) : base(operation)
{

}

protected override IUIElement CreateGui()
{
   return new VBox
   {
       new HBox
       {
           new GroupBox("example",2, alignV:AlignV.Top)
           {
               new DataGrid<BooleanArrayMethodCallDemoEntity>(Operation.BooleanArrayView, showColumnHeaders:false)
               {
                   e => new CheckColumn(e.Value)
               }
           }
       },

       new HBox(alignH:AlignH.Fill)
       {
           new Button(GetBooleanArray()),
           EmptySpace.FillH,
           new Button(Close())
       }
   };
}

private BooleanArray ComposeBooleanArray()
{
   return Method(() =>
   {
       return new Body
       {
           new Return(new BooleanArray(Operation.Articles.Select(f => f.Active).ToBooleanArray()))
       };
   });
}

private IMethodCall GetBooleanArray()
{
   return Method(() =>
   {
       var newArrayItem = Operation.BooleanArray.CreateItemReference();
       return new Body
       {
           Operation.BooleanArray.DeleteAll(),
           array.Assign(ComposeBooleanArray()),
           array.Foreach(arrayItem => new Body
           {
               newArrayItem.Assign(Operation.BooleanArray.New()),
               newArrayItem.Value.Assign(arrayItem)
           })
       };

   })
   .SetWorkDescription("get boolean array")
   .SetImage(WikiImages.Directory)
   .Call();
}

 

Warning:

All Method Calls and Complex Method Calls need a new Return(). They are like C# functions that need a return type.
The exception is an IMethodCall. In C# this is like a void method.


Explanation Code example Form

Example of the result

A form like the one defined above, could look like this.

When starting the application:

 

After clicking the button:

 

 

 

 



Article ID: 439
Created: Fri, Mar 27, 2020
Last Updated: Tue, Mar 31, 2020

Online URL: https://wiki-ai-framework.abstract-it.nl/article/booleanarray-method-call-439.html