Esempio n. 1
0
        /// <summary>
        /// Feedback geven op de afgelopen sessie
        /// </summary>
        /// <param name="feedbacktxt">feedback tekst</param>
        /// <param name="gebruiker">Gebruiker Object</param>
        public void FeedbackGeven(string feedbacktxt, Gebruiker gebruiker, int score)
        {
            if (StatusSessie != StatusSessie.Gesloten)
            {
                throw new FeedbackException("Je kan geen feedback geven op een niet afgelopen sessie.");
            }
            if (gebruiker.StatusGebruiker != StatusGebruiker.Actief)
            {
                throw new GeenActieveGebruikerException("Je moet een actieve gebruiker zijn om feedback te kunnen geven");
            }
            if (score < 1 || score > 5)
            {
                throw new FeedbackException("Score moet tussen 1 en 5 liggen");
            }

            foreach (Feedback f in FeedbackList)
            {
                if (f.Auteur == gebruiker)
                {
                    throw new FeedbackException("Gebruiker heeft al feedback gegeven.");
                }
            }

            if (gebruiker.Aanwezig(this))
            {
                Feedback feedback = new Feedback(gebruiker, feedbacktxt, DateTime.Now, score);
                FeedbackList.Add(feedback);
            }
            else
            {
                throw new AanwezigException("Gebruiker was niet aanwezig of niet ingeschreven en kan dus geen feedback geven!");
            }
        }