public IActionResult Create([FromBody] TicketPurchaseJSON ticketPurchase) { TicketPurchaseRepository ticketPurchaseRepo = new TicketPurchaseRepository(_context); if (ticketPurchase.EventSeatsPurchased.Count == 0) { return(BadRequest("No Seats In Transaction")); } else if (String.IsNullOrWhiteSpace(ticketPurchase.PaymentMethod)) { return(BadRequest("Payment Method Missing")); } else if (ticketPurchase.PaymentAmount < 0) { return(BadRequest("Payment Amount Cannot Be Negative")); } else if (String.IsNullOrWhiteSpace(ticketPurchase.ConfirmationCode)) { return(BadRequest("Payment Amount Cannot Be Negative")); } if (!ticketPurchaseRepo.CreateTicketPurchase(ticketPurchase)) { return(BadRequest("Unable To Purchase Seats, Please Check Your Transaction Details (e.g Seat May Not Be Available For Sale) and Try Again")); } return(new ObjectResult(ticketPurchase)); }
public IActionResult GetTicketPurchase(int ticketPurchaseId) { TicketPurchaseRepository ticketPurchaseRepo = new TicketPurchaseRepository(_context); var ticketPurchase = _context.TicketPurchase.FirstOrDefault(t => t.TicketPurchaseId == ticketPurchaseId); if (ticketPurchase == null) { return(NotFound($"Ticket Purchase '{ticketPurchaseId}' not found")); } return(Ok(ticketPurchaseRepo.GetTicketPurchase(ticketPurchase))); }
public IActionResult GetAllEventPurchases(int eventId) { TicketPurchaseRepository ticketPurchaseRepo = new TicketPurchaseRepository(_context); var theEvent = _context.Event.Where(e => e.EventId == eventId).FirstOrDefault(); if (theEvent == null) { return(NotFound($"Event ID {eventId} not found")); } return(Ok(ticketPurchaseRepo.GetAllPurchasesEvent(theEvent))); }
public IActionResult Delete(int ticketPurchaseId, String ConfirmationCode) { TicketPurchaseRepository ticketPurchaseRepo = new TicketPurchaseRepository(_context); TicketPurchase purchase = _context.TicketPurchase.FirstOrDefault(tp => (tp.TicketPurchaseId == ticketPurchaseId) && (tp.ConfirmationCode == ConfirmationCode)); if (purchase == null) { return(BadRequest("Purchase Details Provided To Not Match Any Transactions On File (Purchase ID + Confirmation Code)")); } return(Ok(ticketPurchaseRepo.CancelTicketPurchase(purchase))); }
public IEnumerable <TicketPurchaseViewModel> GetAll() { TicketPurchaseRepository ticketPurchaseRepo = new TicketPurchaseRepository(_context); return(ticketPurchaseRepo.GetAllPurchases()); }