Example #1
0
        /// <summary>
        /// User wordt uitgeschreven bij de sessie
        /// </summary>
        /// <param name="sessie">User object</param>
        public void SchrijfUit(Gebruiker gebruiker)
        {
            if (StartDatum <= DateTime.Now)
            {
                throw new SchrijfInSchrijfUitException("Je kan je niet uitschreven in een sessie die gepasseerd is.");
            }

            if (gebruiker == Verantwoordelijke)
            {
                throw new SchrijfInSchrijfUitException("Je kan je niet uitschreven voor een sessie waarvoor je verantwoordelijk bent.");
            }

            bool succes = false;

            foreach (GebruikerSessie gebruikerSessie in GebruikerSessies)
            {
                if (gebruikerSessie.Gebruiker == gebruiker)
                {
                    gebruiker.GebruikerSessies.Remove(gebruikerSessie);
                    GebruikerSessies.Remove(gebruikerSessie);
                    succes = true;
                    break;
                }
            }
            if (!succes)
            {
                throw new SchrijfInSchrijfUitException("Je kon niet worden uitgeschreven, omdat je niet ingeschreven bent.");
            }
        }
Example #2
0
        /// <summary>
        /// User wordt ingeschreven bij de sessie
        /// </summary>
        /// <param name="sessie">User Object</param>
        public void SchrijfIn(Gebruiker gebruiker)
        {
            if (StartDatum < DateTime.Now)
            {
                throw new SchrijfInSchrijfUitException("je kan je niet inschrijven in een verleden maand.");
            }
            if (GebruikerSessies.Count > Capaciteit)
            {
                throw new SchrijfInSchrijfUitException("je kan je niet meer inschrijven in deze sessie. De sessie is volzet.");
            }

            foreach (GebruikerSessie gebruikerSessie in GebruikerSessies)
            {
                if (gebruikerSessie.Gebruiker == gebruiker)
                {
                    throw new SchrijfInSchrijfUitException("Je bent al ingeschreven voor deze sessie.");
                }
            }

            if (gebruiker.StatusGebruiker == StatusGebruiker.Actief)
            {
                GebruikerSessie gebruikersessie = new GebruikerSessie(this, gebruiker);
                gebruiker.GebruikerSessies.Add(gebruikersessie);
                GebruikerSessies.Add(gebruikersessie);
            }
            else
            {
                throw new GeenActieveGebruikerException("Je kan je niet inschrijven omdat je geen actieve gebruiker bent. Gelieve contact op te nemen met de hoofdverantwoordelijk.");
            }
        }