using KWWebInvApp.Data; using UserInfoServices; namespace KWWebInvApp.Services { public class AuthenticationService : IAuthenticationService { private UserInfoServices.userinfo? CurrentUser; public async Task GetAuthenticatedUserAsync() { return CurrentUser; } public async Task SetAuthenticatedUserAsync(UserInfoServices.userinfo currentUser) { CurrentUser = currentUser; } public async Task LoginAsync(LoginData loginData) { if (!string.IsNullOrWhiteSpace(loginData.username) && !string.IsNullOrWhiteSpace(loginData.password)) { UserInfoServices.UserInfoServiceClient userInfoServiceClient = new(); UserInfoServices.userinfo userAttemptingToLogin = new UserInfoServices.userinfo() { username = loginData.username, pass = await userInfoServiceClient.md5EncodingAsync(loginData.password) }; CurrentUser = await userInfoServiceClient.AuthenticateUserAsync(userAttemptingToLogin); if (CurrentUser == null) return false; else return true; } return false; } public async Task LogoutAsync() { CurrentUser = null; } } }