Пример #1
0
        //Deze methode verwijdert een klant en de aan hem gelinkte Gebruiker.
        //Indien het een Hoofdklant(KlantAdmin) worden al zijn KlantAccounts en de aan hun gelinkte Gebruikers verwijdert.
        public void RemoveKlant(int id)
        {
            Klant     k    = GetKlant(id);
            Gebruiker user = repoUser.FindGebruiker(id);

            //Wordt gecheckt of het een KlantAccount is.
            if (k.IsKlantAccount == false)
            {
                List <Klant> klantenAcc = new List <Klant>();
                klantenAcc = GetKlantenAccounts(k).ToList();
                //Alle KlantAccounts worden opgehaald.
                foreach (Klant acc in klantenAcc)
                {
                    //De KlantAccount en zijn Gebruiker worden verwijderd.
                    Gebruiker userAcc = repoUser.FindGebruiker(acc.KlantId);
                    repo.DeleteKlant(acc);
                    repoUser.DeleteGebruiker(userAcc);
                }
                //De Klant(Admin) en zijn gebruiker worden verwijderd.
                repo.DeleteKlant(k);
                repoUser.DeleteGebruiker(user);
            }
            else
            {
                //Indien KlantAccount wordt enkel deze en zijn gebruiker verwijderd.
                repo.DeleteKlant(k);
                repoUser.DeleteGebruiker(user);
            }
        }
Пример #2
0
        public KlantDTO DeleteKlant(string klantId)
        {
            var deletedKlant = _repositoryKlant.DeleteKlant(klantId);

            if (deletedKlant == null)
            {
                return(null);
            }
            try
            {
                _repositoryKlant.SaveChanges();
            }
            catch (DbUpdateException)
            {
                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return(_klantMapper.MapToDTO(deletedKlant));
        }