Skip to content

Commit c079d15

Browse files
authored
Merge pull request #130 from gcuadrado/main
Added DoubleJsonConverter to some properties of CreateShipment becaus…
2 parents 4b61e68 + f05a6f4 commit c079d15

File tree

3 files changed

+44
-6
lines changed

3 files changed

+44
-6
lines changed

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/MerchantFulfillment/PackageDimensions.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* Generated by: https://github.com/swagger-api/swagger-codegen.git
99
*/
1010

11+
using FikaAmazonAPI.Utils;
1112
using Newtonsoft.Json;
1213
using System;
1314
using System.Collections.Generic;
@@ -42,7 +43,7 @@ public partial class PackageDimensions : IEquatable<PackageDimensions>, IValidat
4243
/// <param name="Height">The height dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Height..</param>
4344
/// <param name="Unit">The unit of measurement. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Unit..</param>
4445
/// <param name="PredefinedPackageDimensions">PredefinedPackageDimensions.</param>
45-
public PackageDimensions(int? Length = default(int?), int? Width = default(int?), int? Height = default(int?), UnitOfLength? Unit = default(UnitOfLength?), PredefinedPackageDimensions? PredefinedPackageDimensions = default(PredefinedPackageDimensions?))
46+
public PackageDimensions(double? Length = default(double?), double? Width = default(double?), double? Height = default(double?), UnitOfLength? Unit = default(UnitOfLength?), PredefinedPackageDimensions? PredefinedPackageDimensions = default(PredefinedPackageDimensions?))
4647
{
4748
this.Length = Length;
4849
this.Width = Width;
@@ -56,21 +57,24 @@ public partial class PackageDimensions : IEquatable<PackageDimensions>, IValidat
5657
/// </summary>
5758
/// <value>The length dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Length.</value>
5859
[DataMember(Name = "Length", EmitDefaultValue = false)]
59-
public int? Length { get; set; }
60+
[JsonConverter(typeof(DoubleJsonConverter))]
61+
public double? Length { get; set; }
6062

6163
/// <summary>
6264
/// The width dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Width.
6365
/// </summary>
6466
/// <value>The width dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Width.</value>
6567
[DataMember(Name = "Width", EmitDefaultValue = false)]
66-
public int? Width { get; set; }
68+
[JsonConverter(typeof(DoubleJsonConverter))]
69+
public double? Width { get; set; }
6770

6871
/// <summary>
6972
/// The height dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Height.
7073
/// </summary>
7174
/// <value>The height dimension. If you don&#39;t specify PredefinedPackageDimensions, you must specify the Height.</value>
7275
[DataMember(Name = "Height", EmitDefaultValue = false)]
73-
public int? Height { get; set; }
76+
[JsonConverter(typeof(DoubleJsonConverter))]
77+
public double? Height { get; set; }
7478

7579

7680

Source/FikaAmazonAPI/AmazonSpApiSDK/Models/MerchantFulfillment/Weight.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* Generated by: https://github.com/swagger-api/swagger-codegen.git
99
*/
1010

11+
using FikaAmazonAPI.Utils;
1112
using Newtonsoft.Json;
1213
using System;
1314
using System.Collections.Generic;
@@ -39,7 +40,7 @@ public Weight() { }
3940
/// </summary>
4041
/// <param name="Value">Value (required).</param>
4142
/// <param name="Unit">Unit (required).</param>
42-
public Weight(int? Value = default(int), UnitOfWeight Unit = default(UnitOfWeight))
43+
public Weight(double? Value = default(double), UnitOfWeight Unit = default(UnitOfWeight))
4344
{
4445
// to ensure "Value" is required (not null)
4546
if (Value == null)
@@ -65,7 +66,8 @@ public Weight() { }
6566
/// Gets or Sets Value
6667
/// </summary>
6768
[DataMember(Name = "Value", EmitDefaultValue = false)]
68-
public int? Value { get; set; }
69+
[JsonConverter(typeof(DoubleJsonConverter))]
70+
public double? Value { get; set; }
6971

7072

7173
/// <summary>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using Newtonsoft.Json;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Globalization;
5+
using System.Text;
6+
7+
namespace FikaAmazonAPI.Utils
8+
{
9+
public class DoubleJsonConverter : JsonConverter<double>
10+
{
11+
public override double ReadJson(JsonReader reader, Type objectType,
12+
double existingValue, bool hasExistingValue, JsonSerializer serializer)
13+
{
14+
return existingValue;
15+
}
16+
17+
public override void WriteJson(JsonWriter writer,
18+
double value, JsonSerializer serializer)
19+
{
20+
// Customise how you want the decimal value to be output in here
21+
// for example, you may want to consider culture
22+
if (value % 1 != 0)
23+
{
24+
writer.WriteRawValue(value.ToString());
25+
}
26+
else
27+
{
28+
writer.WriteRawValue(((double)value).ToString("F0", CultureInfo.InvariantCulture));
29+
}
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)