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