示例#1
0
 public static V1.ShoppingCartInitialized Downcast(
     ShoppingCartInitialized newEvent
     )
 {
     return(new V1.ShoppingCartInitialized(
                newEvent.ShoppingCartId,
                newEvent.Client.Id
                ));
 }
 public static ShoppingCartInitializedWithStatus UpcastV2(
     ShoppingCartInitialized oldEvent
     )
 {
     return(new ShoppingCartInitializedWithStatus(
                oldEvent.ShoppingCartId,
                oldEvent.Client,
                ShoppingCartStatus.Initialized
                ));
 }
    public static ShoppingCartDetails Handle(ShoppingCartInitialized @event)
    {
        var(shoppingCartId, clientId) = @event;

        return(new ShoppingCartDetails
        {
            Id = shoppingCartId,
            ClientId = clientId,
            Status = ShoppingCartStatus.Pending,
            Version = 0
        });
    }
示例#4
0
    public void Should_BeBackwardCompatible()
    {
        // Given
        var @event = new ShoppingCartInitialized(Guid.NewGuid(), Guid.NewGuid(), ShoppingCartStatus.Pending);
        var json   = JsonSerializer.Serialize(@event);

        // When
        var oldEvent = JsonSerializer.Deserialize <V1.ShoppingCartInitialized>(json);

        oldEvent.Should().NotBeNull();
        oldEvent !.ShoppingCartId.Should().Be(@event.ShoppingCartId);
        oldEvent.ClientId.Should().Be(@event.ClientId);
    }
示例#5
0
    public static ShoppingCartShortInfo Handle(ShoppingCartInitialized @event)
    {
        var(shoppingCartId, clientId) = @event;

        return(new ShoppingCartShortInfo
        {
            Id = shoppingCartId,
            ClientId = clientId,
            TotalItemsCount = 0,
            Status = ShoppingCartStatus.Pending,
            Version = 0
        });
    }
示例#6
0
    public void UpcastObjects_Should_BeForwardCompatible()
    {
        // Given
        var newEvent = new ShoppingCartInitialized(
            Guid.NewGuid(),
            new Client(Guid.NewGuid(), "Oskar the Grouch")
            );

        // When
        var @event = Downcast(newEvent);

        @event.Should().NotBeNull();
        @event.ShoppingCartId.Should().Be(newEvent.ShoppingCartId);
        @event.ClientId.Should().Be(newEvent.Client.Id);
    }