private GebruikerKlant(GebruikerDepartement gebruikerDepartement, DepartementKlant departementKlant) : this()
 {
     GebruikerDepartement = gebruikerDepartement;
     GebruikerDepartementId = gebruikerDepartement.Id;
     DepartementKlant = departementKlant;
     DepartementKlantId = departementKlant.Id;
 }
 public static DepartementKlant koppelDepartementAanKlant(Departement departement, Klant klant)
 {
     DepartementKlant departementKlant = new DepartementKlant(departement, klant);
     klant.DepartementKlanten.Add(departementKlant);
     departement.DepartementKlanten.Add(departementKlant);
     return departementKlant;
 }
 public void InsertOrUpdate(DepartementKlant departementklant)
 {
     if (departementklant.Id == default(int)) {
         // New entity
         context.DepartementKlants.Add(departementklant);
     } else {
         // Existing entity
         context.Entry(departementklant).State = EntityState.Modified;
     }
 }
        public static GebruikerKlant koppelGebruikerAanKlant(GebruikerDepartement gebruikerDepartement, DepartementKlant departementKlant)
        {
            Departement klantDep = departementKlant.Departement;
            Departement gebruikerDep = gebruikerDepartement.Departement;            

            if (!klantDep.Equals(gebruikerDep))
            {
                throw new Exception("De gebruiker kan niet gekoppeld worden aan de klant. De gebruiker behoort tot geen enkel departement waar de klant aan gekoppeld is");
            }

            GebruikerKlant koppeling = new GebruikerKlant(gebruikerDepartement, departementKlant);
            gebruikerDepartement.GebruikerKlanten.Add(koppeling);
            departementKlant.GebruikerKlanten.Add(koppeling);

            return koppeling;
        }