Temporal activities no longer have a generalised extension method
for registering them with a service collecton. It is still static and has
the same rough shape as an extension method. This way it is less
visible and less likely to be called by accident.
Also in-line with changes in this branch, things have been renamed
Timers → Temporal
The project/NuGet package for implementation logic relating to
temporal actions has been renamed:
Elsa.Activities.Timers.Hangfire → Elsa.Activities.Temporal.Hangfire
Elsa.Activities.Timers.Quartz → Elsa.Activities.Temporal.Quartz
Whilst large numbers of C# files are "changed" by this commit,
it's just a straight move to a new path.
The project/NuGet package for common logic relating to
temporal actions has been renamed:
Elsa.Activities.Timers → Elsa.Activities.Temporal.Common
Whilst large numbers of files are "changed" by this commit,
it's just a straight move to a new path.
* Add WorkflowExecutionBurstStarting event to allow for persisting status changes before executing activities that potentially take a long time to finish
* Also persist workflow instance when burst is starting and behavior set to WorkflowPassCompleted
* Trivial - Add VS Code workspace
* Trivial - Add VSCode build task & extra ignore
On GNU/Linux, auto-generated .directory
files should be ignored.
* WIP #485 - Boilerplate for unit test project
* WIP #485 - Add test coverage (Remove/RemoveAll)
* WIP #485 - Implement RemoveAll
* Remove redundant logic, covered by IDictionary
Per the following, the contract for a generic IDictionary,
the Remove method already deals with non-existent keys.
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.idictionary-2.remove?view=net-5.0#System_Collections_Generic_IDictionary_2_Remove__0_
* Resolve#485 - Add PurgeVariables methods
These are convenience methods upon ActivityExecutionContext
and WorkflowExecutionContext, consistent with their current APIs.
Also in this commit are tests for those simple methods.
There's a bit of test-scaffold as well included, such as:
* Autofixture Xunit2 integration
* New project for unit tests
* Customize attribute for avoiding crashes on Autofixture recursion
* Reusable specimen builder for creating IServiceProvider which
resolves services from Autofixture
* Custonize attribute for a parameter to use that ^^ specimen builder