private void CloseWindow() { try { LoginWait.Hide(); if (ParentWindow is Window) { ParentWindow.Close(); } else { Application.Current.Shutdown(); } } catch (Exception ex) { ex.ERROR("CloseLoginDialog"); } }
private async void Login_Click(object sender, RoutedEventArgs e) { if (ParentWindow == null) { ParentWindow = Window.GetWindow(this) as PixivLoginDialog; } setting = Application.Current.LoadSetting(); Pixeez.Auth.TimeOut = setting.DownloadHttpTimeout; var user = edUser.Text.Trim(); var pass = edPass.Password.Trim(); var proxy = edProxy.Text.Trim(); bool useproxy = chkUseProxy.IsChecked == true ? true : false; bool useproxydown = chkUseProxyDown.IsChecked == true ? true : false; if (!string.IsNullOrEmpty(user) && !string.IsNullOrEmpty(pass)) { try { LoginWait.Show(); if (ParentWindow is PixivLoginDialog) { //ParentWindow.DialogResult = false; } btnLogin.IsEnabled = false; btnCancel.IsEnabled = false; edUser.IsEnabled = false; edPass.IsEnabled = false; edProxy.IsEnabled = false; chkUseProxy.IsEnabled = false; chkUseProxyDown.IsEnabled = false; // Create Tokens var proxyserver = proxy; if (!useproxy) { proxyserver = string.Empty; } var accesstoken = Application.Current.AccessToken(); var refreshtoken = Application.Current.RefreshToken(); //var deviceId = Application.Current.GetDeviceId(); tokens = Pixeez.Auth.AuthorizeWithAccessToken(accesstoken, proxy, setting.ProxyBypass, useproxy); var result = await Pixeez.Auth.AuthorizeAsync(user, pass, refreshtoken, proxyserver, setting.ProxyBypass, useproxy); if (!string.IsNullOrEmpty(result.Authorize.AccessToken)) { accesstoken = result.Authorize.AccessToken; tokens = result.Tokens; setting.AccessToken = tokens.AccessToken; setting.RefreshToken = tokens.RefreshToken; setting.ExpTime = result.Key.KeyExpTime.ToLocalTime(); setting.ExpiresIn = result.Authorize.ExpiresIn.Value; setting.Update = DateTime.Now.ToFileTime().FileTimeToSecond(); setting.UsingProxy = useproxy; setting.DownloadUsingProxy = useproxydown; setting.Proxy = proxy; await Task.Delay(1); this.DoEvents(); setting.User = user; setting.Pass = pass; setting.MyInfo = result.Authorize.User; setting.Save(); } if (tokens is Pixeez.Tokens && !string.IsNullOrEmpty(tokens.AccessToken)) { if (ParentWindow is PixivLoginDialog) { ParentWindow.AccessToken = tokens.AccessToken; ParentWindow.RefreshToken = tokens.RefreshToken; ParentWindow.Tokens = tokens; ParentWindow.DialogResult = true; CloseWindow(); } } } catch (Exception ex) { //await ex.Message.ShowMessageBoxAsync("ERROR"); ex.Message.ShowMessageBox("ERROR"); } finally { btnLogin.IsEnabled = true; btnCancel.IsEnabled = true; edUser.IsEnabled = true; edPass.IsEnabled = true; edProxy.IsEnabled = true; chkUseProxy.IsEnabled = true; chkUseProxyDown.IsEnabled = true; LoginWait.Hide(); } } }