Esempio n. 1
0
 public DataContract.ReserveTicketResponse ReserveTicket(DataContract.ReserveTicketRequest request)
 {
     DataContract.ReserveTicketResponse response = new DataContract.ReserveTicketResponse();
     try
     {
         Model.Event             ticketEvent = this._repository.FindBy(new Guid(request.EventId));
         Model.TicketReservation reservation;
         if (ticketEvent.CanReserveTicket(request.TicketQty))
         {
             reservation = ticketEvent.ReserveTicket(request.TicketQty);
             this._repository.Save(ticketEvent);
             response         = reservation.ConvertToTicketReservationResponse();
             response.Success = true;
         }
         else
         {
             response.Success = false;
             response.Message = string.Format("There're only {0} tickets available.", ticketEvent.AvailableAllocation());
         }
     }
     catch (Exception ex)
     {
         response.Success = false;
         response.Message = ErrorLog.GenerateErrorRef(ex);
     }
     return(response);
 }
Esempio n. 2
0
        public TicketReservationPresentation ReserveTicketFor(string eventId, int noOfTkt)
        {
            TicketReservationPresentation reservationPresentation = new TicketReservationPresentation();

            DataContract.ReserveTicketRequest request = new DataContract.ReserveTicketRequest();
            request.EventId   = eventId;
            request.TicketQty = noOfTkt;
            try
            {
                var response = this._ticketService.ReserveTicket(request);
                if (response.Success)
                {
                    reservationPresentation.Description   = string.Format("Reservation succeeded");
                    reservationPresentation.EventId       = response.EventId;
                    reservationPresentation.ExpiryDate    = response.ExpirationTime;
                    reservationPresentation.ReservationId = response.ReservationNumber;
                    reservationPresentation.TicketWasSuccessfullyReserved = true;
                }
                else
                {
                    reservationPresentation.TicketWasSuccessfullyReserved = false;
                    reservationPresentation.Description = response.Message;
                }
            }
            catch (Exception ex)
            {
                reservationPresentation.TicketWasSuccessfullyReserved = false;
                reservationPresentation.Description = ex.Message;
            }
            return(reservationPresentation);
        }
Esempio n. 3
0
        public DataContract.ReserveTicketResponse ReserveTicket(DataContract.ReserveTicketRequest reserveTicketRequest)
        {
            foreach (Event x in _eventRepository)
            {
                Debug.Print(x.Id.ToString());
            }

            ReserveTicketResponse response = new ReserveTicketResponse();

            try
            {
                Event Event = _eventRepository.FindBy(
                    new Guid(reserveTicketRequest.EventId));
                TicketReservation reservation;

                if (Event.CanReserveTicket(reserveTicketRequest.TicketQuantity))
                {
                    reservation = Event.ReserveTicket(reserveTicketRequest.TicketQuantity);
                    _eventRepository.Save(Event);
                    response         = reservation.ConvertToReserveTicketResponse();
                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                    response.Message = String.Format("There are {0} tickets available ", Event.AvailableAllocation());
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ErrorLog.GenerateErrorRefMessageAndLog(ex);
            }
            return(response);
        }
 public DataContract.ReserveTicketResponse ReserveTicket(DataContract.ReserveTicketRequest reserveTicketRequest)
 {
     return(_ticketService.ReserveTicket(reserveTicketRequest));
 }
Esempio n. 5
0
 public DataContract.ReserveTicketResponse ReserveTicket(DataContract.ReserveTicketRequest request)
 {
     return(base.Channel.ReserveTicket(request));
 }