private int GenerateBarcodeNumber() { Random rand = new Random(); int barcode = (rand.Next(1000, 9999) * 1000) + Vereniging.GroepId; while (Editie.IsExistingTicket(barcode)) { barcode = (rand.Next(1000, 9999) * 1000) + Vereniging.GroepId; } Console.Write(barcode); return(barcode); }
/* * Returns int with status about verkoopmoment * 0 = can buy * 1 = no tickets left * 2 = no verkoopmoment at this moment * 3 = has already bought tickets */ public int CanVerenigingBuy(Vereniging vereniging) { if (Editie.GetAmountTicketsRemaining() <= 0) { return(1); } if (!IsHappening()) { return(2); } if (Bestellingen.Any(b => b.Vereniging == vereniging)) { return(3); } return(0); }
public Bestelling PlaatsBestelling(Vereniging vereniging, int aantalTickets) { int ticketsBeschikbaar = Editie.GetAmountTicketsRemaining(); if (ticketsBeschikbaar < aantalTickets) { throw new ArgumentException($"Sorry, er zijn slechts {ticketsBeschikbaar} over. Gelieve minder tickets te bestellen."); } if (StartDatum >= DateTime.Now || EindDatum <= DateTime.Now) { throw new ArgumentException("Er kunnen nu geen bestellingen geplaatst worden, keer terug op een verkoopmoment."); } if (Bestellingen.Any(b => b.Vereniging.GroepId == vereniging.GroepId)) { throw new ArgumentException("Deze vereniging heeft reeds een bestelling geplaatst"); } if (vereniging.IsGroot && aantalTickets > MaxTicketsGroot) { throw new ArgumentException($"Deze vereniging kan maximaal {MaxTicketsGroot} tickets bestellen"); } if (!vereniging.IsGroot && aantalTickets > MaxTicketsKlein) { throw new ArgumentException($"Deze vereniging kan maximaal {MaxTicketsKlein} tickets bestellen"); } if (vereniging.MaxTicketsException != null) { int amountAlreadyOrdered = Editie.GetAmountTicketsOrderedByVereniging(vereniging); if (aantalTickets + amountAlreadyOrdered > vereniging.MaxTicketsException.Value) { int ticketsLeft = vereniging.MaxTicketsException.Value - amountAlreadyOrdered; throw new ArgumentException($"Deze vereniging kan maar {ticketsLeft} tickets meer bestellen"); } } Bestelling bestelling = new Bestelling(this, vereniging, aantalTickets); Bestellingen.Add(bestelling); return(bestelling); }