/// <summary> /// Register a new player /// Returns null if it fails /// </summary> /// <param name="username">Username of the player</param> /// <param name="password">Password of the player</param> /// <returns>The player or null depending on how it's result</returns> public static KeyValuePair <DBProfile_Login, string> RegisterPlayer(string username, string password) { string hash = DBPasswordHash.GetHashString(password); if (!PlayerExist(username)) { string sql = String.Format("INSERT INTO [dbo].[{0}] (Username,Password) VALUES('{1}', '{2}'); " , tableName , username , hash); var sqlResult = DBEndPoint.ExecuteSQL(sql); if (sqlResult.Key) { var player = GetPlayer(username, hash); RegisterPlayerInOtherTables(player.id); return(new KeyValuePair <DBProfile_Login, string>(player, "Succesfully generated")); } else { return(new KeyValuePair <DBProfile_Login, string>(null, "Internal issue")); } } else { return(new KeyValuePair <DBProfile_Login, string>(null, "A player with that name already exist")); } }
public void Handle(object objData, Server_ServerClient client) { var data = (Message_ClientRequest_Login)objData; var passwordHashed = DBPasswordHash.GetHashString(data.password); var player = DBLogin.GetPlayer(data.name, passwordHashed); var msg = new Message_ServerResponse_Login(player); server.messageSender.Send(msg, client); }