public IActionResult CheckInWithDetails(int id, TicketBarcodeVerenigingViewModel vm) { McEditie editie = _editieRepository.GetByIdWithTickets(id); if (editie == null) { return(NotFound()); } if (ModelState.IsValid) { if (!IsValidEan8(vm.Barcode.Value)) { TempData["error"] = "ONGELDIGE BARCODE, GELIEVE OPNIEUW TE SCANNEN"; return(RedirectToAction(nameof(CheckIn), new { id })); } try { int barcodeWithoutChecksum = vm.Barcode.Value / 10; Ticket ticket = editie.GetTicketByBarcode(barcodeWithoutChecksum); if (ticket == null) { TempData["error"] = "ONBESTAAND TICKET - SCAN OPNIEUW - OF VALS TICKET?"; return(RedirectToAction(nameof(CheckIn), new { id })); } ticket.CheckIn(); _editieRepository.SaveChanges(); return(RedirectToAction(nameof(CheckInWithDetails), new { id, verenigingId = ticket.Vereniging.GroepId })); } catch (Exception e) { TempData["redError"] = e.Message; } } return(RedirectToAction(nameof(CheckIn), new { id })); }