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); }
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); }
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)); }
public DataContract.ReserveTicketResponse ReserveTicket(DataContract.ReserveTicketRequest request) { return(base.Channel.ReserveTicket(request)); }