예제 #1
0
 public IActionResult BestelTickets(VerkoopBestelViewModel vm, Vereniging vereniging)
 {
     if (ModelState.IsValid)
     {
         Verkoopmoment verkoopmoment = _editieRepository.GetNextOrCurrentEditie()?.GetCurrentOrNextVerkoopMoment();
         Bestelling    bestelling;
         if (verkoopmoment == null)
         {
             TempData["error"] = "Sorry, u was net te laat met het bestellen van uw tickts... :(";
             return(RedirectToAction("Index", "Home"));
         }
         try
         {
             bestelling = verkoopmoment.PlaatsBestelling(vereniging, vm.AantalTickets);
             _editieRepository.SaveChanges();
             SendConfirmationMail(bestelling);
         } catch (Exception e)
         {
             TempData["error"] = $"Sorry, gelieve opnieuw te proberen! Error: {e.Message}";
             return(RedirectToAction(nameof(Index)));
         }
         return(RedirectToAction(nameof(BestellingConfirmation), new { id = bestelling.BestellingId }));
     }
     return(RedirectToAction(nameof(BestelTickets)));
 }
        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 Edit(VerkoopmomentEditViewModel evm, int id)
 {
     if (ModelState.IsValid)
     {
         try
         {
             McEditie      editie = _editieRepository.GetById(evm.EditieId);
             Verkoopmoment vm     = editie.Verkoopmomenten.SingleOrDefault(v => v.VerkoopId == id); //kan ook via verkoopmomentrepo, maar vind dit veiliger
             if (editie == null || vm == null)
             {
                 return(NotFound());
             }
             vm.UpdateVerkoopmoment(evm.StartDatum, evm.EindDatum, evm.MaxTicketsGroot, evm.MaxTicketsKlein);
             _editieRepository.SaveChanges();
             TempData["message"] = $"U heeft succesvol het verkoopmoment op {vm.StartDatum.ToString("dd MMM")} bijgewerkt";
         } catch (Exception e)
         {
             TempData["error"] = $"Sorry, er liep iets fout tijdens het wijzigen van het verkoopmoment: {e.Message}";
         }
         return(RedirectToAction(nameof(EditieController.Edit), "Editie", new { id = evm.EditieId }));
     }
     ViewData["IsEdit"] = true;
     return(View(nameof(Edit), evm));
 }
 public IActionResult Edit(EditieEditViewModel evm, int id)
 {
     if (ModelState.IsValid)
     {
         try
         {
             McEditie editie = _editieRepository.GetById(id);
             if (editie == null)
             {
                 return(NotFound());
             }
             MapEditieEditViewModelToEditie(evm, editie);
             _editieRepository.SaveChanges();
             TempData["message"] = $"U heeft succesvol {editie.Naam} gewijzigd";
         } catch (Exception e)
         {
             TempData["error"] = $"Sorry, er liep iets fout, de editie kon niet worden gewijzigd: {e.Message}";
         }
         return(RedirectToAction(nameof(Edit), new { id }));
     }
     ViewData["isEdit"] = true;
     return(View(nameof(Edit), evm));
 }
        public IActionResult RemoveTradeOffer(Vereniging vereniging, int offerId)
        {
            McEditie editie = _editieRepository.GetNextOrCurrentEditieIncludeTrades() ?? _editieRepository.GetLastIncludeBestellingenAndTrades();

            if (editie == null)
            {
                return(NotFound("Er zijn nog geen edities aangemaakt, als dit volgens u niet klopt, gelieve dan contact op te nemen met [email protected]"));
            }
            TradeOffer offer = editie.GetTradeOfferById(offerId);

            if (offer == null)
            {
                TempData["error"] = "Oeps er ging iets mis! Deze aanbieding bestaat niet!";
                return(RedirectToAction(nameof(Doorverkoop)));
            }
            if (offer.Owner.GroepId != vereniging.GroepId)
            {
                TempData["redError"] = "Kan geen aanbieding verwijderen dat niet van uzelf is...";
                return(RedirectToAction(nameof(Doorverkoop)));
            }
            editie.TradeOffers.Remove(offer);
            _editieRepository.SaveChanges();
            return(RedirectToAction(nameof(Doorverkoop)));
        }