diff --git a/Client/Biskilog Accounting.Client.csproj b/Client/Biskilog Accounting.Client.csproj index 2c81af8..e0344c5 100644 --- a/Client/Biskilog Accounting.Client.csproj +++ b/Client/Biskilog Accounting.Client.csproj @@ -8,6 +8,12 @@ $(AssemblyName.Replace(' ', '_')) + + true + + + true + diff --git a/Client/Pages/Auth/Login.razor b/Client/Pages/Auth/Login.razor index 96af7a1..b456c32 100644 --- a/Client/Pages/Auth/Login.razor +++ b/Client/Pages/Auth/Login.razor @@ -81,15 +81,27 @@

Please login to your account

+ +
+ + @if (!validStatus) + { +

@errormeaasge("invalid")

+ }
+ @if (!validStatus) + { +

@errormeaasge("invalid")

+ } +
diff --git a/Client/Pages/Auth/Login.razor.cs b/Client/Pages/Auth/Login.razor.cs index 0918a07..2736d42 100644 --- a/Client/Pages/Auth/Login.razor.cs +++ b/Client/Pages/Auth/Login.razor.cs @@ -10,8 +10,11 @@ namespace Biskilog_Accounting.Client.Pages.Auth public partial class Login { private string m_email, m_password; + private bool showUsernameError, showPasswordError; private bool m_remember { get; set; } protected bool IsVisible { get; set; } + public bool validStatus = false; + //NotificationMessage notificationMessage = new NotificationMessage(); private Userauth authenticatedUser; /// @@ -45,6 +48,9 @@ namespace Biskilog_Accounting.Client.Pages.Auth var responseMain = await m_http.PostAsJsonAsync("api/authentication/type-a", authenticatedUser); if (responseMain.IsSuccessStatusCode) { + + validStatus = true; + string token = await responseMain.Content.ReadAsStringAsync(); await m_tokenService.SetToken(token, m_remember); @@ -52,12 +58,16 @@ namespace Biskilog_Accounting.Client.Pages.Auth m_http.DefaultRequestHeaders.Authorization = authHeader; m_navigationManager.NavigateTo("/"); + + } + + else if (responseMain.StatusCode == System.Net.HttpStatusCode.BadRequest) { } } - catch (Exception ex) + catch (Exception ex) { Console.WriteLine(ex.ToString()); } @@ -108,5 +118,18 @@ namespace Biskilog_Accounting.Client.Pages.Auth m_password = value; StateHasChanged(); } + + public string errormeaasge(string message) + { + showPasswordError = string.IsNullOrEmpty(m_email); + showUsernameError = string.IsNullOrEmpty(m_password); + + if (showUsernameError && showPasswordError) + { + message = ""; + } + return message; + + } } } \ No newline at end of file diff --git a/Client/Properties/launchSettings.json b/Client/Properties/launchSettings.json index 62cae75..94bcda6 100644 --- a/Client/Properties/launchSettings.json +++ b/Client/Properties/launchSettings.json @@ -8,23 +8,23 @@ "profiles": { "http": { "commandName": "Project", - "dotnetRunMessages": true, "launchBrowser": true, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "http://localhost:5136", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - } + }, + "dotnetRunMessages": true }, "https": { "commandName": "Project", - "dotnetRunMessages": true, "launchBrowser": true, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "https://localhost:7247;http://localhost:5136", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - } + }, + "dotnetRunMessages": true }, "IIS Express": { "commandName": "IISExpress", @@ -35,4 +35,4 @@ } } } -} +} \ No newline at end of file diff --git a/Server/Biskilog Accounting.Server.csproj b/Server/Biskilog Accounting.Server.csproj index 02e123a..6357be7 100644 --- a/Server/Biskilog Accounting.Server.csproj +++ b/Server/Biskilog Accounting.Server.csproj @@ -8,6 +8,8 @@ $(AssemblyName.Replace(' ', '_')) + + diff --git a/Server/Properties/launchSettings.json b/Server/Properties/launchSettings.json index 5e250c1..6bad409 100644 --- a/Server/Properties/launchSettings.json +++ b/Server/Properties/launchSettings.json @@ -1,44 +1,44 @@ { + "iisExpress": { + "applicationUrl": "http://localhost:24369", + "sslPort": 44366 + }, + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:54487/", + "sslPort": 44383 + } + }, "profiles": { "http": { "commandName": "Project", "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "http://localhost:5136", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, - "dotnetRunMessages": true, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", - "applicationUrl": "http://localhost:5136" + "dotnetRunMessages": true }, "https": { "commandName": "Project", "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7247;http://localhost:5136", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, - "dotnetRunMessages": true, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", - "applicationUrl": "https://localhost:7247;http://localhost:5136" + "dotnetRunMessages": true }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - }, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}" - } - }, - "iisExpress": { - "applicationUrl": "http://localhost:24369", - "sslPort": 44366 - }, - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:54487/", - "sslPort": 44383 + } } } } \ No newline at end of file diff --git a/Shared/ClientContractModels/Userauth.cs b/Shared/ClientContractModels/Userauth.cs index d8b010a..bcf8334 100644 --- a/Shared/ClientContractModels/Userauth.cs +++ b/Shared/ClientContractModels/Userauth.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; namespace Biskilog_Accounting.Shared.ClientContractModels; @@ -9,10 +10,12 @@ public partial class Userauth public int ClientId { get; set; } + [Required(ErrorMessage = "Invalid username")] public string? Username { get; set; } public string? Email { get; set; } + [Required(ErrorMessage = "Invalid password")] public string? Passsword { get; set; } public string? PhoneNumber { get; set; }