예제 #1
0
        public Bestelling AddBestelling(int aantalCheques, bool elektronisch, DateTime debiteerDatum)
        {
            Bestelling b = new Bestelling(aantalCheques, elektronisch, debiteerDatum);

            if (GetAantalBesteldeCheques(b.CreatieDatum.Year) + aantalCheques > 500)
            {
                throw new ArgumentException("Je hebt de grens van 500 checques bereikt");
            }
            Bestellingen.Add(b);
            if (elektronisch)
            {
                for (int i = 0; i < aantalCheques; i++)
                {
                    Portefeuille.Add(new DienstenCheque(elektronisch));
                }
                IEnumerable <Prestatie> nietBetaaldePrestaties = GetOpenstaandePrestaties();
                foreach (Prestatie p in nietBetaaldePrestaties)
                {
                    BetaalPrestatie(p);
                    if (!p.Betaald)
                    {
                        break;
                    }
                }
            }
            return(b);
        }
예제 #2
0
        public async Task <List <Bestellingen> > GetReserveringenAsync(Guid id, List <Bestellingen> reserveringen)
        {
            // Guid.Parse("bfe1524b-2be9-4337-8832-96ddc56c2ea7"
            var result = (from film in _CinemaDbContext.Films
                          join filmVert in _CinemaDbContext.FilmVertoningen on film.Id equals filmVert.FilmId
                          join resVert in _CinemaDbContext.ReserveringenVertoningen on filmVert.Id equals resVert.VertoningsId
                          join res in _CinemaDbContext.Reserveringen on resVert.ReserveringsId equals res.ReserveringsId
                          where res.KlantId == id
                          orderby filmVert.Datum ascending
                          select new { film.Id, film.Titel, filmVert.ZaalNr, filmVert.Datum, resVert.AantalTickets });

            // looped tot hij alles uit de query heeft gehaald
            foreach (var row in result)
            {
                if (row.Titel != null)
                {
                    var tempResult = new Bestellingen
                    {
                        Id            = row.Id,
                        Titel         = row.Titel,
                        ZaalNr        = row.ZaalNr,
                        Datum         = row.Datum,
                        AantalTickets = row.AantalTickets,
                    };
                    // voegt de record toe aan de lijst
                    reserveringen.Add(tempResult);
                }
            }
            // geeft de lijst met reserveringen terug
            return(await Task.FromResult(reserveringen));
        }
예제 #3
0
 /// <summary>
 /// Verwijderd een bestelling en geeft het resultaat terug
 /// De bestelling mag niet null zijn
 /// </summary>
 /// <param name="bestelling"></param>
 /// <returns>
 /// Wel of niet verwijderd
 /// </returns>
 public bool AnnuleerBestelling(Bestelling bestelling)
 {
     if (bestelling == null)
     {
         throw new ArgumentNullException("bestelling", "bestelling mag niet null zijn");
     }
     return(Bestellingen.Remove(bestelling));
 }
예제 #4
0
 /// <summary>
 /// Voeg een bestelling toe aan de lijst
 /// De bestelling mag niet null zijn
 /// </summary>
 /// <param name="bestelling"></param>
 public void VoegBestellingToe(Bestelling bestelling)
 {
     if (bestelling == null)
     {
         throw new ArgumentNullException("bestelling", "bestelling mag niet null zijn");
     }
     Bestellingen.Add(bestelling);
 }
        public Bestelling AddBestelling(int aantalCheques, bool elektronisch, DateTime debiteerDatum)
        {
            //vervolledig implementatie
            Bestelling b = new Bestelling(aantalCheques, elektronisch, debiteerDatum);

            Bestellingen.Add(b);
            return(b);
        }
예제 #6
0
        /// <summary>
        /// Voegt bestelling toe aan een bioscoopvertoning
        /// </summary>
        /// <param name="bestelling"></param>
        /// <returns></returns>
        public void VoegBestellingToe(Bestelling bestelling)
        {
            if (bestelling == null)
            {
                throw new ArgumentNullException();
            }

            Bestellingen.Add(bestelling);
        }
예제 #7
0
 public PenningBestellingenViewModel(McEditie editie, int sortByPaid = 0)
 {
     EditieId     = editie.Id;
     EditieNaam   = editie.Naam;
     Bestellingen = editie.Verkoopmomenten.SelectMany(v => v.Bestellingen).ToList();
     Bestellingen = sortByPaid == 1
         ? Bestellingen.OrderBy(b => b.IsBetaald)
                    .ThenBy(b => b.Vereniging.GroepNaam)
                    .ThenBy(b => b.Verkoopmoment.StartDatum)
                    .ToList()
         : Bestellingen.OrderBy(b => b.Vereniging.GroepNaam)
                    .ThenBy(b => b.Verkoopmoment.StartDatum)
                    .ToList();
     SortByPaid = (sortByPaid == 1);
 }
예제 #8
0
 public IEnumerable <Bestelling> GetBestellingen(int aantalMaanden)
 {
     return(Bestellingen.Where(b => (DateTime.Today.AddMonths(-aantalMaanden) <= b.CreatieDatum)).OrderByDescending(b => b.CreatieDatum));
 }
예제 #9
0
 private int GetAantalBesteldeCheques(int jaar)
 {
     return(Bestellingen.Where(b => b.CreatieDatum.Year == jaar).Sum(b => b.AantalAangekochteCheques));
 }
예제 #10
0
 public void PlaatsBestelling(Winkelwagen winkelwagen)
 {
     Bestellingen.Add(new Bestelling(winkelwagen));
 }