C3DeviceController - Remove C3DeviceEvent, C3RTLogEventHandler. Add Event C3DeviceEvent. Add Method GetLogToReceiveNewCard
This commit is contained in:
parent
7880d5bced
commit
4df6d9f2d6
|
@ -1,11 +1,12 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace AIParkingApplication
|
namespace AIParkingApplication
|
||||||
{
|
{
|
||||||
public delegate void C3EventHandler(ActionResult actionResult);
|
public delegate void C3DeviceEvent(int doorId, string cardNumber);
|
||||||
public delegate void C3RTLogEventHandler(ActionResult actionResult, int doorId, string cardNumber);
|
|
||||||
|
|
||||||
public class C3DeviceController
|
public class C3DeviceController
|
||||||
{
|
{
|
||||||
|
@ -14,17 +15,10 @@ namespace AIParkingApplication
|
||||||
private IntPtr oneTimeConnectedParamHandler;
|
private IntPtr oneTimeConnectedParamHandler;
|
||||||
private string connectionString;
|
private string connectionString;
|
||||||
private bool isReconnected;
|
private bool isReconnected;
|
||||||
public event C3EventHandler OnConnected;
|
|
||||||
public event C3EventHandler OnConnectFailed;
|
|
||||||
public event C3EventHandler OnReconnect;
|
|
||||||
public event C3EventHandler OnDoorOpenned;
|
|
||||||
public event C3EventHandler OnDoorOpenFailed;
|
|
||||||
public event C3EventHandler OnPingFailed;
|
|
||||||
public event C3EventHandler OnDisconnected;
|
|
||||||
public event C3RTLogEventHandler OnGetRTLog;
|
|
||||||
public event C3EventHandler OnGetRTLogFailed;
|
|
||||||
private int reconnectCounter;
|
private int reconnectCounter;
|
||||||
|
|
||||||
|
public event C3DeviceEvent OnNewCardReceived;
|
||||||
|
|
||||||
public C3DeviceController(string ipAddress, int port = C3Constant.DEFAULT_C3_PORT)
|
public C3DeviceController(string ipAddress, int port = C3Constant.DEFAULT_C3_PORT)
|
||||||
{
|
{
|
||||||
IPAddress = ipAddress;
|
IPAddress = ipAddress;
|
||||||
|
@ -67,7 +61,6 @@ namespace AIParkingApplication
|
||||||
HasError = false,
|
HasError = false,
|
||||||
Message = string.Format(C3Constant.CONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.CONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnConnected?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -77,7 +70,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.FAILED_TO_CONNECT, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress, PullLastError())
|
Message = string.Format(C3Constant.FAILED_TO_CONNECT, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress, PullLastError())
|
||||||
};
|
};
|
||||||
OnConnectFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -88,8 +80,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.FAILED_TO_PING, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.FAILED_TO_PING, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnPingFailed?.Invoke(result);
|
|
||||||
OnConnectFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,7 +96,6 @@ namespace AIParkingApplication
|
||||||
HasError = false,
|
HasError = false,
|
||||||
Message = string.Format(C3Constant.OPENNED_DOOR_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.OPENNED_DOOR_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnDoorOpenned?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -116,7 +105,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.FAILED_TO_OPEN_DOOR, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.FAILED_TO_OPEN_DOOR, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnDoorOpenFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,11 +115,23 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.NOT_CONNECTTED, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.NOT_CONNECTTED, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnDoorOpenFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task GetLogToReceiveNewCard()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
await Task.Delay(1000);
|
||||||
|
ActionResult getRTLogResult = GetRTLog(out int doorId, out string cardNumber);
|
||||||
|
if (doorId != C3Constant.DEFAULT_DOOR_ID && cardNumber != C3Constant.DEFAULT_CARD_NUMBER)
|
||||||
|
{
|
||||||
|
OnNewCardReceived?.Invoke(doorId, cardNumber);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ActionResult GetRTLog(out int doorId, out string cardNumber)
|
public ActionResult GetRTLog(out int doorId, out string cardNumber)
|
||||||
{
|
{
|
||||||
doorId = C3Constant.DEFAULT_DOOR_ID;
|
doorId = C3Constant.DEFAULT_DOOR_ID;
|
||||||
|
@ -145,7 +145,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.FAILED_TO_PING, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.FAILED_TO_PING, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnPingFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +166,6 @@ namespace AIParkingApplication
|
||||||
{
|
{
|
||||||
HasError = false
|
HasError = false
|
||||||
};
|
};
|
||||||
OnGetRTLog?.Invoke(result, doorId, cardNumber);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -182,7 +180,6 @@ namespace AIParkingApplication
|
||||||
reconnectCounter = 0;
|
reconnectCounter = 0;
|
||||||
reconnectResult.Message = string.Format(C3Constant.RECONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress);
|
reconnectResult.Message = string.Format(C3Constant.RECONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress);
|
||||||
}
|
}
|
||||||
OnReconnect?.Invoke(reconnectResult);
|
|
||||||
return reconnectResult;
|
return reconnectResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,7 +188,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.FAILED_TO_READ_LOG, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.FAILED_TO_READ_LOG, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnGetRTLogFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -204,7 +200,6 @@ namespace AIParkingApplication
|
||||||
HasError = true,
|
HasError = true,
|
||||||
Message = string.Format(C3Constant.WRONG_FORMAT_DATA, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress, ex.Message)
|
Message = string.Format(C3Constant.WRONG_FORMAT_DATA, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress, ex.Message)
|
||||||
};
|
};
|
||||||
OnGetRTLogFailed?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -218,7 +213,6 @@ namespace AIParkingApplication
|
||||||
HasError = false,
|
HasError = false,
|
||||||
Message = string.Format(C3Constant.DISCONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
Message = string.Format(C3Constant.DISCONNECTED_SUCCESSFULLY, DateTime.Now.ToString(AppConstant.DATETIME_FORMAT), IPAddress)
|
||||||
};
|
};
|
||||||
OnDisconnected?.Invoke(result);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user