using XFEExtension.NetCore.WinUIHelper.Interface.Services; namespace XFEExtension.NetCore.WinUIHelper.Implements.Services; class UserLoginService : GlobalServiceBase, IUserLoginService { public Func>? LoginFunc { get; set; } public Func? LogoutFunc { get; set; } public event EventHandler? UserStateChanged; public async Task TryLogin() { if (LoginFunc is null) return false; var result = await LoginFunc(); UserStateChanged?.Invoke(this, result); return result; } public bool TryLogout() { if (LogoutFunc is null) return false; var result = LogoutFunc(); UserStateChanged?.Invoke(this, !result); return !result; } }