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 }));
        }