示例#1
0
        private static async Task Auth()
        {
            var usernameElement = await _page.QuerySelectorAsync(".upc-user-name");

            if (usernameElement != null)
            {
                return;
            }

            #region Get creds
            var credentials = await CredentialsUtils.GetAllAsync();

            string login    = credentials["uplay"][0]["login"];
            string password = credentials["uplay"][0]["password"];
            #endregion

            await _page.GoToAsync("https://store.ubi.com/ru/account-connection", WaitUntilNavigation.Load);

            #region Get login iframe
            // ReSharper disable StringLiteralTypo
            await _page.WaitForSelectorAsync("#loginiframe", PptrUtils.ShortSelectorAwaiter);

            var accountsFrame = await _page.QuerySelectorAsync("#loginiframe");

            var accountsFrameContent = await accountsFrame.ContentFrameAsync();

            await accountsFrameContent.WaitForSelectorAsync("#AuthPassword", PptrUtils.LongSelectorAwaiter);

            #endregion

            #region Fill form
            var loginInput = await accountsFrameContent.QuerySelectorAsync("#AuthEmail");

            if (loginInput is not null)
            {
                await loginInput.TypeAsync(login);
            }
            var passwordInput = await accountsFrameContent.QuerySelectorAsync("#AuthPassword");

            if (passwordInput is not null)
            {
                await passwordInput.TypeAsync(password);
            }
            #endregion

            #region Submit
            var submitButton = await accountsFrameContent.QuerySelectorAsync("form button.btn.btn-primary.btn-block");

            await submitButton.ClickAsync();

            #endregion
        }
示例#2
0
        static void Main(string[] args)
        {
            //These codelines are needed to use the NotifyIcon without a Form.
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            CredentialsUtils.CheckConfiguration();

            //Initialize NumberController
            NumberController.Initialize();

            //Start ClipboardMonitor
            ClipboardMonitor.Start();

            //Start TrayIcon
            Application.Run(new TrayIconContext());
        }
 private void AskIfCallCurrentNumber()
 {
     if (NumberController.Instance.CurrentNumber.Type == NumberStringType.INTERNAL)
     {
         if (CredentialsUtils.CheckConfiguration())
         {
             DialogResult answer = MessageHelper.MessageBoxService.ShowOnTop(MessageType.InfoYesNo, MessageHelper.AskIfCallMessage);
             if (answer == DialogResult.Yes)
             {
                 SnomPhoneController.Instance.CallCurrentNumber();
             }
         }
     }
     else
     {
         new CallMessageBox().ShowDialog();
     }
 }
示例#4
0
        private bool SaveCredentials()
        {
            string     ipAddress    = this.tbIpAddress.Text;
            Uri        ipAddressUri = null;
            string     user         = this.tbUser.Text;
            string     password     = this.tbPassword.Text;
            string     ownnumber    = this.tbOwnNumber.Text;
            CheckState autostart    = this.cbAutoStart.CheckState;

            bool ipAddressValid = CredentialsUtils.IsValidIpAddress(ipAddress);
            bool userValid      = CredentialsUtils.IsValidUser(user);
            bool passwordValid  = CredentialsUtils.IsValidPassword(password);
            bool ownnumberValid = CredentialsUtils.IsValidOwnNumber(ownnumber);

            ConnectionType connectionType  = ConnectionType.NO_CONNECTION;
            bool           connectionValid = false;

            bool credentialsValid = !(!userValid && passwordValid);

            if (ipAddressValid && credentialsValid && ownnumberValid)
            {
                ipAddressUri    = new Uri(Constant.HTTP + ipAddress);
                connectionType  = SnomPhoneController.Instance.CheckConnection(ipAddressUri, user, password);
                connectionValid = connectionType == ConnectionType.VALID;
            }

            if (connectionValid)
            {
                Credentials.Instance.PhoneUri  = ipAddressUri;
                Credentials.Instance.User      = user;
                Credentials.Instance.Password  = password;
                Credentials.Instance.OwnNumber = ownnumber;
                SetStartup();
            }
            else
            {
                MessageHelper.MessageBoxService.Show(
                    MessageType.Warning,
                    MessageHelper.WrongSettingsMessage(ipAddressValid, userValid, passwordValid, ownnumberValid, connectionType));
            }

            return(connectionValid);
        }
示例#5
0
        private static async Task Auth()
        {
            var credentials = await CredentialsUtils.GetAllAsync();

            string login    = credentials["gog"][0]["login"];
            string password = credentials["gog"][0]["password"];

            var username = await _page.EvaluateExpressionAsync <string>("document.querySelector('#menuUsername').innerText");

            if (username == "")
            {
                var signInButton = await _page.QuerySelectorAsync(".menu-anonymous-header__btn--sign-in");

                await _page.EvaluateFunctionAsync <string>("e => e.click()", signInButton);

                await _page.WaitForSelectorAsync("#GalaxyAccountsFrame", PptrUtils.LongSelectorAwaiter);


                var accountsFrame = await _page.QuerySelectorAsync("#GalaxyAccountsFrame");

                var accountsFrameContent = await accountsFrame.ContentFrameAsync();

                await accountsFrameContent.WaitForSelectorAsync("#login_username", PptrUtils.LongSelectorAwaiter);

                await accountsFrameContent.WaitForSelectorAsync("#login_password", PptrUtils.LongSelectorAwaiter);

                await accountsFrameContent.WaitForSelectorAsync("#login_login", PptrUtils.LongSelectorAwaiter);

                var loginInput = await accountsFrameContent.QuerySelectorAsync("#login_username");

                await loginInput.TypeAsync(login);

                var passwordInput = await accountsFrameContent.QuerySelectorAsync("#login_password");

                await passwordInput.TypeAsync(password);

                var submitButton = await accountsFrameContent.QuerySelectorAsync("#login_login");

                await submitButton.ClickAsync();
            }
        }
示例#6
0
 public static IDictionary <string, string> PopulateCredentials(string username, string password)
 {
     return(CredentialsUtils.PopulateCredentials(username, password));
 }