Skip to content

Commit 9b91af3

Browse files
author
Jani Giannoudis
committed
actions Min, Max, Range, Contains: support for time range
new action `Within`: test if a value is within a range new action `GetTimeSpan`: duration between two dates new action `YearDiff`: calculate years between two dates new action `Age`: calculate age new actions `SameYear`, `SameMonth`, `SameDay`: test for equal dates action value: added timespan/year/month/day properties action value: added methods to add and subtract year/month/day/timespan payroll function: added properties year/month/day for cycle/period start and end date updated version to 0.9.0-beta.15
1 parent 2e51b0c commit 9b91af3

11 files changed

+792
-172
lines changed

Client.Scripting.Tests/PayrollEngine.Client.Scripting.Tests.csproj

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
12-
<PackageReference Include="xunit" Version="2.9.3" />
13-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
14-
<PrivateAssets>all</PrivateAssets>
15-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16-
</PackageReference>
12+
<PackageReference Include="xunit.v3" Version="3.2.2" />
1713
</ItemGroup>
1814

1915
<ItemGroup>

Client.Scripting/ClientScript.cs

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ public ActionIssueAttribute(string name, string message, int parameterCount)
432432

433433
/// <summary>Attribute for action</summary>
434434
[AttributeUsage(AttributeTargets.Method)]
435-
public abstract class ActionAttribute : Attribute
435+
public class ActionAttribute : Attribute
436436
{
437437
/// <summary>The action name</summary>
438438
public string Name { get; }
@@ -447,7 +447,7 @@ public abstract class ActionAttribute : Attribute
447447
/// <param name="name">The action name</param>
448448
/// <param name="description">The action description</param>
449449
/// <param name="categories">The action categories</param>
450-
protected ActionAttribute(string name, string description = null, params string[] categories)
450+
public ActionAttribute(string name, string description = null, params string[] categories)
451451
{
452452
if (string.IsNullOrWhiteSpace(name))
453453
{
@@ -459,12 +459,19 @@ protected ActionAttribute(string name, string description = null, params string[
459459
}
460460
}
461461

462+
/// <summary>Attribute for payroll action</summary>
463+
/// <param name="name">The action name</param>
464+
/// <param name="description">The action description</param>
465+
/// <param name="categories">The action categories</param>
466+
public class PayrollActionAttribute(string name, string description = null, params string[] categories) :
467+
ActionAttribute(name, description, categories);
468+
462469
/// <summary>Attribute for case action</summary>
463470
/// <param name="name">The action name</param>
464471
/// <param name="description">The action description</param>
465472
/// <param name="categories">The action categories</param>
466473
public class CaseActionAttribute(string name, string description = null, params string[] categories) :
467-
ActionAttribute(name, description, categories);
474+
PayrollActionAttribute(name, description, categories);
468475

469476
/// <summary>Attribute for case available action</summary>
470477
/// <param name="name">The action name</param>
@@ -478,7 +485,7 @@ public sealed class CaseAvailableActionAttribute(string name, string description
478485
/// <param name="description">The action description</param>
479486
/// <param name="categories">The action categories</param>
480487
public class CaseChangeActionAttribute(string name, string description = null, params string[] categories) :
481-
ActionAttribute(name, description, categories);
488+
PayrollActionAttribute(name, description, categories);
482489

483490
/// <summary>Attribute for case build action</summary>
484491
/// <param name="name">The action name</param>
@@ -501,7 +508,7 @@ public sealed class CaseValidateActionAttribute(string name, string description
501508
/// <param name="description">The action description</param>
502509
/// <param name="categories">The action categories</param>
503510
public class CaseRelationActionAttribute(string name, string description = null, params string[] categories) :
504-
ActionAttribute(name, description, categories);
511+
PayrollActionAttribute(name, description, categories);
505512

506513
/// <summary>Attribute for case relation build action</summary>
507514
/// <param name="name">The action name</param>
@@ -519,12 +526,19 @@ public sealed class CaseRelationBuildActionAttribute(string name, string descrip
519526
public sealed class CaseRelationValidateActionAttribute(string name, string description = null, params string[] categories) :
520527
CaseRelationActionAttribute(name, description, categories);
521528

529+
/// <summary>Attribute for payrun action</summary>
530+
/// <param name="name">The action name</param>
531+
/// <param name="description">The action description</param>
532+
/// <param name="categories">The action categories</param>
533+
public class PayrunActionAttribute(string name, string description = null, params string[] categories) :
534+
PayrollActionAttribute(name, description, categories);
535+
522536
/// <summary>Attribute for collector action</summary>
523537
/// <param name="name">The action name</param>
524538
/// <param name="description">The action description</param>
525539
/// <param name="categories">The action categories</param>
526540
public class CollectorActionAttribute(string name, string description = null, params string[] categories) :
527-
ActionAttribute(name, description, categories);
541+
PayrunActionAttribute(name, description, categories);
528542

529543
/// <summary>Attribute for collector start action</summary>
530544
/// <param name="name">The action name</param>
@@ -552,7 +566,7 @@ public sealed class CollectorEndActionAttribute(string name, string description
552566
/// <param name="description">The action description</param>
553567
/// <param name="categories">The action categories</param>
554568
public class WageTypeActionAttribute(string name, string description = null, params string[] categories) :
555-
ActionAttribute(name, description, categories);
569+
PayrunActionAttribute(name, description, categories);
556570

557571
/// <summary>Attribute for wage type value action</summary>
558572
/// <param name="name">The action name</param>

0 commit comments

Comments
 (0)