diff --git a/AIParkingApplication/AIParkingApplication.csproj b/AIParkingApplication/AIParkingApplication.csproj
index 6ae5a10..eb84b9a 100644
--- a/AIParkingApplication/AIParkingApplication.csproj
+++ b/AIParkingApplication/AIParkingApplication.csproj
@@ -81,6 +81,7 @@
+
UserControl
diff --git a/AIParkingApplication/AIParkingApplicationForm.cs b/AIParkingApplication/AIParkingApplicationForm.cs
index a406fc1..2519911 100644
--- a/AIParkingApplication/AIParkingApplicationForm.cs
+++ b/AIParkingApplication/AIParkingApplicationForm.cs
@@ -6,7 +6,7 @@ namespace AIParkingApplication
{
//@"C:\CongRa_1.mp4"; @"C:\HS_test.mp4"; @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"
private ApiController apiController;
- private C3DeviceController c3Device;
+ private IDoorControlAccess c3Device;
private LaneIn laneIn;
public AIParkingApplicationForm()
diff --git a/AIParkingApplication/C3DeviceController.cs b/AIParkingApplication/C3DeviceController.cs
index 7685c33..1680ef9 100644
--- a/AIParkingApplication/C3DeviceController.cs
+++ b/AIParkingApplication/C3DeviceController.cs
@@ -7,7 +7,7 @@ namespace AIParkingApplication
{
public delegate void C3DeviceEvent(int doorId, string cardNumber);
- public class C3DeviceController
+ public class C3DeviceController : IDoorControlAccess
{
private string ipAddress;
private int port;
@@ -131,7 +131,7 @@ namespace AIParkingApplication
}
}
- public ActionResult GetRTLog(out int doorId, out string cardNumber)
+ private ActionResult GetRTLog(out int doorId, out string cardNumber)
{
doorId = C3Constant.DEFAULT_DOOR_ID;
cardNumber = C3Constant.DEFAULT_CARD_NUMBER;
diff --git a/AIParkingApplication/IDoorControlAccess.cs b/AIParkingApplication/IDoorControlAccess.cs
new file mode 100644
index 0000000..6c870f0
--- /dev/null
+++ b/AIParkingApplication/IDoorControlAccess.cs
@@ -0,0 +1,14 @@
+using System.Threading.Tasks;
+
+namespace AIParkingApplication
+{
+ public interface IDoorControlAccess
+ {
+ event C3DeviceEvent OnNewCardReceived;
+
+ ActionResult Connect();
+ ActionResult Disconnect();
+ Task GetLogToReceiveNewCard();
+ ActionResult OpenDoor(int doorId);
+ }
+}
\ No newline at end of file
diff --git a/AIParkingApplication/LaneIn.cs b/AIParkingApplication/LaneIn.cs
index a2bacbf..48f8895 100644
--- a/AIParkingApplication/LaneIn.cs
+++ b/AIParkingApplication/LaneIn.cs
@@ -18,13 +18,13 @@ namespace AIParkingApplication
private bool isSupportLongPlate;
private bool isAutoOpenDoor;
private bool isRetryMode;
- private C3DeviceController c3Device;
+ private IDoorControlAccess doorControlAccess;
private ApiController apiController;
public LaneIn(int doorId,
string plateStream,
string overviewStream,
- C3DeviceController c3Device,
+ IDoorControlAccess doorControlAccess,
ApiController apiController,
bool isSupportSquarePlate = true,
bool isSupportLongPlate = false,
@@ -41,8 +41,8 @@ namespace AIParkingApplication
overviewCamera = new Camera(overviewStream);
plateCamera = new Camera(plateStream);
this.apiController = apiController;
- this.c3Device = c3Device;
- this.c3Device.OnNewCardReceived += C3Device_OnNewCardReceived;
+ this.doorControlAccess = doorControlAccess;
+ this.doorControlAccess.OnNewCardReceived += C3Device_OnNewCardReceived;
plateCamera.OnVideoFrameReceived += PlateCameraOnVideoFrameReceived;
plateCamera.OnOpenVideoStreamFailed += PlateCamera_OnOpenVideoStreamFailed;
@@ -115,7 +115,7 @@ namespace AIParkingApplication
private void OpenDoor(int doorId)
{
- if (c3Device.OpenDoor(doorId).HasError)
+ if (doorControlAccess.OpenDoor(doorId).HasError)
{
lblStatusInfo.UpdateLabel("KHÔNG THỂ MỞ CỬA", Color.Red);
}
@@ -196,9 +196,9 @@ namespace AIParkingApplication
private void ConnectToDoorAccessControl()
{
- if (!this.c3Device.Connect().HasError)
+ if (!this.doorControlAccess.Connect().HasError)
{
- _ = this.c3Device.GetLogToReceiveNewCard();
+ _ = this.doorControlAccess.GetLogToReceiveNewCard();
}
else
{