Beispiel #1
0
        [AcceptVerbs("Get", "Post")]    //REMOTE
        public IActionResult CheckAskedAmountOfTickets(int aantalTickets, Vereniging vereniging)
        {
            McEditie      editie               = _editieRepository.GetNextOrCurrentEditie();
            Verkoopmoment verkoopmoment        = editie.GetCurrentOrNextVerkoopMoment();
            int           maxTicketsVereniging = verkoopmoment.GetMaxTicketsVereniging(vereniging);
            int           maxTicketsLeft       = verkoopmoment.Editie.GetAmountTicketsRemaining();

            if (aantalTickets <= 0)
            {
                return(Json("Sorry, u moet een positief aantal tickets bestellen"));
            }
            if (aantalTickets > maxTicketsLeft)
            {
                return(Json($"Sorry, er zijn slechts {maxTicketsLeft} tickets meer beschikbaar"));
            }
            if (aantalTickets > maxTicketsVereniging)
            {
                return(Json($"Sorry, u kan maximaal maar {maxTicketsVereniging} tickets bestellen"));
            }
            //check if vereniging has an exception amount, limits stay the same
            if (vereniging.MaxTicketsException != null)
            {
                int amountAlreadyOrdered = editie.GetAmountTicketsOrderedByVereniging(vereniging);
                if (aantalTickets + amountAlreadyOrdered > vereniging.MaxTicketsException.Value)
                {
                    int ticketsLeft = vereniging.MaxTicketsException.Value - amountAlreadyOrdered;
                    return(Json($"Sorry, u kan nog maximaal maar {ticketsLeft} tickets bestellen"));
                }
            }
            return(Json(true));
        }