Created
September 16, 2022 16:43
-
-
Save benjaminvanrenterghem/0be8cdfc61c1eeae659918ea1a7b2edb to your computer and use it in GitHub Desktop.
Manager coupling
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public int VoegBestuurderToe(Bestuurder bestuurder) { | |
if(bestuurder is null) { | |
throw new BestuurderManagerException("Meegegeven bestuurder is null."); | |
} else if(bestuurder.Id is not null || bestuurder.Id > 0) { | |
throw new BestuurderManagerException("Id van bestuurder is reeds ingesteld."); | |
} else if(this.ZoekBestuurders("Rijksregisternummer", bestuurder.RijksRegisterNummer).Count > 0) { | |
throw new BestuurderManagerException("Er bestaat reeds een bestuurder met dit RRN."); | |
} | |
// Afhankelijkheid #1 | |
if(bestuurder.Tankkaart is not null) { | |
if(bestuurder.Tankkaart.Id is null) { | |
throw new BestuurderManagerException("Tankkaart werd meegegeven maar deze heeft geen id."); | |
} | |
if(_fleetManager.TankkaartManager.GeefTankkaartDetail((int)bestuurder.Tankkaart.Id) is null) { | |
throw new BestuurderManagerException("Tankkaart werd meegegeven maar kon niet gevonden worden."); | |
} | |
} | |
// Afhankelijkheid #2 | |
if(bestuurder.Voertuig is not null) { | |
if (bestuurder.Voertuig.Id is null) { | |
throw new BestuurderManagerException("Voertuig werd meegegeven maar deze heeft geen id."); | |
} | |
if(_fleetManager.VoertuigManager.GeefVoertuigDetail((int)bestuurder.Voertuig.Id) is null) { | |
throw new BestuurderManagerException("Voertuig werd meegegeven maar kon niet gevonden worden."); | |
} | |
} | |
try { | |
return _opslag.VoegBestuurderToe(bestuurder); | |
} catch (Exception e) { | |
throw new BestuurderManagerException("Bestuurder kon niet toegevoegd worden.", e); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment