public VerkoopIndexViewModel(McEditie editie, Vereniging vereniging) { HasNextVerkoopmoment = false; if (editie != null) { EditieNaam = editie.Naam; Verkoopmoment verkoopmoment = editie.GetCurrentOrNextVerkoopMoment(); if (verkoopmoment != null) { HasNextVerkoopmoment = true; BuyingPossible = false; //enkel bij statuscode 0 op true latenkomen if (vereniging.IsGroot) { MaxTickets = verkoopmoment.MaxTicketsGroot; Grootte = "Groot"; } else { MaxTickets = verkoopmoment.MaxTicketsKlein; Grootte = "Klein"; } KostPrijs = editie.TicketPrijs; MedewerkersTax = editie.KostPerMedewerker; StartVerkoopmoment = verkoopmoment.StartDatum; EindVerkoopmoment = verkoopmoment.EindDatum; int status = verkoopmoment.CanVerenigingBuy(vereniging); switch (status) { case 0: Message = "Joepie! Momenteel kunt u tickets bestellen!"; BuyingPossible = true; break; case 1: Message = "Sorry, er zijn geen tickets meer beschikbaar voor deze editie :-("; break; case 2: Message = "Gelieve later terug te keren, momenteel is er geen verkoopmoment bezig"; break; case 3: Message = "Sorry, u kunt slechts 1 keer per verkoopmoment tickets kopen..."; break; default: Message = $"Er liep iets fout, gelieve contact op te nemen met de webmaster als het probleem zich blijft voordoen (status code {status})"; break; } } } }
public IActionResult BestelTickets(Vereniging vereniging) { Verkoopmoment verkoopmoment = _editieRepository.GetNextOrCurrentEditie()?.GetCurrentOrNextVerkoopMoment(); int? status = verkoopmoment?.CanVerenigingBuy(vereniging); if (status != 0 || verkoopmoment == null) { return(NotFound("Deze pagina is momenteel niet beschikbaar, raadpleeg de https://www.massacantusgent.be/verkoop/ voor meer info")); } return(View(new VerkoopBestelViewModel(verkoopmoment))); }