workflow - Enate.Workflow.Activities 7.0.1

This .Net Workflow Activity library allows easy integration with Enate v7 http://www.enate.net and above.

The Activities will perform authentication when necessary and allow a single authentication token to be passed between concurrent calls to improve performance.

All date/time values are passed in UTC.

Usage

Each Enate Activity has a standard set of arguments:

  • PlatformURL String

    This should be set to the URL of your Enate instance, as you would type in a portal to get to the login page. e.g. https://hosting.enate.net/MyInstance

  • Username String

    Any valid Username for your Enate instance. Only required if AuthenticationToken is not set or has expired.

  • Password String

    The current Password for the user account specified in Username. Only required if AuthenticationToken is not set or has expired.

  • AuthenticationToken String

    After an initial call to an Activity has succeeded it's authentication token can be reused if the next call is made within the configured timoeut window. The timeout is configured per customer instance so please check your token validity duration with Enate Support.

    Each successful Activity will output a new AuthenticationToken that resets the timeout window.

GetPacketsInInbox

Returns a list of Packets in the authenticated user's inbox. Each packet is represented by a PacketPublicDTO.

Arguments

  • TestMode Boolean

    True to return only Test Packets, False (default) to return only Live Packets.

GetPacketsInQueue

Returns a list of Packets in a Queue that the authenticated user has access permissions on. Each packet is represented by a PacketPublicDTO.

Arguments

  • QueueName String

    The name of the Queue to return the list of Packets for.

  • TestMode Boolean

    True to return only Test Packets, False (default) to return only Live Packets.

AssignPacketToCurrentUser

Assigns a Packet to the authenticated user so that it appears in their Inbox and they can update fields and complete the current Task.

Arguments

  • PacketGUID GUID

    The unique identifier of the Packet to assign.

  • Note String

    A description of why the Packet was reassigned that is entered into the Audit log.

CompletePacketCurrentTask

Updates the Field values in the Packet and completes the current Task allowing the defined business Process to continue.

Arguments

  • PacketGUID GUID

    The unique identifier of the Packet to assign.

  • FieldsToUpdate Dictionary(String, String)

    A list of fields to update in the Packet where the key is the Field name and the Value is the new value.

Return Objects

PacketPublicDTO

  • GUID GUID

    The unique identifier of the Packet.

  • Reference String

    The reference of the Packet as configured. Unique within a business context but not globally unique.

  • Title String

    The title of the Packet as entered by a User.

  • StartDate Date/Time

    The Date/Time that the Packet was created.

  • DueDate Date/Time

    The Date/Time that the Packet is due to be completed to meet SLAs.

  • CustomerName String

    The name of the Company that the Packet is being run for.

  • ContractName String

    The name of the Contract between the Supplier and Customer that the Packet is being run for.

  • ServiceName String

    The name of the Service that the Packet is running in.

  • ProcessName String

    The name of the business Process that the Packet is running in.

  • QueueName String

    The name of the Queue tha the Packet is currently in.

Sample

