From ac58c128623e45c0c051e86a1a59b73a021a9c25 Mon Sep 17 00:00:00 2001 From: Cesar De la Torre Date: Mon, 27 Feb 2017 18:23:15 -0800 Subject: [PATCH] Using [DataContract] and [DataMember] for the immutable Command. De-serializes good, I see the data coming at the Controller and the CommandHandler level, bu I get an error at the end about: JsonSerializationException: Error converting value {null} to type 'System.Decimal'. Path '[1].total', line 1, position 176. Gerard, can you take a look to that? If it works with attibutes, let's do it. In parallel I/m opening an issue with the ASP.NET team. --- .../Application/Commands/CreateOrderCommand.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs index d7ce1ef2b..389d23119 100644 --- a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs +++ b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs @@ -1,36 +1,48 @@ using System; using MediatR; using System.Collections.Generic; +using System.Runtime.Serialization; namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands { - - + [DataContract] public class CreateOrderCommand :IAsyncRequest { + [DataMember] private readonly List _orderItems; + [DataMember] public string City { get; private set; } + [DataMember] public string Street { get; private set; } + [DataMember] public string State { get; private set; } + [DataMember] public string Country { get; private set; } + [DataMember] public string ZipCode { get; private set; } + [DataMember] public string CardNumber { get; private set; } + [DataMember] public string CardHolderName { get; private set; } + [DataMember] public DateTime CardExpiration { get; private set; } + [DataMember] public string CardSecurityNumber { get; private set; } + [DataMember] public int CardTypeId { get; private set; } + [DataMember] public IEnumerable OrderItems => _orderItems; public void AddOrderItem(OrderItemDTO item)