Skip to content

Commit c7d9857

Browse files
[csharp] Output DateOnly paramater in the correct default format (#19728) (#19729)
* Output DateOnly in the correct default format * Only add conditional if we are net60 or later * Update samples
1 parent fce8bb9 commit c7d9857

6 files changed

Lines changed: 38 additions & 0 deletions

File tree

modules/openapi-generator/src/main/resources/csharp/ClientUtils.mustache

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,14 @@ namespace {{packageName}}.Client
114114
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
115115
// For example: 2009-06-15T13:45:30.0000000
116116
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
117+
{{#net60OrLater}}
118+
if (obj is DateOnly dateOnly)
119+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
120+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
121+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
122+
// For example: 2009-06-15
123+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
124+
{{/net60OrLater}}
117125
if (obj is bool boolean)
118126
return boolean ? "true" : "false";
119127
if (obj is ICollection collection) {

samples/client/echo_api/csharp-restsharp/src/Org.OpenAPITools/Client/ClientUtils.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ public static string ParameterToString(object obj, IReadableConfiguration config
101101
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
102102
// For example: 2009-06-15T13:45:30.0000000
103103
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
104+
if (obj is DateOnly dateOnly)
105+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
106+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
107+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
108+
// For example: 2009-06-15
109+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
104110
if (obj is bool boolean)
105111
return boolean ? "true" : "false";
106112
if (obj is ICollection collection) {

samples/client/petstore/csharp/restsharp/net6/ParameterMappings/src/Org.OpenAPITools/Client/ClientUtils.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ public static string ParameterToString(object obj, IReadableConfiguration config
100100
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
101101
// For example: 2009-06-15T13:45:30.0000000
102102
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
103+
if (obj is DateOnly dateOnly)
104+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
105+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
106+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
107+
// For example: 2009-06-15
108+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
103109
if (obj is bool boolean)
104110
return boolean ? "true" : "false";
105111
if (obj is ICollection collection) {

samples/client/petstore/csharp/restsharp/net7/EnumMappings/src/Org.OpenAPITools/Client/ClientUtils.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ public static string ParameterToString(object obj, IReadableConfiguration config
116116
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
117117
// For example: 2009-06-15T13:45:30.0000000
118118
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
119+
if (obj is DateOnly dateOnly)
120+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
121+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
122+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
123+
// For example: 2009-06-15
124+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
119125
if (obj is bool boolean)
120126
return boolean ? "true" : "false";
121127
if (obj is ICollection collection) {

samples/client/petstore/csharp/restsharp/net7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ public static string ParameterToString(object obj, IReadableConfiguration config
116116
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
117117
// For example: 2009-06-15T13:45:30.0000000
118118
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
119+
if (obj is DateOnly dateOnly)
120+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
121+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
122+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
123+
// For example: 2009-06-15
124+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
119125
if (obj is bool boolean)
120126
return boolean ? "true" : "false";
121127
if (obj is ICollection collection) {

samples/client/petstore/csharp/restsharp/net7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ public static string ParameterToString(object obj, IReadableConfiguration config
100100
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
101101
// For example: 2009-06-15T13:45:30.0000000
102102
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
103+
if (obj is DateOnly dateOnly)
104+
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
105+
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
106+
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
107+
// For example: 2009-06-15
108+
return dateOnly.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
103109
if (obj is bool boolean)
104110
return boolean ? "true" : "false";
105111
if (obj is ICollection collection) {

0 commit comments

Comments
 (0)