Beispiel #1
0
        public void VoegReservatieLijnToe(Product product, int aantal, bool[] dagen = null)
        {
            List <BlokkeringDag> dagenLijst = null;

            if (dagen != null)
            {
                dagenLijst = new List <BlokkeringDag>();
                for (int i = 0; i < dagen.Length; i++)
                {
                    if (dagen[i])
                    {
                        DateTime nieuwDatum = StartDatum;
                        nieuwDatum = nieuwDatum.AddDays(i);
                        dagenLijst.Add(new BlokkeringDag(nieuwDatum));
                    }
                }
            }
            ReservatieLijn rl = new ReservatieLijn()
            {
                Product    = product,
                Aantal     = aantal,
                Reservatie = this,
                Dagen      = dagenLijst
            };

            product.VoegReservatieLijnToe(rl);
            ReservatieLijnen.Add(rl);
        }
        public int GeefAantalReserveerbaarInPeriode(DateTime startDatum, DateTime eindDatum)
        {
            int aantal = AantalInCatalogus;

            ReservatieLijnen.ForEach(rl =>
            {
                if (startDatum == rl.GeefStartDatumVoorReservatie() && eindDatum == rl.GeefEindDatumVoorReservatie())
                {
                    aantal -= rl.Aantal;
                }
            });
            return(aantal);
        }
        public List <ApplicationUser> WijzigReservatieAantal(int aantal)
        {
            List <ApplicationUser> hulp = new List <ApplicationUser>();
            List <ReservatieLijn>  sortedReservatieLijnen = ReservatieLijnen.OrderByDescending(rl => rl.GeefAanmaakDatumVoorReservatie()).ToList();

            foreach (var reslijn in sortedReservatieLijnen)
            {
                if (reslijn.Reservatie.ReservatieUser is Student)
                {
                    if (reslijn.Aantal == aantal)
                    {
                        reslijn.Aantal = 0;
                        reslijn.Reservatie.ReservatieStatus = ReservatieStatus.Geannuleerd;
                        if (!hulp.Contains(reslijn.Reservatie.ReservatieUser))
                        {
                            hulp.Add(reslijn.Reservatie.ReservatieUser);
                        }
                    }
                    else if (aantal > reslijn.Aantal)
                    {
                        aantal -= reslijn.Aantal;
                        reslijn.Reservatie.ReservatieStatus = ReservatieStatus.Geannuleerd;
                        reslijn.Aantal = 0;
                        if (!hulp.Contains(reslijn.Reservatie.ReservatieUser))
                        {
                            hulp.Add(reslijn.Reservatie.ReservatieUser);
                        }
                    }
                    else
                    {
                        reslijn.Aantal -= aantal;
                        reslijn.Reservatie.ReservatieStatus = ReservatieStatus.Gewijzigd;
                        if (!hulp.Contains(reslijn.Reservatie.ReservatieUser))
                        {
                            hulp.Add(reslijn.Reservatie.ReservatieUser);
                        }
                    }
                }
            }
            return(hulp);
        }
 public void VoegReservatieLijnToe(ReservatieLijn reservatieLijn)
 {
     ReservatieLijnen.Add(reservatieLijn);
 }