public IActionResult BeheerBestelling(BestellingEditViewModel evm, int id)
 {
     if (ModelState.IsValid)
     {
         try
         {
             McEditie editie = _editieRepository.GetById(id);
             if (editie == null)
             {
                 return(NotFound());
             }
             Bestelling bestelling = editie.GetBestelling(evm.BestellingId);
             if (bestelling == null)
             {
                 return(NotFound());
             }
             MapBestellingEditViewModelToBestelling(evm, bestelling);
             _editieRepository.SaveChanges();
             TempData["message"] = "U heeft de bestelling gewijzigd";
             SendConfirmationMail(bestelling);
         }
         catch (Exception e)
         {
             TempData["error"] = $"Sorry, er liep iets fout, de bestelling kon niet worden gewijzigd: {e.Message}";
         }
         return(RedirectToAction(nameof(Bestellingen), new { id }));
     }
     return(View(nameof(BeheerBestelling), evm));
 }
        private void MapBestellingEditViewModelToBestelling(BestellingEditViewModel evm, Bestelling bestelling)
        {
            bool ticketsUpdated = bestelling.AantalGereserveerdeTickets != evm.AantalTickets;

            bestelling.AantalGereserveerdeTickets = evm.AantalTickets;
            bestelling.IsBetaald = evm.IsBetaald;
            if (!evm.IsBetaald && ticketsUpdated)
            {
                bestelling.RecalculateMedewerkers();
            }
        }