From 16fb757ef321d7a0bef2187aeaf46dac2312bfb2 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 26 May 2025 16:25:55 +0200 Subject: [PATCH] Refactor retry attempt retrieval logic in context reader. Improved handling of retry attempt records by leveraging a conversion helper method. This ensures type safety and simplifies the code for better readability and maintainability. Also includes minor formatting adjustments. --- .../Recorders/ActivityExecutionContextRetryAttemptReader.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/modules/Elsa.Resilience/Recorders/ActivityExecutionContextRetryAttemptReader.cs b/src/modules/Elsa.Resilience/Recorders/ActivityExecutionContextRetryAttemptReader.cs index 2f9f95779..0ab892ac6 100644 --- a/src/modules/Elsa.Resilience/Recorders/ActivityExecutionContextRetryAttemptReader.cs +++ b/src/modules/Elsa.Resilience/Recorders/ActivityExecutionContextRetryAttemptReader.cs @@ -1,4 +1,5 @@ using Elsa.Common.Models; +using Elsa.Expressions.Helpers; using Elsa.Extensions; using Elsa.Resilience.Entities; using Elsa.Workflows.Runtime; @@ -14,9 +15,11 @@ public class ActivityExecutionContextRetryAttemptReader(IActivityExecutionStore Id = activityInstanceId }, cancellationToken); - if (record?.Properties == null || !record.Properties.TryGetValue("RetryAttempts", out var value) || value is not ICollection retryAttempts) + if (record?.Properties == null || !record.Properties.TryGetValue("RetryAttempts", out var value)) return Page.Empty(); + var retryAttempts = value.ConvertTo>() ?? []; + return retryAttempts.Paginate(pageArgs); } } \ No newline at end of file