Beispiel #1
0
        protected override void When(object @event)
        {
            State.EnsureCanRaiseEvent(@event.GetType());
            switch (@event)
            {
            case Events.MeetupCreated ev:
                Id    = MeetupId.From(ev.Id);
                Title = MeetupTitle.From(ev.Title);
                State = MeetupState.Created;
                break;

            case Events.MeetupPublished ev:
                State = MeetupState.Published;
                break;

            case Events.MeetupCanceled ev:
                State = MeetupState.Canceled;
                break;

            case Events.MeetupClosed ev:
                State = MeetupState.Closed;
                break;

            case Events.MeetupNumberOfSeatsUpdated ev:
                NumberOfSeats = SeatsNumber.From(ev.NumberOfSeats);
                break;

            case Events.MeetupTimeUpdated ev:
                TimeRange = DateTimeRange.From(ev.Start, ev.End);
                break;

            case Events.MeetupTitleUpdated ev:
                Title = MeetupTitle.From(ev.Title);
                break;

            case Events.MeetupLocationUpdated ev:
                Location = Address.From(ev.Location);
                break;
            }
        }