public async void OnLoginCompleted(object sender, LoginCompleteEventArgs e) {
if (controller != null) {
try {
await controller.CloseAsync();
if (controller.IsCanceled) {
if (LoginCompleted != null) {
LoginCompleted(sender, new LoginCompleteEventArgs(LoginCode.CANCELLED));
}
return;
}
} catch (InvalidOperationException) {
// sometimes login dialog wrapper is already closed, check for this
}
}
if (e.Code == LoginCode.WRONG_USER) {
failedLogin.Add(e.UserName);
ShowLoginDialog(LanguageManager.Model.LoginLogIn, LanguageManager.Model.LoginBadAccount, string.Empty);
return;
}
if (LoginCompleted != null) {
LoginCompleted(sender, e);
}
}