/// <summary> /// Entsprechend des Netzwerkstatus wird lokal oder am Server angelegt /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public async Task <Guid> SignIn(string username, string password) { User user = new fITNat.DBModels.User(); Guid userId; user.Username = username; user.Password = password; //Console.WriteLine("Online vor der Entscheidung: " + Online); if (Online) { try { bool success = await mgnService.SignIn(username, password); if (success) { userId = mgnService.actualSession().CurrentUserId; user.UserId = userId.ToString(); if (db != null) { db.insertUpdateUser(user); Console.WriteLine("User eingeloggt und lokal abgelegt"); } return(userId); } } catch (ServerException ex) { System.Console.WriteLine("Fehler beim Online-Einloggen (Server)" + ex.StackTrace); throw; } catch (Exception exc) { System.Console.WriteLine("Fehler beim Online-Einloggen" + exc.StackTrace); } return(new Guid()); } else { try { //Lokal nachschauen Guid result = db.findUser(username, password); if (result != null) { return(result); } } catch (Exception exc) { System.Console.WriteLine("Fehler beim Offline-Einloggen" + exc.StackTrace); throw; } return(new Guid()); } }
/// <summary> /// Entsprechend des Netzwerkstatus wird lokal oder am Server angelegt /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public async Task<Guid> SignIn(string username, string password) { User user = new fITNat.DBModels.User(); Guid userId; user.Username = username; user.Password = password; //Console.WriteLine("Online vor der Entscheidung: " + Online); if (Online) { try { bool success = await mgnService.SignIn(username, password); if (success) { userId = mgnService.actualSession().CurrentUserId; user.UserId = userId.ToString(); if (db != null) { db.insertUpdateUser(user); Console.WriteLine("User eingeloggt und lokal abgelegt"); } return userId; } } catch (ServerException ex) { System.Console.WriteLine("Fehler beim Online-Einloggen (Server)" + ex.StackTrace); throw; } catch (Exception exc) { System.Console.WriteLine("Fehler beim Online-Einloggen" + exc.StackTrace); } return new Guid(); } else { try { //Lokal nachschauen Guid result = db.findUser(username, password); if (result != null) return result; } catch (Exception exc) { System.Console.WriteLine("Fehler beim Offline-Einloggen" + exc.StackTrace); throw; } return new Guid(); } }
/// <summary> /// Entsprechend des Netzwerkstatus wird am Server angelegt oder ein Fehler angezeigt /// </summary> /// <param name="username"></param> /// <param name="email"></param> /// <param name="password"></param> /// <param name="passwordConfirm"></param> /// <param name="gender"></param> /// <param name="job"></param> /// <param name="fitness"></param> /// <param name="birthdate"></param> /// <returns></returns> public async Task<bool> SignUp(string username, string email, string password, string passwordConfirm, GenderType gender, JobTypes job, FitnessType fitness, DateTime birthdate) { if (Online) { try { User user = new User(); user.UserId = await mgnService.SignUp(username, email, password, passwordConfirm, gender, job, fitness, birthdate); user.Username = username; user.Password = password; user.wasOffline = false; db.insertUpdateUser(user); } catch (ServerException ex) { System.Console.WriteLine("Fehler beim Registrieren: " + ex.StackTrace); throw; } } else { //Fehler schmeissen, dass man offline ist!!! throw (new Exception("Registrierung funktioniert nur im Online-Modus")); } return true; }