public IActionResult BestellingBetaaldConfirmation(int id, int bestellingId)
        {
            McEditie editie = _editieRepository.GetById(id);

            if (editie == null)
            {
                TempData["error"]   = "Oeps... Er ging iets mis, de gekozen editie bestaat niet (meer)!";
                ViewData["Edities"] = GetEditiesAsSelectList();
                return(RedirectToAction(nameof(Index)));
            }
            Bestelling bestelling = editie.GetBestelling(bestellingId);

            if (bestelling?.IsBetaald != false)
            {
                TempData["error"] = "Oeps... De gevraagde bestelling bestaat niet of is reeds als betaald aangeduid!";
                return(RedirectToAction(nameof(Bestellingen), new { id = editie.Id }));
            }
            try
            {
                bestelling.IsBetaald = true;
                _editieRepository.SaveChanges();
                SendMailPaymentConfirmation(bestelling);
            }
            catch (Exception e)
            {
                TempData["error"] = $"Er ging iets mis! Exception: {e.Message}";
            }
            TempData["message"] = $"U heeft succesvol de bestelling van {bestelling.Vereniging.GroepNaam} als betaald aangeduid!";
            return(RedirectToAction(nameof(Bestellingen), new { id = editie.Id }));
        }
 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));
 }
        public IActionResult DeleteBestelling(int id, int bestellingId)
        {
            McEditie editie = _editieRepository.GetById(id);

            if (editie == null)
            {
                return(NotFound());
            }
            Bestelling bestelling = editie.GetBestelling(bestellingId);

            if (bestelling == null)
            {
                return(NotFound());
            }
            return(View(new BestellingDeleteViewModel(bestelling)));
        }
        public IActionResult BestellingBetaald(int id, int bestellingId)
        {
            McEditie editie = _editieRepository.GetById(id);

            if (editie == null)
            {
                TempData["error"]   = "Oeps... Er ging iets mis, de gekozen editie bestaat niet (meer)!";
                ViewData["Edities"] = GetEditiesAsSelectList();
                return(RedirectToAction(nameof(Index)));
            }
            Bestelling bestelling = editie.GetBestelling(bestellingId);

            if (bestelling?.IsBetaald != false)
            {
                TempData["error"] = "Oeps... De gevraagde bestelling bestaat niet of is reeds als betaald aangeduid!";
                return(RedirectToAction(nameof(Bestellingen), new { id = editie.Id }));
            }
            return(View(new PenningBetalingViewModel(editie, bestelling)));
        }
 public IActionResult DeleteBestellingConfirmation(int id, BestellingDeleteViewModel dvm)
 {
     try
     {
         McEditie editie = _editieRepository.GetById(id);
         if (editie == null)
         {
             return(NotFound());
         }
         Bestelling bestelling = editie.GetBestelling(dvm.BestellingId);
         if (bestelling == null)
         {
             return(NotFound());
         }
         bestelling.Verkoopmoment.Bestellingen.Remove(bestelling);
         _editieRepository.SaveChanges();
         TempData["message"] = "U heeft succesvol de bestelling verwijderd";
     }
     catch (Exception e)
     {
         TempData["error"] = $"Sorry, er liep iets fout, de bestelling kon niet worden verwijderd: {e.Message}";
     }
     return(RedirectToAction(nameof(Bestellingen), new { id }));
 }