public void Login(string username, string password, string token) { try { var req = $"SELECT * FROM users WHERE username = '******' AND password = '******' AND token = '{token}'"; var responseCode = DatabaseProvider.CreateRequest(ConnectionProv.DbaseProvider, req); FormsManaging.TextGenerator(responseCode.Length.ToString()); using (var ms = new MemoryStream(responseCode)) { using (var reader = new BinaryReader(ms)) { var first = reader.ReadByte(); switch (first) { case 0: FormsManaging.TextGenerator("There are some troubles so user can't login"); break; case 1: FormsManaging.TextGenerator($"{username} logged in!"); ConnectionProv.Players.Add(new Player(new PlayerAccountInfo(username, token), new PlayerMultiplayerInfo())); break; } } } } catch (NullReferenceException ex) { FormsManaging.TextGenerator(ex.ToString()); } }
public static string InsertRequest(string TableName, string columns, string data) { string command = null; try { string[] ColumnsData = new string[columns.Split(' ').Count() - 1]; string[] dbData = new string[data.Split(' ').Count() - 1]; dbData = data.Split(' '); ColumnsData = columns.Split(','); string temp = null; string tempData = null; foreach (string name in ColumnsData) { temp += $"{name},"; } foreach (string name in dbData) { tempData += $"'{name}',"; } var clearColumns = temp.Remove(temp.LastIndexOf(','), 1); var clearData = tempData.Remove(tempData.LastIndexOf(','), 1); FormsManaging.TextGenerator(clearData); command = $"INSERT INTO {TableName} ({clearColumns}) VALUES ({clearData})"; } catch (Exception ex) { FormsManaging.TextGenerator(ex.ToString()); } return(command); }
public static void Auth(string data) { try { var req = SELECT.SelectLoginRequest("*", "users", Items.GetLoginList(), Items.SetLoginList(data)); RequestToDB.CreateRequest(req, "LoginRequest"); } catch (Exception ex) { FormsManaging.TextGenerator(ex.ToString()); } }
public static void RegisterProfile(string data) { try { var req = INSERT.InsertRequest("users", Items.GetRegisterList(), Items.SetRegisterList(data)); RequestToDB.CreateRequest(req, "RegistrationRequest"); } catch (Exception ex) { FormsManaging.TextGenerator(ex.ToString()); } }
public static async void ServerStart() { FormsManaging.TextGenerator("Server started."); IPAddress localAdd = IPAddress.Parse(SERVER_IP); listener = new TcpListener(localAdd, PORT_NO); FormsManaging.TextGenerator("Listening..."); //RequestToDB.CreateRequest("ALTER TABLE users ADD regTime TIMESTAMP DEFAULT NOW()"); while (true) { await SyncTask(); } }
private void SynchronizationUser(Guid giud, TcpClient tcpClient) { FormsManaging.TextGenerator("New client available!"); var nwStream = tcpClient.GetStream(); FormsManaging.TextGenerator("GetStream"); var buffer = new byte[tcpClient.ReceiveBufferSize]; FormsManaging.TextGenerator(buffer.Length.ToString()); FormsManaging.TextGenerator("Receive buffer size"); nwStream.Read(buffer, 0, buffer.Length); FormsManaging.TextGenerator("Read"); CreateAction(buffer, 0); FormsManaging.TextGenerator("Action created"); }
public void CreateAccount(string username, string email, string password) { try { var req = $"INSERT INTO users (username, password, email, regTime, token) VALUES ({username}, {password}, {email}" + $", {DateTime.Now.ToString("s")}, {Guid.NewGuid().ToString()})";//INSERT.InsertRequest("users", Items.GetRegisterList(), Items.SetRegisterList(data)); DatabaseProvider.CreateRequest(ConnectionProv.DbaseProvider, req); } catch (Exception ex) { FormsManaging.TextGenerator(ex.ToString()); } }
public static byte[] CreateRequest(DatabaseProvider databaseProvider, string requestMessage) { using (var memoryStream = new MemoryStream()) { FormsManaging.TextGenerator($"Created a new request with data :> {requestMessage}"); using (var writer = new BinaryWriter(memoryStream)) { try { var sqlCommand = databaseProvider.SqlConnection.CreateCommand(); sqlCommand.CommandText = requestMessage; databaseProvider.SqlConnection.Open(); var reader = sqlCommand.ExecuteReader(); reader.Read(); if (reader.HasRows) { writer.Write((byte)1); } else if (!reader.HasRows) { writer.Write((byte)0); } //writer.Write((byte)6); /*var dataAffected = reader.RecordsAffected; * if (dataAffected > 0) * { * writer.Write((byte)0); * FormsManaging.TextGenerator("Registered"); * } * else if (dataAffected == 0) * { * writer.Write((byte)1); * FormsManaging.TextGenerator("failed"); * }*/ } catch (MySqlException exception) { FormsManaging.TextGenerator(exception.ToString()); } } databaseProvider.SqlConnection.Close(); //FormsManaging.TextGenerator(memoryStream.Length.ToString()); return(memoryStream.ToArray()); } }
public static string GetResponce(MySqlDataReader Reader, string Tag) { string Return = null; string data = Tag; Reader.Read(); switch (data) { case "RegistrationRequest": break; case "LoginRequest": if (Reader.HasRows) { FormsManaging.TextGenerator("user logged in!"); } else if (!Reader.HasRows) { FormsManaging.TextGenerator("failed to login"); } break; case "GetLeaderboardsRequest": Return = $"{Reader["username"].ToString()},{Reader["score"].ToString()}|"; while (Reader.Read()) { Return += $"{Reader["username"].ToString()},{Reader["score"].ToString()}|"; FormsManaging.TextGenerator(Return); } var clear = Return.Remove(Return.LastIndexOf('|')); FormsManaging.TextGenerator(Return); break; case "GetScoreRequest": break; case "SetScoreRequest": break; } return(Return); }
public void HandleServerData(byte[] receivedData, ConnectionProvider connectionProvider, int id) { using (var reader = new BinaryReader(new MemoryStream(receivedData))) { try { var first = reader.ReadByte(); FormsManaging.TextGenerator(first.ToString()); switch (first) { case 1: var firstCaseByte = reader.ReadByte(); switch (firstCaseByte) { case 1: connectionProvider.AuthProv.Login(reader.ReadString(), reader.ReadString(), reader.ReadString()); break; case 2: connectionProvider.AuthProv.CreateAccount(reader.ReadString(), reader.ReadString(), reader.ReadString()); break; case 3: connectionProvider.AuthProv.LogOut(reader.ReadString()); break; default: FormsManaging.TextGenerator("Unknown byte!"); break; } break; default: throw new Exception($"Unknown byte {first}"); } } catch (Exception ex) { FormsManaging.TextGenerator(ex.ToString()); } } }
public static string GetException(MySqlException exception) { //JsonSerializer serializer = new JsonSerializer(); //serializer.Serialize() int exceptionNumber = exception.Number; string Responce = null; switch (exceptionNumber) { case 1062: Responce = "Username or email already used."; break; default: Responce = "There aren't any exceptions!"; break; } FormsManaging.TextGenerator(Responce); return(Responce); }
public string GetException(MySqlException exception) { //JsonSerializer serializer = new JsonSerializer(); //serializer.Serialize() var exceptionNumber = exception.Number; var response = string.Empty; switch (exceptionNumber) { case 1062: response = "Username or email already used."; break; default: response = "Registered!"; break; } FormsManaging.TextGenerator(response); return(response); }
public static string CreateRequest(string requestMessage, string tag) //this func sending request to database. { string Responce = null; DatabaseConnector.ConnectToDB(); try { MySqlCommand sqlCommand = DatabaseConnector.sqlConnection.CreateCommand(); MySqlDataReader Reader; sqlCommand.CommandText = requestMessage; DatabaseConnector.sqlConnection.Open(); Reader = sqlCommand.ExecuteReader(); Responce = ResponceFromDB.GetResponce(Reader, tag); DatabaseConnector.sqlConnection.Close(); } catch (MySqlException exception) { ExecuteResponce(exception); FormsManaging.TextGenerator(exception.ToString()); } return(Responce); }
public void Connect() { _sqlConnection = new MySqlConnection("Server=localhost;Database=database;Uid=root;Pwd=12345678;"); FormsManaging.TextGenerator("Connected to the Database."); }