BusinessProcessActivity Property

Determines the main activity to be performed in this BusinessProcess

Definition

Namespace: Firefly.Box
Assembly: Firefly.Box (in Firefly.Box.dll) Version: debug-master-v:33791
C#
public Activities Activity { get; set; }

Property Value

Activities

Implements

ITaskActivity

Remarks

Allowed values
Activityoperation
UpdateThe default. Iterate the existing rows
DeleteDeletes each row that matches the Where
InsertCreates new row for each cycle, disregarding the Where
BrowseHas no meaning in a BusinessProcess - will operate the same as Update

Example

This examples demonstrates the usage of Activity property in a BusinessProcess
This example is in the form of Unit Tests. It references the NUnit framework. This framework can be downloaded from www.NUnit.org. For more information about unit testing visit: www.NUnit.org.
This example is based on test data. The code for the entities included in this test data can be found in the documentation of Entity
C#
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using Firefly.Box;
using Firefly.Box.Testing;

namespace TestFirefly.Box.Documentation
{
    [TestFixture]
    public class DemoBusinessProcess
    {
        [Test]
        public void IterateAllRows()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();// Insert test data to the table

            var bp = new BusinessProcess
                         {
                             From = employees,
                             Activity = Activities.Update // The default activity
                         };
            int numberOfEmployeesWithoutMiddleInitials = 0;
            bp.ForEachRow(() =>
                              {
                                  if (employees.MiddleInitial == "")
                                      numberOfEmployeesWithoutMiddleInitials++;
                              });
            numberOfEmployeesWithoutMiddleInitials.ShouldBe(10);//Checks that there are 10 employees in the test data without a middle initial
        }
        [Test]
        public void DeleteEmployeesWithJob5()
        {

            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();// Insert test data to the table
            employees.CountRows().ShouldBe(43);// Verifies that the test data has 43 rows

            var bp = new BusinessProcess
                         {
                             From = employees,
                             Activity = Activities.Delete
                         };
            bp.Where.Add(employees.JobId.IsEqualTo(5));
            bp.Run();

            employees.CountRows().ShouldBe(36);// Verifies that after the delete, only 36 rows remain
        }
        [Test]
        public void InsertAnEmployee()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();// Insert test data to the table
            employees.CountRows().ShouldBe(43); // Verifies that the test data has 43 rows

            var bp = new BusinessProcess
                         {
                             From = employees,
                             Activity = Activities.Insert
                         };
            bp.ForFirstRow(() =>
                               {
                                   employees.Id.Value = "ID-1234";
                                   employees.FirstName.Value = "John";
                                   employees.LastName.Value = "Doe";
                               });
            employees.CountRows().ShouldBe(44);// Verifies that after the insert, there are 44 rows in the test data
        }
    }
}

See Also