Files
hsuco-cctv-monitoring/HSUCO_CCTV_Monitoring/NVRStatus.cs
2023-03-14 17:30:09 +09:00

67 lines
1.8 KiB
C#

using HSUCO_Server_Monitoring;
using System;
using System.Drawing;
using System.Runtime.Remoting.Channels;
using System.Windows.Forms;
namespace HSUCO_CCTV_Monitoring
{
public partial class NVRStatus : UserControl
{
private Image _success;
private Image _fail;
private Image _inspection;
private string _nvrName;
private StatusResult _statusResult;
private DateTime _lastUpdateTime;
public NVRStatus(string nvrName, Image success, Image fail, Image inspection)
{
_nvrName = nvrName;
_statusResult = StatusResult.Fail;
_lastUpdateTime = DateTime.Now;
_success = success;
_fail = fail;
_inspection = inspection;
InitializeComponent();
label_ServerName.Text = _nvrName;
DisplayChange();
}
public void StatusUpdate(StatusResult result, DateTime dateTime)
{
if (_statusResult != result)
{
_statusResult = result;
_lastUpdateTime = dateTime;
DisplayChange();
}
}
private void DisplayChange()
{
switch(_statusResult)
{
case StatusResult.Success:
pictureBox_Status.Image = _success;
break;
case StatusResult.Fail:
pictureBox_Status.Image = _fail;
break;
case StatusResult.Inspection:
pictureBox_Status.Image = _inspection;
break;
default:
break;
}
label_LastUpdateTime.Text = _lastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss");
}
}
}