Пример #1
0
        public NewTicketWithReservationSummary New(ITicketWithReservationCreation ticket)
        {
            IProjection projection = projRepo.GetById(ticket.ProjectionId);

            DateTime now = DateTime.UtcNow.AddMinutes(ActionConstants.MinutesToProjection);

            if (projection.StartDate < now)
            {
                return(new NewTicketWithReservationSummary(false, "This reservation has been canceled. You have to purchase the ticket at least 10 minutes prior to the begining of the projection!"));
            }

            return(newTicketWithRes.New(ticket));
        }
Пример #2
0
        public NewTicketWithReservationSummary New(ITicketWithReservationCreation ticket)
        {
            IReservation reservation = reservationRepo.GetReservationyId(ticket.ReservationId);

            if (reservation.Canceled)
            {
                return(new NewTicketWithReservationSummary(false, $"You can't purchase a ticket as reservation with id {reservation.Id} has already been canceled"));
            }

            reservationRepo.CancelReservation(reservation);

            return(newTicketWithRes.New(ticket));
        }
Пример #3
0
        public NewTicketWithReservationSummary New(ITicketWithReservationCreation ticket)
        {
            ticketsRepo.Insert(new Ticket(ticket.ProjectionId, ticket.Row, ticket.Column));

            return(new NewTicketWithReservationSummary(true));
        }