Ejemplo n.º 1
0
        //Deze methode blokkeert een klant en de aan hem gelinkte gebruiker zodat deze niet meer kan inloggen.
        //Indien het een klant (Admin) is wordt de aan hem gelinkte KlantAccounts ook geblokeerd.
        //Indien het een KlantAccount is wordt enkel deze geblokkerd.
        public void BlockKlant(int id)
        {
            Klant     k    = GetKlant(id);
            Gebruiker user = repoUser.FindGebruiker(id);

            //Er wordt gecheckt of het een KlantAccount is of niet.
            if (k.IsKlantAccount == false)
            {
                //klant en gebruiker worden geblokeerd.
                user.Toegestaan = false;
                repoUser.UpdateGebruiker(user);
                repo.BlockKlant(id);
                List <Klant> klantenAcc = new List <Klant>();
                //Alle klanten worden opgehaald.
                klantenAcc = GetKlanten().ToList();
                foreach (Klant acc in klantenAcc)
                {
                    //Wordt gecheckt of de klantAccounts van de klant zijn.
                    if (acc.HoofdKlant == k)
                    {
                        //KlantAccount en zijn gebruiker worden geblokkeerd.
                        Gebruiker userAcc = repoUser.FindGebruiker(acc.KlantId);
                        userAcc.Toegestaan = false;
                        repoUser.UpdateGebruiker(userAcc);
                        repo.BlockKlant(acc.KlantId);
                    }
                }
            }
            //Indien KlantAccount is wordt enkel deze geblokkeerd.
            else
            {
                user.Toegestaan = false;
                repoUser.UpdateGebruiker(user);
                repo.BlockKlant(id);
            }
        }