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 {