Code cleanup

This commit is contained in:
VladMordock
2021-02-17 13:35:30 +01:00
parent 82f12a9b12
commit 9683e8e57e

View File

@@ -5,9 +5,9 @@ using System;
public class DatabaseController public class DatabaseController
{ {
public string DatabaseConnectionString; // MySQL connection string public string DatabaseConnectionString; // MySQL connection string
public MySqlConnection DatabaseConnection; public MySqlConnection DatabaseConnection; // MySQL connection
public bool DatabaseStatus; public bool DatabaseStatus; // MySQL connections status
public int SendToMySql(string RawTCPFrame, bool CheckConnection = false) public int SendToMySql(string RawTCPFrame, bool CheckConnection = false)
{ {
@@ -16,26 +16,29 @@ public class DatabaseController
{ {
RawTCPFrame = "{\"type\": \"-1\"}"; RawTCPFrame = "{\"type\": \"-1\"}";
} }
dynamic TCPFrame = JsonConvert.DeserializeObject(RawTCPFrame); // Deserialize raw data dynamic TCPFrame = JsonConvert.DeserializeObject(RawTCPFrame); // Deserialize raw data
string TCPFrameType = TCPFrame.type;
string TCPFrameTimestamp = TCPFrame.timestamp; string TCPFrameType = TCPFrame.type; // Frame type
string TCPFrameInstance = TCPFrame.instance; string TCPFrameTimestamp = TCPFrame.timestamp; // Frame timestamp
string TCPFramePayload; string TCPFrameInstance = TCPFrame.instance; // Frame instance
string SQLQueryTxt; string TCPFramePayload; // Frame payload
int ReturnValue = 1;
string SQLQueryTxt; // MySQL Query string
int ReturnValue = 1; // Default retirn value
// Some frames may come without timestamp, use database currrent timestampe then // Some frames may come without timestamp, use database currrent timestampe then
if (TCPFrameTimestamp != null) if (TCPFrameTimestamp != null)
{ {
TCPFrameTimestamp = "'" + TCPFrameTimestamp + "'"; TCPFrameTimestamp = "'" + TCPFrameTimestamp + "'"; // Use frame timestamp
} }
else else
{ {
TCPFrameTimestamp = "CURRENT_TIMESTAMP()"; TCPFrameTimestamp = "CURRENT_TIMESTAMP()"; // Get timestamp from MySQL
} }
// Modify specific types // Modify specific types
if (TCPFrameType == "1") if (TCPFrameType == "1")
{ {
TCPFrame.payload["v_win"] = "v" + Globals.VersionPerun; // Inject app version information TCPFrame.payload["v_win"] = "v" + Globals.VersionPerun; // Inject app version information
@@ -74,7 +77,6 @@ public class DatabaseController
else if (TCPFrameType == "53") else if (TCPFrameType == "53")
{ {
// User logged in to DCS server // User logged in to DCS server
SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.login_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where pe_DataPlayers_ucid='" + TCPFrame.payload.login_ucid + "');"; SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.login_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where pe_DataPlayers_ucid='" + TCPFrame.payload.login_ucid + "');";
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET pe_DataPlayers_lastip='" + TCPFrame.payload.login_ipaddr + "', pe_DataPlayers_lastname=@PAR_login_name,pe_DataPlayers_updated='" + TCPFrame.payload.login_datetime + "' WHERE `pe_DataPlayers_ucid`= '" + TCPFrame.payload.login_ucid + "';"; SQLQueryTxt += "UPDATE `pe_DataPlayers` SET pe_DataPlayers_lastip='" + TCPFrame.payload.login_ipaddr + "', pe_DataPlayers_lastname=@PAR_login_name,pe_DataPlayers_updated='" + TCPFrame.payload.login_datetime + "' WHERE `pe_DataPlayers_ucid`= '" + TCPFrame.payload.login_ucid + "';";
SQLQueryTxt += "INSERT INTO `pe_LogLogins` (`pe_LogLogins_datetime`, `pe_LogLogins_playerid`, `pe_LogLogins_name`, `pe_LogLogins_ip`,`pe_LogLogins_instance`) VALUES ('" + TCPFrame.payload.login_datetime + "', (SELECT pe_DataPlayers_id from pe_DataPlayers WHERE pe_DataPlayers_ucid = '" + TCPFrame.payload.login_ucid + "'), @PAR_login_name, '" + TCPFrame.payload.login_ipaddr + "','" + TCPFrameInstance + "');"; SQLQueryTxt += "INSERT INTO `pe_LogLogins` (`pe_LogLogins_datetime`, `pe_LogLogins_playerid`, `pe_LogLogins_name`, `pe_LogLogins_ip`,`pe_LogLogins_instance`) VALUES ('" + TCPFrame.payload.login_datetime + "', (SELECT pe_DataPlayers_id from pe_DataPlayers WHERE pe_DataPlayers_ucid = '" + TCPFrame.payload.login_ucid + "'), @PAR_login_name, '" + TCPFrame.payload.login_ipaddr + "','" + TCPFrameInstance + "');";
@@ -87,8 +89,6 @@ public class DatabaseController
else else
{ {
// General definition used for 1-10 type packets // General definition used for 1-10 type packets
SQLQueryTxt = "INSERT INTO `pe_DataRaw` (`pe_dataraw_type`,`pe_dataraw_instance`) SELECT '" + TCPFrameType + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataRaw` WHERE `pe_dataraw_type` = '" + TCPFrameType + "' AND `pe_dataraw_instance` = " + TCPFrameInstance + ");"; SQLQueryTxt = "INSERT INTO `pe_DataRaw` (`pe_dataraw_type`,`pe_dataraw_instance`) SELECT '" + TCPFrameType + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataRaw` WHERE `pe_dataraw_type` = '" + TCPFrameType + "' AND `pe_dataraw_instance` = " + TCPFrameInstance + ");";
SQLQueryTxt += "UPDATE `pe_DataRaw` SET `pe_dataraw_payload` = @PAR_TCPFramePayload, `pe_dataraw_updated`=" + TCPFrameTimestamp + " WHERE `pe_dataraw_type`=" + TCPFrameType + " AND `pe_dataraw_instance` = " + TCPFrameInstance + ";"; SQLQueryTxt += "UPDATE `pe_DataRaw` SET `pe_dataraw_payload` = @PAR_TCPFramePayload, `pe_dataraw_updated`=" + TCPFrameTimestamp + " WHERE `pe_dataraw_type`=" + TCPFrameType + " AND `pe_dataraw_instance` = " + TCPFrameInstance + ";";
} }
@@ -100,7 +100,6 @@ public class DatabaseController
// General status information // General status information
SQLQueryTxt += "INSERT INTO `pe_OnlineStatus` (`pe_OnlineStatus_instance`) SELECT '" + Int32.Parse(TCPFrameInstance) + "' FROM DUAL WHERE NOT EXISTS(SELECT * FROM `pe_OnlineStatus` WHERE `pe_OnlineStatus_instance` = '" + Int32.Parse(TCPFrameInstance) + "');"; SQLQueryTxt += "INSERT INTO `pe_OnlineStatus` (`pe_OnlineStatus_instance`) SELECT '" + Int32.Parse(TCPFrameInstance) + "' FROM DUAL WHERE NOT EXISTS(SELECT * FROM `pe_OnlineStatus` WHERE `pe_OnlineStatus_instance` = '" + Int32.Parse(TCPFrameInstance) + "');";
SQLQueryTxt += "UPDATE `pe_OnlineStatus` SET `pe_OnlineStatus_perunversion_winapp` = '" + TCPFrame.payload.v_win + "', `pe_OnlineStatus_perunversion_dcshook` ='" + TCPFrame.payload.v_dcs_hook + "' WHERE `pe_OnlineStatus_instance` = '" + Int32.Parse(TCPFrameInstance) + "' ;"; SQLQueryTxt += "UPDATE `pe_OnlineStatus` SET `pe_OnlineStatus_perunversion_winapp` = '" + TCPFrame.payload.v_win + "', `pe_OnlineStatus_perunversion_dcshook` ='" + TCPFrame.payload.v_dcs_hook + "' WHERE `pe_OnlineStatus_instance` = '" + Int32.Parse(TCPFrameInstance) + "' ;";
break; break;
case 2: case 2:
@@ -123,7 +122,6 @@ public class DatabaseController
Globals.CurrentMission.Theatre = TCPFrame.payload.mission.theatre; // Mission theatre Globals.CurrentMission.Theatre = TCPFrame.payload.mission.theatre; // Mission theatre
Globals.CurrentMission.Mission = TCPFrame.payload.mission.name; // Mission name Globals.CurrentMission.Mission = TCPFrame.payload.mission.name; // Mission name
Globals.CurrentMission.Pause = TCPFrame.payload.mission.pause; // Mission pause Globals.CurrentMission.Pause = TCPFrame.payload.mission.pause; // Mission pause
break; break;
default: default:
@@ -162,8 +160,7 @@ public class DatabaseController
DatabaseCommand.Parameters.AddWithValue("@PAR_TCPFramePayload", TCPFramePayload); DatabaseCommand.Parameters.AddWithValue("@PAR_TCPFramePayload", TCPFramePayload);
} }
// End of add parameters // End of add parameters
MySqlDataReader DatabaseReader = DatabaseCommand.ExecuteReader();
MySqlDataReader DatabaseReader = DatabaseCommand.ExecuteReader();
if (DatabaseReader.HasRows) if (DatabaseReader.HasRows)
{ {