예제 #1
0
    private Reservation(
        Guid id,
        IReservationNumberGenerator numberGenerator,
        Guid seatId)
    {
        if (id == Guid.Empty)
        {
            throw new ArgumentOutOfRangeException(nameof(id));
        }
        if (seatId == Guid.Empty)
        {
            throw new ArgumentOutOfRangeException(nameof(seatId));
        }

        var reservationNumber = numberGenerator.Next();

        var @event = TentativeReservationCreated.Create(
            id,
            seatId,
            reservationNumber
            );

        Enqueue(@event);
        Apply(@event);
    }
예제 #2
0
        private Reservation(
            Guid id,
            IReservationNumberGenerator numberGenerator,
            Guid seatId)
        {
            Guard.Against.Null(id, nameof(id));
            Guard.Against.Null(numberGenerator, nameof(numberGenerator));
            Guard.Against.Default(seatId, nameof(seatId));

            var reservationNumber = numberGenerator.Next();

            var @event = TentativeReservationCreated.Create(
                id,
                seatId,
                reservationNumber
                );

            Enqueue(@event);
            Apply(@event);
        }