Esempio n. 1
0
 private void CloseWindow()
 {
     try
     {
         LoginWait.Hide();
         if (ParentWindow is Window)
         {
             ParentWindow.Close();
         }
         else
         {
             Application.Current.Shutdown();
         }
     }
     catch (Exception ex) { ex.ERROR("CloseLoginDialog"); }
 }
Esempio n. 2
0
        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();
                }
            }
        }