/// <summary> /// Erzeuge eine Instanz der Klasse LocalUserController Klasse. /// </summary> public LocalUserController() : base() { localUserDB = new LocalUserDatabaseManager(); userAPI = new UserAPI(); }
/// <summary> /// Erzeuge eine Instanz der Klasse LocalUserController Klasse mit Validierungsbehandlung. /// </summary> /// <param name="validationErrorReporter">Eine Referenz auf die Realsierung des IValidationErrorReport Interfaces.</param> public LocalUserController(IValidationErrorReport validationErrorReporter) : base(validationErrorReporter) { localUserDB = new LocalUserDatabaseManager(); userAPI = new UserAPI(); }
/// <summary> /// Gibt den lokalen Nutzer zurück. Liefert null zurück wenn kein lokaler /// Nutzer definiert ist. Da diese Methode in allen ViewModel Klassen benötigt wird /// ist sie in der abstrakten Basisklasse implementiert. /// </summary> /// <returns>Instanz der User Klasse, oder null wenn kein lokaler Nutzer definiert ist.</returns> /// <exception cref="ClientException">Wirft ClientException, wenn beim Ermitteln des lokalen Nutzers ein Fehler aufgetreten ist.</exception> protected User getLocalUser() { // Frage zuerst das lokale Nutzerobjekt aus dem Cache ab. User localUser = LocalUser.GetInstance().GetCachedLocalUserObject(); if (localUser == null) { // Lokales Nutzerobjekt noch nicht im Cache. Frage es aus der DB ab. try { Debug.WriteLine("Retrieve local user object from DB."); LocalUserDatabaseManager localUserDB = new LocalUserDatabaseManager(); localUser = localUserDB.GetLocalUser(); // Speichere Objekt im Cache. LocalUser.GetInstance().CacheLocalUserObject(localUser); } catch (DatabaseException ex) { Debug.WriteLine("Database exception occurred in GetLocalUser(). Message of exception is: " + ex.Message); // Abbilden des aufgetretenen Fehlers auf eine ClientException. // TODO - hier Exception werfen? //throw new ClientException(ErrorCodes.LocalDatabaseException, "Retrieval of local user account has failed."); } } else { Debug.WriteLine("Retrieved local user object from cache."); } return localUser; }