public IRestResponse VerifyBarcode(TurnstileScan scan) { var request = CreateVerifyRequest(scan); request.AddHeader("Authorization", "Bearer pkR9vfZ9QdER53mf"); return(Client.Execute(request)); }
private RestRequest CreateVerifyRequest(TurnstileScan scan) { var request = new RestRequest("api/verify", Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(scan); return(request); }
public IActionResult Post([FromBody] TurnstileScan barcode) { _log.LogInformation("Search the following barcode: {@barcode}", barcode); if (!ModelState.IsValid) { using (var input = HttpContext.Request.Body) { using (var output = new StreamReader(input)) { _log.LogWarning("Invalid request data. Request was: {0}", output.ReadToEnd()); } } return(new BadRequestObjectResult(new BadRequestAnswer())); } Ticket ticket; try { ticket = _finder.Find(barcode); } catch (Exception ex) { _log.LogInformation(ex.Message); return(new BadRequestObjectResult(new InvalidCodeAnswer())); } var concert = _db.Events.FirstOrDefault(e => e.Id == ticket.EventId); if (concert == null) { _log.LogInformation("Ticket doesn't match any concert"); return(new BadRequestObjectResult(new NoConcertFoundAnswer())); } var labelCalc = new LabelCalculator(_log, concert); if (ticket.Expired == true) { _log.LogInformation("Ticket has already expired"); return(new OkObjectResult( new UsedTicketAnswer(labelCalc.Value()) )); } _log.LogDebug("Prepare to updating ticket to expired"); ticket.Expired = true; _db.Tickets.Update(ticket); _db.SaveChanges(); _log.LogDebug("Update ticket to expired"); _log.LogInformation("Ticket is valid"); return(new OkObjectResult( new ValidTicketAnswer(labelCalc.Value()) )); }
public IRestResponse VerifyBarcodeWithoutAuth(TurnstileScan scan) { var request = CreateVerifyRequest(scan); return(Client.Execute(request)); }