Exemple #1
0
        public void Handle(ReserveSeatCommand command)
        {
            Seanse seanse = _roomRepository.GetSeanse(command.SeanseId);
            User   user   = _userRepository.GetUser(command.UserId);

            var seat = new Seat(command.SeatRow, command.SeatNumber);

            seanse.ReserveSeatForUser(command.UserId, seat);

            FreeTicketLotery lottery = new FreeTicketLotery(_calculatorFactory);

            lottery.DrawFreeTicketForUser(user);
        }