diff --git a/src/activities/Elsa.Activities.Console/Activities/ReadLine/ReadLine.cs b/src/activities/Elsa.Activities.Console/Activities/ReadLine/ReadLine.cs
index 8a02f5e26..a441f0956 100644
--- a/src/activities/Elsa.Activities.Console/Activities/ReadLine/ReadLine.cs
+++ b/src/activities/Elsa.Activities.Console/Activities/ReadLine/ReadLine.cs
@@ -1,4 +1,4 @@
-using System.IO;
+using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Elsa.ActivityResults;
@@ -16,15 +16,13 @@ namespace Elsa.Activities.Console
Category = "Console",
Description = "Read text from standard in.",
Icon = "fas fa-terminal",
- RuntimeDescription =
- "a => !!a.state.variableName ? `Read text from standard in and store into ${ a.state.variableName }.` : 'Read text from standard in.'",
Outcomes = new[] { OutcomeNames.Done }
)]
public class ReadLine : Activity
{
private readonly TextReader? _input;
- public ReadLine()
+ public ReadLine() : this(System.Console.In)
{
}
diff --git a/src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs b/src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs
index 764f06862..a3532b495 100644
--- a/src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs
+++ b/src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs
@@ -14,7 +14,7 @@ namespace Microsoft.Extensions.DependencyInjection
public static IServiceCollection AddDropbox(this IServiceCollection services, Action>? options = null) =>
services
.AddDropboxServices(options)
- .AddActivity();
+ .AddDropboxActivities();
public static IServiceCollection AddDropboxServices(this IServiceCollection services, Action>? options = null)
{
diff --git a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs
index 225fabc32..3700f0070 100644
--- a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs
+++ b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmail.cs
@@ -1,12 +1,10 @@
using System.Threading;
using System.Threading.Tasks;
-using Elsa.Activities.Email.Options;
using Elsa.Activities.Email.Services;
using Elsa.ActivityResults;
using Elsa.Attributes;
using Elsa.Services;
using Elsa.Services.Models;
-using Microsoft.Extensions.Options;
using MimeKit;
using MimeKit.Text;
@@ -17,12 +15,10 @@ namespace Elsa.Activities.Email
public class SendEmail : Activity
{
private readonly ISmtpService _smtpService;
- private readonly IOptions _options;
- public SendEmail(ISmtpService smtpService, IOptions options)
+ public SendEmail(ISmtpService smtpService)
{
_smtpService = smtpService;
- _options = options;
}
[ActivityProperty(Hint = "The sender's email address.")]
diff --git a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailBuilderExtensions.cs b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailBuilderExtensions.cs
index 3b5556750..cee2cb34d 100644
--- a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailBuilderExtensions.cs
+++ b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailBuilderExtensions.cs
@@ -1,9 +1,8 @@
using System;
-using Elsa.Activities.Email;
using Elsa.Builders;
// ReSharper disable once CheckNamespace
-namespace Elsa.Activities.Http
+namespace Elsa.Activities.Email
{
public static class SendEmailBuilderExtensions
{
diff --git a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailExtensions.cs b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailExtensions.cs
index cc09b28b2..8f5dac9c5 100644
--- a/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailExtensions.cs
+++ b/src/activities/Elsa.Activities.Email/Activities/SendEmail/SendEmailExtensions.cs
@@ -1,10 +1,9 @@
using System;
-using Elsa.Activities.Email;
using Elsa.Builders;
using Elsa.Services.Models;
// ReSharper disable once CheckNamespace
-namespace Elsa.Activities.Http
+namespace Elsa.Activities.Email
{
public static class SendEmailExtensions
{
diff --git a/src/activities/Elsa.Activities.Email/Extensions/ServiceCollectionExtensions.cs b/src/activities/Elsa.Activities.Email/Extensions/ServiceCollectionExtensions.cs
index c37739267..e678ce601 100644
--- a/src/activities/Elsa.Activities.Email/Extensions/ServiceCollectionExtensions.cs
+++ b/src/activities/Elsa.Activities.Email/Extensions/ServiceCollectionExtensions.cs
@@ -20,7 +20,6 @@ namespace Microsoft.Extensions.DependencyInjection
options?.Invoke(optionsBuilder);
return services
- .AddOptions()
.AddSingleton();
}
diff --git a/src/activities/Elsa.Activities.Http/Activities/Redirect/Redirect.cs b/src/activities/Elsa.Activities.Http/Activities/Redirect/Redirect.cs
index ce85f71e4..237e0edf1 100644
--- a/src/activities/Elsa.Activities.Http/Activities/Redirect/Redirect.cs
+++ b/src/activities/Elsa.Activities.Http/Activities/Redirect/Redirect.cs
@@ -1,6 +1,4 @@
using System;
-using System.Threading;
-using System.Threading.Tasks;
using Elsa.Activities.Http.Results;
using Elsa.ActivityResults;
using Elsa.Attributes;
@@ -36,7 +34,7 @@ namespace Elsa.Activities.Http
[ActivityProperty(Hint = "Whether or not the redirect is permanent (HTTP 301).")]
public bool Permanent { get; set; }
- protected override async ValueTask OnExecuteAsync(ActivityExecutionContext context, CancellationToken cancellationToken)
+ protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context)
{
var response = _httpContextAccessor.HttpContext.Response;
diff --git a/src/activities/Elsa.Activities.Http/Activities/SendHttpRequest/SendHttpRequest.cs b/src/activities/Elsa.Activities.Http/Activities/SendHttpRequest/SendHttpRequest.cs
index 4c1a815aa..9d608f9c7 100644
--- a/src/activities/Elsa.Activities.Http/Activities/SendHttpRequest/SendHttpRequest.cs
+++ b/src/activities/Elsa.Activities.Http/Activities/SendHttpRequest/SendHttpRequest.cs
@@ -167,7 +167,7 @@ namespace Elsa.Activities.Http
private static bool GetMethodSupportsBody(string method)
{
- var methods = new[] { "POST", "PUT", "PATCH" };
+ var methods = new[] { "POST", "PUT", "PATCH", "DELETE" };
return methods.Contains(method, StringComparer.InvariantCultureIgnoreCase);
}
}
diff --git a/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs b/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs
index 7e5468320..86a731d8c 100644
--- a/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs
+++ b/src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse/WriteHttpResponse.cs
@@ -31,7 +31,7 @@ namespace Elsa.Activities.Http
_httpContextAccessor = httpContextAccessor;
}
- public IStringLocalizer T { get; }
+ private IStringLocalizer T { get; }
///
/// The HTTP status code to return.
diff --git a/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs b/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs
index 48621ca8e..9bec772f8 100644
--- a/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs
+++ b/src/activities/Elsa.Activities.Http/Models/HttpResponseModel.cs
@@ -5,10 +5,6 @@ namespace Elsa.Activities.Http.Models
{
public class HttpResponseModel
{
- public HttpResponseModel()
- {
- }
-
public HttpStatusCode StatusCode { get; set; }
public Dictionary Headers { get; set; } = new Dictionary();
public object Content { get; set; }
diff --git a/src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs b/src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs
index a3f65076f..f3e8b4613 100644
--- a/src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs
+++ b/src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs
@@ -24,9 +24,7 @@ namespace Elsa.Activities.MassTransit
/// the conversation and correlation id.
///
protected IPublishEndpoint PublishEndpoint =>
- _consumeContext != null
- ? (IPublishEndpoint)_consumeContext
- : (IPublishEndpoint)_bus;
+ _consumeContext ?? (IPublishEndpoint)_bus;
///
/// Gets the send endpoint provider to use.
@@ -36,9 +34,7 @@ namespace Elsa.Activities.MassTransit
/// the conversation and correlation id.
///
protected ISendEndpointProvider SendEndpointProvider =>
- _consumeContext != null
- ? (ISendEndpointProvider)_consumeContext
- : (ISendEndpointProvider)_bus;
+ _consumeContext ?? (ISendEndpointProvider)_bus;
}
}
\ No newline at end of file
diff --git a/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEvent.cs b/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEvent.cs
index 117feaa00..1cb716ea0 100644
--- a/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEvent.cs
+++ b/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEvent.cs
@@ -52,8 +52,7 @@ namespace Elsa.Activities.Timers
var schedule = CrontabSchedule.Parse(CronExpression);
var now = _clock.GetCurrentInstant();
- if (StartTime == null)
- StartTime = now;
+ StartTime ??= now;
var nextOccurrence = schedule.GetNextOccurrence(StartTime.Value.ToDateTimeUtc());
diff --git a/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEventBuilderExtensions.cs b/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEventBuilderExtensions.cs
index ec01b6ab6..55931d45b 100644
--- a/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEventBuilderExtensions.cs
+++ b/src/activities/Elsa.Activities.Timers/Activities/CronEvent/CronEventBuilderExtensions.cs
@@ -1,10 +1,9 @@
using System;
-using Elsa.Activities.Timers;
using Elsa.Builders;
using Elsa.Services.Models;
// ReSharper disable once CheckNamespace
-namespace Elsa.Activities.MassTransit
+namespace Elsa.Activities.Timers
{
public static class CronEventBuilderExtensions
{
diff --git a/src/activities/Elsa.Activities.Timers/Activities/InstantEvent/InstantEventBuilderExtensions.cs b/src/activities/Elsa.Activities.Timers/Activities/InstantEvent/InstantEventBuilderExtensions.cs
index 2a170bbb5..7112db0ef 100644
--- a/src/activities/Elsa.Activities.Timers/Activities/InstantEvent/InstantEventBuilderExtensions.cs
+++ b/src/activities/Elsa.Activities.Timers/Activities/InstantEvent/InstantEventBuilderExtensions.cs
@@ -1,11 +1,10 @@
using System;
-using Elsa.Activities.Timers;
using Elsa.Builders;
using Elsa.Services.Models;
using NodaTime;
// ReSharper disable once CheckNamespace
-namespace Elsa.Activities.MassTransit
+namespace Elsa.Activities.Timers
{
public static class InstantEventBuilderExtensions
{
diff --git a/src/activities/Elsa.Activities.Timers/Activities/TimerEvent/TimerEventBuilderExtensions.cs b/src/activities/Elsa.Activities.Timers/Activities/TimerEvent/TimerEventBuilderExtensions.cs
index e453afb6a..2b9de6428 100644
--- a/src/activities/Elsa.Activities.Timers/Activities/TimerEvent/TimerEventBuilderExtensions.cs
+++ b/src/activities/Elsa.Activities.Timers/Activities/TimerEvent/TimerEventBuilderExtensions.cs
@@ -1,11 +1,10 @@
using System;
-using Elsa.Activities.Timers;
using Elsa.Builders;
using Elsa.Services.Models;
using NodaTime;
// ReSharper disable once CheckNamespace
-namespace Elsa.Activities.MassTransit
+namespace Elsa.Activities.Timers
{
public static class TimerEventBuilderExtensions
{
diff --git a/src/activities/Elsa.Activities.Timers/Extensions/ServiceCollectionExtensions.cs b/src/activities/Elsa.Activities.Timers/Extensions/ServiceCollectionExtensions.cs
index bedd5fab3..f671d629f 100644
--- a/src/activities/Elsa.Activities.Timers/Extensions/ServiceCollectionExtensions.cs
+++ b/src/activities/Elsa.Activities.Timers/Extensions/ServiceCollectionExtensions.cs
@@ -15,7 +15,6 @@ namespace Microsoft.Extensions.DependencyInjection
options?.Invoke(optionsBuilder);
return services
- .AddOptions()
.AddHostedService()
.AddActivity()
.AddActivity()
diff --git a/src/activities/Elsa.Activities.Timers/HostedServices/TimersHostedService.cs b/src/activities/Elsa.Activities.Timers/HostedServices/TimersHostedService.cs
index 613c10143..daf965514 100644
--- a/src/activities/Elsa.Activities.Timers/HostedServices/TimersHostedService.cs
+++ b/src/activities/Elsa.Activities.Timers/HostedServices/TimersHostedService.cs
@@ -29,11 +29,12 @@ namespace Elsa.Activities.Timers.HostedServices
_options = options;
_logger = logger;
}
+
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
- if (await _distributedLockProvider.AcquireLockAsync(GetType().Name, stoppingToken))
+ if (await _distributedLockProvider.AcquireLockAsync(nameof(TimersHostedService), stoppingToken))
{
try
{
diff --git a/src/core/Elsa.YesSql.Provider.Sqlite.InMemory/SingletonDbConnectionFactory.cs b/src/core/Elsa.YesSql.Provider.Sqlite.InMemory/SingletonDbConnectionFactory.cs
index 21146f640..156774a05 100644
--- a/src/core/Elsa.YesSql.Provider.Sqlite.InMemory/SingletonDbConnectionFactory.cs
+++ b/src/core/Elsa.YesSql.Provider.Sqlite.InMemory/SingletonDbConnectionFactory.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Data.Common;
using YesSql;
@@ -19,15 +19,10 @@ namespace Elsa.YesSql.Provider.Sqlite.InMemory
public DbConnection CreateConnection()
{
- if (_connection == null)
+ return _connection ??= new TDbConnection
{
- _connection = new TDbConnection
- {
- ConnectionString = _connectionString
- };
- }
-
- return _connection;
+ ConnectionString = _connectionString
+ };
}
}
}
\ No newline at end of file
diff --git a/src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs b/src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs
index 98d0969bc..ed4514589 100644
--- a/src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs
+++ b/src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using Newtonsoft.Json;
namespace Elsa.Scripting.JavaScript.Converters
@@ -8,13 +8,9 @@ namespace Elsa.Scripting.JavaScript.Converters
///
public class TruncatingNumberJsonConverter : JsonConverter
{
- public TruncatingNumberJsonConverter()
- {
- }
-
public override bool CanRead => false;
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) => throw new NotImplementedException("Unnecessary because CanRead is false. The type will skip the converter.");
- public override bool CanConvert(Type objectType) => (objectType == typeof(decimal) || objectType == typeof(float) || objectType == typeof(double));
+ public override bool CanConvert(Type objectType) => objectType == typeof(decimal) || objectType == typeof(float) || objectType == typeof(double);
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) => writer.WriteRawValue(IsWholeValue(value) ? JsonConvert.ToString(Convert.ToInt64(value)) : JsonConvert.ToString(value));
private static bool IsWholeValue(object value)
@@ -27,7 +23,7 @@ namespace Elsa.Scripting.JavaScript.Converters
if (value is float || value is double)
{
- var doubleValue = (double) value;
+ var doubleValue = Convert.ToDouble(value);
return doubleValue == Math.Truncate(doubleValue);
}
diff --git a/src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionHandler.cs b/src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionHandler.cs
index 1c009bcea..75de86dfb 100644
--- a/src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionHandler.cs
+++ b/src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionHandler.cs
@@ -26,16 +26,16 @@ namespace Elsa.Scripting.Liquid.Services
public async Task