diff --git a/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs b/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs index de8e96e..2001258 100644 --- a/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs +++ b/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Dynamic; using System.Linq; using System.Text; +using System.Text.Json; using System.Threading.Tasks; using Azure; using Caspian.WorkflowFramework.Contracts; @@ -168,15 +169,21 @@ public class WorkflowService : IWorkflowService, ILoggable return response; } - var json = input.EventData.GetRawText(); + dynamic payload = null; - var settings = new JsonSerializerSettings + if (input.EventData.ValueKind != JsonValueKind.Undefined && + input.EventData.ValueKind != JsonValueKind.Null) { - Converters = { new ExpandoObjectConverter() } - }; + var json = input.EventData.GetRawText(); - // تبدیل JSON به object داینامیک - dynamic payload = JsonConvert.DeserializeObject(json, settings); + var settings = new JsonSerializerSettings + { + Converters = { new ExpandoObjectConverter() } + }; + + // تبدیل JSON به object داینامیک + payload = JsonConvert.DeserializeObject(json, settings); + } //await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, input.EventData, asynchronous: true); await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, payload);