Example #1
0
        private async void PasswordSubmit(object parameter)
        {
            var passwordBox = parameter as PasswordBox;
            var hash        = CalcHash.Sha256(passwordBox.Password);

            passwordBox.Password = "";
            InputPane.GetForCurrentView().TryHide();
            InputPane.GetForCurrentView().Visible = false;
            await BeginBuyProducts(hash);
        }
Example #2
0
        private async void Register(object parameter)
        {
            Registering      = true;
            ResultVisibility = Visibility.Collapsed;
            var passwordBox = parameter as PasswordBox;

            switch (CheckInputData(Email, passwordBox.Password))
            {
            case CheckInputDataResult.PasswordTooShort:
                await CustomDialog.UserRegisterPasswordLengthError();

                Registering = false;
                return;

            case CheckInputDataResult.EmailTooShort:
            case CheckInputDataResult.EmailTooLong:
                await CustomDialog.UserRegisterEmailLengthError();

                Registering = false;
                return;
            }

            (bool res, string ip, string port) = await CustomIO.GetIpAndPort();

            if (res == false)
            {
                // 一応ここでもチェックする
                await CustomDialog.ServerSettingLoadError();

                PageStack.Push(page.GetType());
                page.Frame.Navigate(typeof(ServerSettingPage), PageStack);
                Registering = false;
                return;
            }

            Communication tcp  = new Communication();
            var           stat = await tcp.ConnectAndTest(ip, port);

            if (stat != Communication.TcpError.NoError)
            {
                await CustomDialog.ServerConnectError();

                tcp.Disconnect();
                Registering = false;
                return;
            }

            var hash = CalcHash.Sha256(passwordBox.Password);
            await tcp.SendMessageAsync(tcp.GetTcpCommand(Communication.TcpCommandNumber.CmdAddUser));

            Communication.TcpStatus comStat;
            do
            {
                var resMsg = await tcp.ReceiveMessageAsync();

                comStat = tcp.GetStatus(resMsg);
                switch (comStat)
                {
                case Communication.TcpStatus.StatRequestHash:
                    await tcp.SendMessageAsync(hash);

                    break;

                case Communication.TcpStatus.StatRequestEmail:
                    await tcp.SendMessageAsync(Email);

                    break;

                case Communication.TcpStatus.StatFIN:
                    break;

                case Communication.TcpStatus.StatHashConflict:
                    await CustomDialog.UserRegisterHashConflictError();

                    tcp.Disconnect();
                    Registering = false;
                    return;

                default:
                    await CustomDialog.UnknownError();

                    tcp.Disconnect();
                    Registering = false;
                    return;
                }
            } while (comStat != Communication.TcpStatus.StatFIN);

            ResultVisibility     = Visibility.Visible;
            passwordBox.Password = "";
            Email = "";
            await CustomDialog.UserRegisterComplete();

            tcp.Disconnect();
            Registering = false;
        }