diff --git a/src/modules/Elsa.Workflows.Core/Serialization/Converters/TypeJsonConverter.cs b/src/modules/Elsa.Workflows.Core/Serialization/Converters/TypeJsonConverter.cs index 816b5fb5b..5fe74064e 100644 --- a/src/modules/Elsa.Workflows.Core/Serialization/Converters/TypeJsonConverter.cs +++ b/src/modules/Elsa.Workflows.Core/Serialization/Converters/TypeJsonConverter.cs @@ -40,9 +40,9 @@ public class TypeJsonConverter : JsonConverter } // Handle collection types. - if (typeAlias.EndsWith("()")) + if (typeAlias.StartsWith("List<") && typeAlias.EndsWith(">")) { - var elementTypeAlias = typeAlias[..^"()".Length]; + var elementTypeAlias = typeAlias[5..^1]; var elementType = _wellKnownTypeRegistry.TryGetType(elementTypeAlias, out var t) ? t : Type.GetType(elementTypeAlias)!; return typeof(List<>).MakeGenericType(elementType); } @@ -70,7 +70,7 @@ public class TypeJsonConverter : JsonConverter if (typedEnumerable.IsAssignableFrom(value) && _wellKnownTypeRegistry.TryGetAlias(elementType, out var elementTypeAlias)) { - writer.WriteStringValue($"{elementTypeAlias}()"); + writer.WriteStringValue($"List<{elementTypeAlias}>"); return; } } diff --git a/src/modules/Elsa.Workflows.Core/Services/VariableMapper.cs b/src/modules/Elsa.Workflows.Core/Services/VariableMapper.cs index 2524822c9..37899fc1b 100644 --- a/src/modules/Elsa.Workflows.Core/Services/VariableMapper.cs +++ b/src/modules/Elsa.Workflows.Core/Services/VariableMapper.cs @@ -59,7 +59,7 @@ public class VariableMapper .OnSuccess(value => variable.Value = value) .OnFailure(e => _logger.LogWarning("Failed to convert {SourceValue} to {TargetType}", source.Value, type.Name)); - variable.StorageDriverType = !string.IsNullOrEmpty(source.StorageDriverTypeName) ? Type.GetType(source.StorageDriverTypeName) : default; + variable.StorageDriverType = !string.IsNullOrEmpty(source.StorageDriverTypeName) ? Type.GetType(source.StorageDriverTypeName) : null; return variable; } @@ -76,6 +76,6 @@ public class VariableMapper var storageDriverTypeName = source.StorageDriverType?.GetSimpleAssemblyQualifiedName(); var serializedValue = value.Format(); - return new VariableModel(source.Id, source.Name, valueTypeAlias, serializedValue, storageDriverTypeName); + return new(source.Id, source.Name, valueTypeAlias, serializedValue, storageDriverTypeName); } } \ No newline at end of file