74 lines
2.7 KiB
C#
74 lines
2.7 KiB
C#
using MySql.Data.MySqlClient;
|
|
using System;
|
|
using System.Net.NetworkInformation;
|
|
|
|
namespace AVS
|
|
{
|
|
class MySqlConnectivity
|
|
{
|
|
private readonly string connectionString = "server=utopia-2.c5qech8o9lgg.us-east-1.rds.amazonaws.com;user=itemVerification;password=itemVerification01;database=item_verification_system";
|
|
|
|
public void UpdateClientActivity(string pcName)
|
|
{
|
|
if (!IsInternetAvailable())
|
|
return;
|
|
|
|
using (var conn = new MySqlConnection(connectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
long count = 0;
|
|
|
|
// First check if line_name exists
|
|
string checkQuery = "SELECT COUNT(*) FROM avs_line WHERE line_name = @pcName";
|
|
using (var cmd = new MySqlCommand(checkQuery, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@pcName", pcName);
|
|
count = Convert.ToInt64(cmd.ExecuteScalar());
|
|
}
|
|
|
|
string dateTimeNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
if (count > 0)
|
|
{
|
|
string updateQuery = "UPDATE avs_line SET last_client_activity = @date WHERE line_name = @pcName";
|
|
using (var updateCmd = new MySqlCommand(updateQuery, conn))
|
|
{
|
|
updateCmd.Parameters.AddWithValue("@pcName", pcName);
|
|
updateCmd.Parameters.AddWithValue("@date", dateTimeNow); // ✅ correct assignment
|
|
updateCmd.ExecuteNonQuery();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string insertQuery = @"
|
|
INSERT INTO avs_line
|
|
(line_name, site, department, floor, device_type, status, last_client_activity, created_at, department_id)
|
|
VALUES (@pcName, '', '', '', 'PC', 1, @date, @date, 0)";
|
|
using (var insertCmd = new MySqlCommand(insertQuery, conn))
|
|
{
|
|
insertCmd.Parameters.AddWithValue("@pcName", pcName);
|
|
insertCmd.Parameters.AddWithValue("@date", dateTimeNow); // ✅ correct assignment
|
|
insertCmd.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
private bool IsInternetAvailable()
|
|
{
|
|
try
|
|
{
|
|
using (var ping = new Ping())
|
|
{
|
|
var reply = ping.Send("8.8.8.8", 3000);
|
|
return reply.Status == IPStatus.Success;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|