private void Apply(BidPlaced @event)
 {
     this.WinningBid = new Bid()
     {
         Amount        = @event.Amount,
         BidderId      = @event.BidderId,
         OfferDateTime = @event.OfferDateTime
     };
 }
Beispiel #2
0
 public static Order CreateOpened(BidPlaced bidPlaced)
 {
     return new Order()
     {
         Type = OrderType.Bid,
         OrderPrice = Domain.Price.CreateUsd(bidPlaced.Price),
         UserId = bidPlaced.UserId,
         Quantity = bidPlaced.Quantity,
         CoinId = bidPlaced.CoinId,
         CreatedAt = bidPlaced.CreatedAt,
         Status = OrderStatus.Opened
     };
 }
Beispiel #3
0
        public static CommandResult Handle(State state, PlaceBid placeBid)
        {
            switch (state)
            {
            case CreatedState created:
                if (DateTime.UtcNow >= created.EndTime)
                {
                    CommandResultFailure.Create("Auction has finished");
                }
                if (placeBid.Bid.Amount <= created.HighestBid)
                {
                    CommandResultFailure.Create("Bid is not higher than current highest bid");
                }
                var bidPlaced = BidPlaced.Create(placeBid.Bid);
                return(CommandResultSuccess.Create(new List <EventPayload> {
                    bidPlaced
                }));

            default:
                return(CommandResultFailure.Create("Auction not created"));
            }
        }
Beispiel #4
0
 private void OnBidPlaced(BidPlaced ev)
 {
     this.Bids[ev.Bid.Id] = ev.Bid;
     this.HigherBid       = ev.Bid;
 }
 public Task Handle(BidPlaced message, IMessageHandlerContext context)
 {
     return(Task.CompletedTask);
 }
Beispiel #6
0
 void Apply(BidPlaced @event)
 {
     _bids.Add(new BidInfo { Amount = @event.Amount, BidId = @event.BidId });
 }
 public void Handle(BidPlaced bidPlaced)
 {
     _dbAccess.Add(Order.CreateOpened(bidPlaced));
 }
Beispiel #8
0
 private void When(BidPlaced @event)
 {
     this.WinningBid = new WinningBid(@event.BidderId, @event.BidAmount);
 }
Beispiel #9
0
 public void When(BidPlaced @event)
 {
     WinningBid = new WinningBid(@event.BidderId, @event.BidAmout);
 }
        public async Task <Unit> Handle(CreateBidCommand request, CancellationToken cancellationToken)
        {
            await _messageBroker.Publish(BidPlaced.CreateFrom(request));

            return(Unit.Value);
        }