Compare commits
8 Commits
bf9a89f8c5
...
ab9216cbc2
Author | SHA1 | Date | |
---|---|---|---|
ab9216cbc2 | |||
0ff210091a | |||
d60b020ad2 | |||
0fc26f7f01 | |||
a038303db3 | |||
1da26f5106 | |||
f56206d5c2 | |||
9e9875123d |
|
@ -16,6 +16,21 @@
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
</NuGetPackageImportStamp>
|
</NuGetPackageImportStamp>
|
||||||
|
<PublishUrl>publish\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
@ -117,6 +132,12 @@
|
||||||
<Compile Include="LaneOut.Designer.cs">
|
<Compile Include="LaneOut.Designer.cs">
|
||||||
<DependentUpon>LaneOut.cs</DependentUpon>
|
<DependentUpon>LaneOut.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="LoginForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="LoginForm.Designer.cs">
|
||||||
|
<DependentUpon>LoginForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="PlateDetector.cs" />
|
<Compile Include="PlateDetector.cs" />
|
||||||
<Compile Include="PlateProcessor.cs" />
|
<Compile Include="PlateProcessor.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
|
@ -149,6 +170,9 @@
|
||||||
<EmbeddedResource Include="LaneOut.resx">
|
<EmbeddedResource Include="LaneOut.resx">
|
||||||
<DependentUpon>LaneOut.cs</DependentUpon>
|
<DependentUpon>LaneOut.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="LoginForm.resx">
|
||||||
|
<DependentUpon>LoginForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Properties\Resources.resx">
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
@ -186,6 +210,9 @@
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Content Include="Images\ApplicationLogo.ico">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="Images\CantConnectCamera.jpg">
|
<Content Include="Images\CantConnectCamera.jpg">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
@ -196,7 +223,18 @@
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 and x64%29</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
|
@ -28,16 +28,19 @@
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AIParkingApplicationForm));
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// AIParkingApplicationForm
|
// AIParkingApplicationForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(1358, 737);
|
this.ClientSize = new System.Drawing.Size(1366, 737);
|
||||||
this.MinimumSize = new System.Drawing.Size(1374, 776);
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MinimumSize = new System.Drawing.Size(1382, 776);
|
||||||
this.Name = "AIParkingApplicationForm";
|
this.Name = "AIParkingApplicationForm";
|
||||||
this.Text = "AIParking Application";
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "AIParking - Phần mềm quản lý bãi đỗ xe";
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,13 @@ namespace AIParkingApplication
|
||||||
StartLanes();
|
StartLanes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
~AIParkingApplicationForm()
|
||||||
|
{
|
||||||
|
laneIn.Stop();
|
||||||
|
laneOut.Stop();
|
||||||
|
Application.Exit();
|
||||||
|
}
|
||||||
|
|
||||||
private void StartLanes()
|
private void StartLanes()
|
||||||
{
|
{
|
||||||
laneIn.Start();
|
laneIn.Start();
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
BIN
AIParkingApplication/Images/ApplicationLogo.ico
Normal file
BIN
AIParkingApplication/Images/ApplicationLogo.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
|
@ -178,26 +178,12 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
private void OverviewCameraOnVideoFrameReceived(Mat videoFrame)
|
private void OverviewCameraOnVideoFrameReceived(Mat videoFrame)
|
||||||
{
|
{
|
||||||
try
|
pictureBoxOverviewVideo.UpdateImage(videoFrame.ToBitmap());
|
||||||
{
|
|
||||||
pictureBoxOverviewVideo.UpdateImage(videoFrame.ToBitmap());
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Console.WriteLine($"{Util.GetCurrentMethodName()}\texMessage: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PlateCameraOnVideoFrameReceived(Mat videoFrame)
|
private void PlateCameraOnVideoFrameReceived(Mat videoFrame)
|
||||||
{
|
{
|
||||||
try
|
pictureBoxPlateVideo.UpdateImage(videoFrame.ToBitmap());
|
||||||
{
|
|
||||||
pictureBoxPlateVideo.UpdateImage(videoFrame.ToBitmap());
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Console.WriteLine($"{Util.GetCurrentMethodName()}\texMessage: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ConnectToDoorAccessControl()
|
private void ConnectToDoorAccessControl()
|
||||||
|
|
177
AIParkingApplication/LoginForm.Designer.cs
generated
Normal file
177
AIParkingApplication/LoginForm.Designer.cs
generated
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
namespace AIParkingApplication
|
||||||
|
{
|
||||||
|
partial class LoginForm
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginForm));
|
||||||
|
this.pictureBoxImageLogo = new System.Windows.Forms.PictureBox();
|
||||||
|
this.txtUsername = new System.Windows.Forms.TextBox();
|
||||||
|
this.lblUsername = new System.Windows.Forms.Label();
|
||||||
|
this.txtPassword = new System.Windows.Forms.TextBox();
|
||||||
|
this.lblPassword = new System.Windows.Forms.Label();
|
||||||
|
this.lblServerAddress = new System.Windows.Forms.TextBox();
|
||||||
|
this.lblServerIP = new System.Windows.Forms.Label();
|
||||||
|
this.btnLogin = new System.Windows.Forms.Button();
|
||||||
|
this.btnExit = new System.Windows.Forms.Button();
|
||||||
|
this.lblLoginStatus = new System.Windows.Forms.Label();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxImageLogo)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// pictureBoxImageLogo
|
||||||
|
//
|
||||||
|
this.pictureBoxImageLogo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.pictureBoxImageLogo.Location = new System.Drawing.Point(12, 14);
|
||||||
|
this.pictureBoxImageLogo.Name = "pictureBoxImageLogo";
|
||||||
|
this.pictureBoxImageLogo.Size = new System.Drawing.Size(185, 185);
|
||||||
|
this.pictureBoxImageLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||||
|
this.pictureBoxImageLogo.TabIndex = 0;
|
||||||
|
this.pictureBoxImageLogo.TabStop = false;
|
||||||
|
//
|
||||||
|
// txtUsername
|
||||||
|
//
|
||||||
|
this.txtUsername.Location = new System.Drawing.Point(294, 14);
|
||||||
|
this.txtUsername.Name = "txtUsername";
|
||||||
|
this.txtUsername.Size = new System.Drawing.Size(227, 20);
|
||||||
|
this.txtUsername.TabIndex = 1;
|
||||||
|
this.txtUsername.Text = "cong1vao";
|
||||||
|
//
|
||||||
|
// lblUsername
|
||||||
|
//
|
||||||
|
this.lblUsername.AutoSize = true;
|
||||||
|
this.lblUsername.Location = new System.Drawing.Point(214, 17);
|
||||||
|
this.lblUsername.Name = "lblUsername";
|
||||||
|
this.lblUsername.Size = new System.Drawing.Size(55, 13);
|
||||||
|
this.lblUsername.TabIndex = 2;
|
||||||
|
this.lblUsername.Text = "Tài khoản";
|
||||||
|
//
|
||||||
|
// txtPassword
|
||||||
|
//
|
||||||
|
this.txtPassword.Location = new System.Drawing.Point(294, 52);
|
||||||
|
this.txtPassword.Name = "txtPassword";
|
||||||
|
this.txtPassword.PasswordChar = '*';
|
||||||
|
this.txtPassword.Size = new System.Drawing.Size(227, 20);
|
||||||
|
this.txtPassword.TabIndex = 1;
|
||||||
|
this.txtPassword.Text = "123456a@";
|
||||||
|
//
|
||||||
|
// lblPassword
|
||||||
|
//
|
||||||
|
this.lblPassword.AutoSize = true;
|
||||||
|
this.lblPassword.Location = new System.Drawing.Point(214, 55);
|
||||||
|
this.lblPassword.Name = "lblPassword";
|
||||||
|
this.lblPassword.Size = new System.Drawing.Size(52, 13);
|
||||||
|
this.lblPassword.TabIndex = 2;
|
||||||
|
this.lblPassword.Text = "Mật khẩu";
|
||||||
|
//
|
||||||
|
// lblServerAddress
|
||||||
|
//
|
||||||
|
this.lblServerAddress.Location = new System.Drawing.Point(294, 90);
|
||||||
|
this.lblServerAddress.Name = "lblServerAddress";
|
||||||
|
this.lblServerAddress.Size = new System.Drawing.Size(227, 20);
|
||||||
|
this.lblServerAddress.TabIndex = 1;
|
||||||
|
this.lblServerAddress.Text = "localhost";
|
||||||
|
//
|
||||||
|
// lblServerIP
|
||||||
|
//
|
||||||
|
this.lblServerIP.AutoSize = true;
|
||||||
|
this.lblServerIP.Location = new System.Drawing.Point(214, 93);
|
||||||
|
this.lblServerIP.Name = "lblServerIP";
|
||||||
|
this.lblServerIP.Size = new System.Drawing.Size(48, 13);
|
||||||
|
this.lblServerIP.TabIndex = 2;
|
||||||
|
this.lblServerIP.Text = "Máy chủ";
|
||||||
|
//
|
||||||
|
// btnLogin
|
||||||
|
//
|
||||||
|
this.btnLogin.Location = new System.Drawing.Point(294, 162);
|
||||||
|
this.btnLogin.Name = "btnLogin";
|
||||||
|
this.btnLogin.Size = new System.Drawing.Size(101, 37);
|
||||||
|
this.btnLogin.TabIndex = 3;
|
||||||
|
this.btnLogin.Text = "Đăng nhập";
|
||||||
|
this.btnLogin.UseVisualStyleBackColor = true;
|
||||||
|
this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
|
||||||
|
//
|
||||||
|
// btnExit
|
||||||
|
//
|
||||||
|
this.btnExit.Location = new System.Drawing.Point(421, 162);
|
||||||
|
this.btnExit.Name = "btnExit";
|
||||||
|
this.btnExit.Size = new System.Drawing.Size(101, 37);
|
||||||
|
this.btnExit.TabIndex = 3;
|
||||||
|
this.btnExit.Text = "Thoát";
|
||||||
|
this.btnExit.UseVisualStyleBackColor = true;
|
||||||
|
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
|
||||||
|
//
|
||||||
|
// lblLoginStatus
|
||||||
|
//
|
||||||
|
this.lblLoginStatus.AutoSize = true;
|
||||||
|
this.lblLoginStatus.Location = new System.Drawing.Point(294, 117);
|
||||||
|
this.lblLoginStatus.Name = "lblLoginStatus";
|
||||||
|
this.lblLoginStatus.Size = new System.Drawing.Size(66, 13);
|
||||||
|
this.lblLoginStatus.TabIndex = 4;
|
||||||
|
this.lblLoginStatus.Text = "Login Status";
|
||||||
|
//
|
||||||
|
// LoginForm
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(534, 211);
|
||||||
|
this.Controls.Add(this.lblLoginStatus);
|
||||||
|
this.Controls.Add(this.btnExit);
|
||||||
|
this.Controls.Add(this.btnLogin);
|
||||||
|
this.Controls.Add(this.lblServerIP);
|
||||||
|
this.Controls.Add(this.lblPassword);
|
||||||
|
this.Controls.Add(this.lblUsername);
|
||||||
|
this.Controls.Add(this.lblServerAddress);
|
||||||
|
this.Controls.Add(this.txtPassword);
|
||||||
|
this.Controls.Add(this.txtUsername);
|
||||||
|
this.Controls.Add(this.pictureBoxImageLogo);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MaximumSize = new System.Drawing.Size(550, 250);
|
||||||
|
this.Name = "LoginForm";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "AIParking - Hệ thống quản lý bãi đỗ xe - Đăng nhập hệ thống";
|
||||||
|
this.TopMost = true;
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxImageLogo)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.PictureBox pictureBoxImageLogo;
|
||||||
|
private System.Windows.Forms.TextBox txtUsername;
|
||||||
|
private System.Windows.Forms.Label lblUsername;
|
||||||
|
private System.Windows.Forms.TextBox txtPassword;
|
||||||
|
private System.Windows.Forms.Label lblPassword;
|
||||||
|
private System.Windows.Forms.TextBox lblServerAddress;
|
||||||
|
private System.Windows.Forms.Label lblServerIP;
|
||||||
|
private System.Windows.Forms.Button btnLogin;
|
||||||
|
private System.Windows.Forms.Button btnExit;
|
||||||
|
private System.Windows.Forms.Label lblLoginStatus;
|
||||||
|
}
|
||||||
|
}
|
56
AIParkingApplication/LoginForm.cs
Normal file
56
AIParkingApplication/LoginForm.cs
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AIParkingApplication
|
||||||
|
{
|
||||||
|
public partial class LoginForm : Form
|
||||||
|
{
|
||||||
|
private const string serverBaseAddress = "http://localhost:80/";
|
||||||
|
private ApiController apiController;
|
||||||
|
|
||||||
|
public LoginForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
pictureBoxImageLogo.Image = new Bitmap(@".\Images\ApplicationLogo.ico");
|
||||||
|
lblLoginStatus.Text = string.Empty;
|
||||||
|
|
||||||
|
apiController = new ApiController(serverBaseAddress);
|
||||||
|
this.AcceptButton = btnLogin;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void Login()
|
||||||
|
{
|
||||||
|
lblLoginStatus.Text = string.Empty;
|
||||||
|
string username = txtUsername.Text;
|
||||||
|
string password = txtPassword.Text;
|
||||||
|
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
|
||||||
|
{
|
||||||
|
lblLoginStatus.Text = "Tên tài khoản hoặc mật khẩu không được để trống!";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var loginResult = await apiController.Login(new LoginModel { Username = username, Password = password });
|
||||||
|
if (loginResult.IsLoginSuccess)
|
||||||
|
{
|
||||||
|
new AIParkingApplicationForm().Show();
|
||||||
|
Hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lblLoginStatus.Text = "Tên tài khoản hoặc mật khẩu không đúng!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnLogin_Click(object sender, System.EventArgs e)
|
||||||
|
{
|
||||||
|
Login();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnExit_Click(object sender, System.EventArgs e)
|
||||||
|
{
|
||||||
|
if (DialogResult.OK == MessageBox.Show("AIParking - Bạn muốn thoát ứng dụng?", "Cảnh báo!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
|
||||||
|
{
|
||||||
|
Application.Exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
2679
AIParkingApplication/LoginForm.resx
Normal file
2679
AIParkingApplication/LoginForm.resx
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,7 @@ namespace AIParkingApplication
|
||||||
{
|
{
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new AIParkingApplicationForm());
|
Application.Run(new LoginForm());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace AIParkingApplication
|
||||||
{
|
{
|
||||||
private Statistic statistic;
|
private Statistic statistic;
|
||||||
|
|
||||||
public Sidebar(ApiController apiController, string logoImagePath = @"C:\Users\B.I\Desktop\photo_2020-06-25_21-22-56.jpg")
|
public Sidebar(ApiController apiController, string logoImagePath = @".\Images\ApplicationLogo.ico")
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
if (File.Exists(logoImagePath))
|
if (File.Exists(logoImagePath))
|
||||||
|
@ -17,7 +17,6 @@ namespace AIParkingApplication
|
||||||
PictureBox pictureBoxImageLogo;
|
PictureBox pictureBoxImageLogo;
|
||||||
pictureBoxImageLogo = new PictureBox();
|
pictureBoxImageLogo = new PictureBox();
|
||||||
pictureBoxImageLogo.Location = new Point(1, 1);
|
pictureBoxImageLogo.Location = new Point(1, 1);
|
||||||
pictureBoxImageLogo.BorderStyle = BorderStyle.FixedSingle;
|
|
||||||
pictureBoxImageLogo.Size = new Size(185, 185);
|
pictureBoxImageLogo.Size = new Size(185, 185);
|
||||||
pictureBoxImageLogo.SizeMode = PictureBoxSizeMode.StretchImage;
|
pictureBoxImageLogo.SizeMode = PictureBoxSizeMode.StretchImage;
|
||||||
pictureBoxImageLogo.Image = new Bitmap(logoImagePath);
|
pictureBoxImageLogo.Image = new Bitmap(logoImagePath);
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace AIParkingApplication
|
||||||
private async void GetDataUpdate()
|
private async void GetDataUpdate()
|
||||||
{
|
{
|
||||||
ParkInfo parkInfo = await apiController.GetStatisticInfo();
|
ParkInfo parkInfo = await apiController.GetStatisticInfo();
|
||||||
if (parkInfo != null)
|
if (parkInfo != null && IsHandleCreated)
|
||||||
{
|
{
|
||||||
lblSoLuongXeMay.UpdateLabel(parkInfo.NumberOfMoto.ToString());
|
lblSoLuongXeMay.UpdateLabel(parkInfo.NumberOfMoto.ToString());
|
||||||
lblSoLuongOto.UpdateLabel(parkInfo.NumberOfCar.ToString());
|
lblSoLuongOto.UpdateLabel(parkInfo.NumberOfCar.ToString());
|
||||||
|
|
7
AIParkingApplication/StatusBar.Designer.cs
generated
7
AIParkingApplication/StatusBar.Designer.cs
generated
|
@ -52,7 +52,7 @@
|
||||||
//
|
//
|
||||||
this.lblDateTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.lblDateTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.lblDateTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lblDateTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lblDateTime.Location = new System.Drawing.Point(1210, 0);
|
this.lblDateTime.Location = new System.Drawing.Point(1226, 0);
|
||||||
this.lblDateTime.Name = "lblDateTime";
|
this.lblDateTime.Name = "lblDateTime";
|
||||||
this.lblDateTime.Size = new System.Drawing.Size(140, 24);
|
this.lblDateTime.Size = new System.Drawing.Size(140, 24);
|
||||||
this.lblDateTime.TabIndex = 2;
|
this.lblDateTime.TabIndex = 2;
|
||||||
|
@ -132,9 +132,10 @@
|
||||||
this.Controls.Add(this.lblConnectionStatus);
|
this.Controls.Add(this.lblConnectionStatus);
|
||||||
this.Controls.Add(this.lblPingTimeServer);
|
this.Controls.Add(this.lblPingTimeServer);
|
||||||
this.Margin = new System.Windows.Forms.Padding(0);
|
this.Margin = new System.Windows.Forms.Padding(0);
|
||||||
this.MaximumSize = new System.Drawing.Size(1350, 24);
|
this.MaximumSize = new System.Drawing.Size(1366, 24);
|
||||||
|
this.MinimumSize = new System.Drawing.Size(1366, 24);
|
||||||
this.Name = "StatusBar";
|
this.Name = "StatusBar";
|
||||||
this.Size = new System.Drawing.Size(1350, 24);
|
this.Size = new System.Drawing.Size(1366, 24);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,9 +41,9 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
if (Process.GetProcessesByName("tmux").Length == 0)
|
if (Process.GetProcessesByName("tmux").Length == 0)
|
||||||
{
|
{
|
||||||
if (File.Exists(engineFilePath))
|
string engineBatFilePath = Application.StartupPath + engineFilePath;
|
||||||
|
if (File.Exists(engineBatFilePath))
|
||||||
{
|
{
|
||||||
string engineBatFilePath = Application.StartupPath + engineFilePath;
|
|
||||||
Util.ExecuteCommand(engineBatFilePath);
|
Util.ExecuteCommand(engineBatFilePath);
|
||||||
lblEngineStatus.UpdateLabel("DỪNG HOẠT ĐỘNG", Color.Red);
|
lblEngineStatus.UpdateLabel("DỪNG HOẠT ĐỘNG", Color.Red);
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,11 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
public static void UpdateImage(this PictureBox pictureBox, Bitmap image)
|
public static void UpdateImage(this PictureBox pictureBox, Bitmap image)
|
||||||
{
|
{
|
||||||
|
if (pictureBox.IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
pictureBox.Invoke(new Action(() =>
|
pictureBox.Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
pictureBox.Image?.Dispose();
|
pictureBox.Image?.Dispose();
|
||||||
|
@ -89,6 +94,11 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
public static void UpdateLabel(this Label label, string text, Color backColor, Color foreColor)
|
public static void UpdateLabel(this Label label, string text, Color backColor, Color foreColor)
|
||||||
{
|
{
|
||||||
|
if (label.IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
label.Invoke(new Action(() =>
|
label.Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
label.Text = text;
|
label.Text = text;
|
||||||
|
@ -99,6 +109,11 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
public static void UpdateLabel(this Label label, string text, Color backColor)
|
public static void UpdateLabel(this Label label, string text, Color backColor)
|
||||||
{
|
{
|
||||||
|
if (label.IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
label.Invoke(new Action(() =>
|
label.Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
label.Text = text;
|
label.Text = text;
|
||||||
|
@ -108,6 +123,11 @@ namespace AIParkingApplication
|
||||||
|
|
||||||
public static void UpdateLabel(this Label label, string text)
|
public static void UpdateLabel(this Label label, string text)
|
||||||
{
|
{
|
||||||
|
if (label.IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
label.Invoke(new Action(() =>
|
label.Invoke(new Action(() =>
|
||||||
{
|
{
|
||||||
label.Text = text;
|
label.Text = text;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user