<Activity x:Class="TestWorkflow"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:ewa="clr-namespace:Enate.Workflow.Activities;assembly=Enate.Workflow.Activities"
 xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
 xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <x:Members>
    <x:Property Name="latestToken" Type="InOutArgument(x:String)" />
    <x:Property Name="Username" Type="InArgument(x:String)" />
    <x:Property Name="Password" Type="InArgument(x:String)" />
    <x:Property Name="URL" Type="InArgument(x:String)" />
    <x:Property Name="InboxOutput" Type="OutArgument(scg:List(ewa:PacketPublicDTO))" />
    <x:Property Name="QueueOutput" Type="OutArgument(scg:List(ewa:PacketPublicDTO))" />
    <x:Property Name="QueueName" Type="InArgument(x:String)" />
  </x:Members>
  <TextExpression.NamespacesForImplementation>
    <sco:Collection x:TypeArguments="x:String">
      <x:String>System</x:String>
      <x:String>System.Collections.Generic</x:String>
      <x:String>System.Data</x:String>
      <x:String>System.Linq</x:String>
      <x:String>System.Text</x:String>
      <x:String>System.Activities</x:String>
      <x:String>Enate.Workflow.Activities</x:String>
    </sco:Collection>
  </TextExpression.NamespacesForImplementation>
  <TextExpression.ReferencesForImplementation>
    <sco:Collection x:TypeArguments="AssemblyReference">
      <AssemblyReference>mscorlib</AssemblyReference>
      <AssemblyReference>System</AssemblyReference>
      <AssemblyReference>System.Core</AssemblyReference>
      <AssemblyReference>System.Data</AssemblyReference>
      <AssemblyReference>System.ServiceModel</AssemblyReference>
      <AssemblyReference>System.Xml</AssemblyReference>
      <AssemblyReference>System.Activities</AssemblyReference>
      <AssemblyReference>Enate.Workflow.Activities</AssemblyReference>
    </sco:Collection>
  </TextExpression.ReferencesForImplementation>
  <Sequence>
    <ewa:GetPacketsInInbox TestMode="{x:Null}"
                           ExistingAuthenticationToken="[latestToken]"
                           Password="[Password]"
                           PlatformURL="[URL]"
                           Result="[InboxOutput]"
                           Username="[Username]" />
    <ParallelForEach x:TypeArguments="ewa:PacketPublicDTO"
                     DisplayName="Complete all Tickets in the InboxPackets"
                     Values="[InboxOutput]">
      <ActivityAction x:TypeArguments="ewa:PacketPublicDTO">
        <ActivityAction.Argument>
          <DelegateInArgument x:TypeArguments="ewa:PacketPublicDTO" Name="packet" />
        </ActivityAction.Argument>
        <If Condition="[packet.DueDate &lt;&gt; New DateTime(1900, 1, 1)]" DisplayName="If Packet is Running">
          <If.Then>
            <Switch x:TypeArguments="x:String" Expression="[packet.ProcessName]">
              <ewa:CompletePacketCurrentTask x:Key="Ticket"
                                             ExistingAuthenticationToken="[latestToken]"
                                             FieldsToUpdate="[New Dictionary(Of String, String) From
                                                               {
                                                                 {&quot;Ticket Status&quot;,
                                                                  &quot;In progress&quot;}
                                                               }
                                                             ]"
                                             PacketGUID="[packet.GUID]"
                                             Password="[Password]"
                                             PlatformURL="[URL]"
                                             Username="[Username]" />
            </Switch>
          </If.Then>
        </If>
      </ActivityAction>
    </ParallelForEach>
    <ewa:GetPacketsInQueue TestMode="{x:Null}"
                           ExistingAuthenticationToken="[latestToken]"
                           Password="[Password]"
                           PlatformURL="[URL]"
                           QueueName="[QueueName]"
                           Result="[QueueOutput]"
                           Username="[Username]" />
    <ParallelForEach x:TypeArguments="ewa:PacketPublicDTO"
                     DisplayName="Assign all the Queue Packets"
                     Values="[QueueOutput]">
      <ActivityAction x:TypeArguments="ewa:PacketPublicDTO">
        <ActivityAction.Argument>
          <DelegateInArgument x:TypeArguments="ewa:PacketPublicDTO" Name="packet" />
        </ActivityAction.Argument>
        <ewa:AssignPacketToCurrentUser ExistingAuthenticationToken="[latestToken]"
                                       Note="Assigned by Workflow Demo"
                                       PacketGUID="[packet.GUID]"
                                       Password="[Password]"
                                       PlatformURL="[URL]"
                                       Username="[Username]" />
      </ActivityAction>
    </ParallelForEach>
  </Sequence>
</Activity>

PM> Install-Package Enate.Workflow.Activities -Version 7.0.1 -Source https://www.myget.org/F/workflow/api/v3/index.json

Copy to clipboard

> nuget.exe install Enate.Workflow.Activities -Version 7.0.1 -Source https://www.myget.org/F/workflow/api/v3/index.json

Copy to clipboard

> dotnet add package Enate.Workflow.Activities --version 7.0.1 --source https://www.myget.org/F/workflow/api/v3/index.json

Copy to clipboard
<PackageReference Include="Enate.Workflow.Activities" Version="7.0.1" />
Copy to clipboard
source https://www.myget.org/F/workflow/api/v3/index.json

nuget Enate.Workflow.Activities  ~> 7.0.1
Copy to clipboard

> choco install Enate.Workflow.Activities --version 7.0.1 --source https://www.myget.org/F/workflow/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "workflow" -SourceLocation "https://www.myget.org/F/workflow/api/v2"
Install-Module -Name "Enate.Workflow.Activities" -RequiredVersion "7.0.1" -Repository "workflow" 
Copy to clipboard

Improves error handling to return response body in exception details.

Added documentation to NuGet package.

  • Any 0.0
    • Newtonsoft.Json (>= 9.0.1)
    • Nito.AsyncEx (>= 3.0.1)
    • System.Net.Http (>= 4.1.0)
    • System.Net.Http.Formatting.Extension (>= 5.2.3)
  • .NETFramework 4.5.2: 4.5.2.0

Owners

Andrew Teece

Authors

Andrew Teece

Project URL

https://myget.org/feed/workflow/package/nuget/Enate.Workflow.Activities

License

MIT

Tags

Enate workflow integration

Info

1657 total downloads
564 downloads for version 7.0.1
Download (91.59 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
7.0.2 43.74 KB Fri, 01 Sep 2017 10:18:13 GMT 1063
7.0.1 91.59 KB Wed, 02 Nov 2016 16:22:44 GMT 564
7.0.0 78.19 KB Tue, 01 Nov 2016 20:18:18 GMT 30