From 506afdd73bfe7daf74dac4294666cfe2f81f2ac6 Mon Sep 17 00:00:00 2001 From: jonaslagoni Date: Sun, 28 Jul 2024 10:58:05 +0200 Subject: [PATCH] add functions --- src/generators/csharp/CSharpGenerator.ts | 5 +++-- .../csharp/presets/NewtonsoftSerializerPreset.ts | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/generators/csharp/CSharpGenerator.ts b/src/generators/csharp/CSharpGenerator.ts index 2bd83b54a4..6563610499 100644 --- a/src/generators/csharp/CSharpGenerator.ts +++ b/src/generators/csharp/CSharpGenerator.ts @@ -210,10 +210,11 @@ export class CSharpGenerator extends AbstractGenerator< ? '' : `${outputModel.dependencies.join('\n')}\n\n`; - const outputContent = `namespace ${completeModelOptionsToUse.namespace} + const outputContent = `${outputDependencies} +namespace ${completeModelOptionsToUse.namespace} { ${FormatHelpers.indent( - outputDependencies + outputModel.result, + outputModel.result, optionsToUse.indentation?.size, optionsToUse.indentation?.type )} diff --git a/src/generators/csharp/presets/NewtonsoftSerializerPreset.ts b/src/generators/csharp/presets/NewtonsoftSerializerPreset.ts index d36f3ae4ba..e17ff5029a 100644 --- a/src/generators/csharp/presets/NewtonsoftSerializerPreset.ts +++ b/src/generators/csharp/presets/NewtonsoftSerializerPreset.ts @@ -154,6 +154,17 @@ function renderDeserialize({ export const CSHARP_NEWTONSOFT_SERIALIZER_PRESET: CSharpPreset = { class: { + additionalContent: ({content, model, renderer}) => { + return renderer.indent(`${content} +public string Serialize() +{ + return JsonConvert.SerializeObject(this); +} +public static ${model.name} Deserialize(string json) +{ + return JsonConvert.DeserializeObject<${model.name}>(json); +}`); + }, self: ({ renderer, content, model }) => { renderer.dependencyManager.addDependency('using Newtonsoft.Json;'); renderer.dependencyManager.addDependency('using Newtonsoft.Json.Linq;');