diff --git a/Caspian.WorkflowFramework.Package/Caspian.WorkflowFramework.Package.csproj b/Caspian.WorkflowFramework.Package/Caspian.WorkflowFramework.Package.csproj index cc5d0ed..56d1dcb 100644 --- a/Caspian.WorkflowFramework.Package/Caspian.WorkflowFramework.Package.csproj +++ b/Caspian.WorkflowFramework.Package/Caspian.WorkflowFramework.Package.csproj @@ -5,8 +5,8 @@ enable enable Caspian.WorkflowFramework - 1.1.0-preview.11 - Behzad alizadeh + 1.1.0-preview.15 + Behzad Alizadeh Caspian Caspian.WorkflowFramework Caspian Workflow Framework @@ -20,55 +20,55 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Caspian.WorkflowFramework.Package/Utility/ConversionExtensions.cs b/Caspian.WorkflowFramework.Package/Utility/ConversionExtensions.cs index 201bf7b..a85ed5c 100644 --- a/Caspian.WorkflowFramework.Package/Utility/ConversionExtensions.cs +++ b/Caspian.WorkflowFramework.Package/Utility/ConversionExtensions.cs @@ -121,6 +121,37 @@ namespace Caspian.WorkflowFramework.Utility ? dictionary[nameof(workflowModel.NextPageEventName)]?.ToString() : null; + //WorkflowStash + if (dictionary.TryGetValue(nameof(workflowModel.WorkflowStash), out var workflowStashObj) && + workflowStashObj is not null) + { + switch (workflowStashObj) + { + case JsonElement je: + workflowModel.WorkflowStash = je; + break; + + case JsonNode node: + // .NET 6+ + workflowModel.WorkflowStash = JsonSerializer.SerializeToElement(node); + break; + + case string s: + // اگر به صورت string JSON ذخیره شده + workflowModel.WorkflowStash = JsonSerializer.Deserialize(s); + break; + + default: + // هر نوع دیگری: serialize و تبدیل به JsonElement + workflowModel.WorkflowStash = JsonSerializer.SerializeToElement(workflowStashObj); + break; + } + } + else + { + workflowModel.WorkflowStash = null; + } + return workflowModel; } }