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"); } } }