public static void ExportToIP(string path, TeacherVM teacher) { IPConverter.Convert(Context.EntitiesVmRegistry, path, teacher); }
/// <summary> /// Returns true when succesful, false otherwise /// </summary> /// <param name="gametime"></param> /// <returns></returns> private async Task <LoginResult> Login(IGameTimeService gametime, int maxNumTries = 5) { int numTries = 0; _loggingIn = true; #if DEVELOPMENT if (Debugging.Autologin) { await Task.Delay(8000); Username = Debugging.AutoLoginName; Password = Debugging.AutoLoginPassword; ReadyToLogin = true; Console.WriteLine("Autologin attempt as " + Debugging.AutoLoginName); } else { Console.Write("ENTER USERNAME: "******"ENTER PASSWORD: "******"Logging in..."; string response = await _clientManager.ConnectToURI(_buildLoginRequest(_loginConfig.LoginIP, _loginConfig.LoginPort, Username, Password)); if (response == null) { //Something went wrong...figure out how to deal with this later, if necessary LoginDisplayMessage = "Something went wrong..."; _isLoggedIn = false; _loggingIn = false; return(LoginResult.UnknownFailure); } else if (response == "timeout") { //Response timed out, try again numTries++; } else { LoginResponse lr = JsonConvert.DeserializeObject <LoginResponse>(response); EncryptionKey = lr.Key; EncryptionIV = lr.IV; Console.WriteLine("Login Response, " + lr.Result); if (lr.Result == LoginResult.Success) { string IPAddress = IPConverter.Convert(lr.ServerIP); bool connected = false; await Task.Run(() => { //_clientManager.ConnectToMasterServer(_loginConfig.MasterServerIP, _loginConfig.MasterServerPort); connected = _clientManager.ConnectToSlaveServer(IPAddress, lr.ServerPort, lr.HailMessage, Username, Password, 2000); }); if (!connected) { _loggingIn = false; ReadyToLogin = false; LoginDisplayMessage = "Could not connect to server."; Console.WriteLine("Could not connect to slave. Connection refused? Ensure that networking is being updated."); } _loggingIn = false; _isLoggedIn = true; ReadyToLogin = false; return(LoginResult.Success); } else { if (lr.Result == LoginResult.InvalidUsernameOrPassword) { LoginDisplayMessage = "Invalid username or password."; } else if (lr.Result == LoginResult.AlreadyLoggedOn) { LoginDisplayMessage = "User is already logged on!"; } else if (lr.Result == LoginResult.AlreadyPending) { //Ideally the user won't ever see this case... LoginDisplayMessage = "User is already attempting to log on!"; } _loggingIn = false; ReadyToLogin = false; return(lr.Result); } } } //All requests timed out, reset state _loggingIn = false; ReadyToLogin = false; LoginDisplayMessage = "Request timeout. Check your internet connection."; return(LoginResult.MaxTimeoutsExceeded); }