public void Apply(BookingCancelled e)
        {
            var bookingToRemove = bookingsMade.Single(b => b.Id == e.Id);

            bookingsMade.Remove(bookingToRemove);
            bookingsCancelled.Add(e);
        }
 public void Handle(BookingCancelled e)
 {
     lock (bookingsCancelled)
     {
         var bookingToRemove = bookingsMade.Single(b => b.Id == e.Id);
         bookingsMade.Remove(bookingToRemove);
         bookingsCancelled.Add(e);
     }
 }
예제 #3
0
    public Task Handle(CancelBooking message, IMessageHandlerContext context)
    {
        //cannot cancel a booking already checked out
        if (Data.BookingItem.Status == Constants.CheckedOut)
        {
            log.Error($"Cannot cancel out booking #{message.BookingNumber} .");
            return(Task.CompletedTask);
        }

        Data.BookingItem.Status = Constants.Cancelled;

        MarkAsComplete();

        log.Info($"Booking #{message.BookingNumber} was cancelled.");

        var orderCancelled = new BookingCancelled
        {
            BookingNumber = message.BookingNumber,
            ClientId      = message.ClientId
        };

        return(context.Publish(orderCancelled));
    }
예제 #4
0
 public void Handle(BookingCancelled e)
 {
     this.bookingRepo.CancelBooking(e.Id, e.CancelledDate);
 }
예제 #5
0
 public void HandleEvent(BookingCancelled msg)
 {
     BookingStatus = BookingStatusEnum.Cancelled;
 }
예제 #6
0
 public void Apply(BookingCancelled e)
 {
     cancelled = true;
 }
예제 #7
0
 public void HandleEvent(BookingCancelled msg)
 {
     BookingStatus = BookingStatusEnum.Cancelled;
 }