private async void Register()
        {
            bool isValidateName = Unities.ValidateName(FirstName);

            if (!isValidateName)
            {
                FirstName = "";
            }
            bool isValidateLastName = Unities.ValidateName(LastName);

            if (!isValidateLastName)
            {
                LastName = "";
            }
            bool isValidateDate = Unities.ValidateStringDateFormat(BirthDate);

            if (!isValidateDate)
            {
                BirthDate = "";
            }
            bool isValidateEmail = Unities.CheckEmailFormat(Email);

            if (!isValidateEmail)
            {
                Email = "";
            }
            if (!string.IsNullOrEmpty(MobileNumber))
            {
                MobileNumber = Regex.Replace(MobileNumber, @"[^\d]", "");
            }
            bool isValidatePhoneNumber = Unities.ValidateStringMobile(MobileNumber);

            if (!isValidatePhoneNumber)
            {
                MobileNumber = "";
            }
            if (isValidateName && isValidateLastName && isValidateDate && isValidateEmail && isValidatePhoneNumber)
            {
                RegisterCommand register = new RegisterCommand
                {
                    BirthDate    = DateTime.ParseExact(BirthDate, "dd/MM/yyyy", null),
                    Email        = Email,
                    FirstName    = FirstName,
                    LastName     = LastName,
                    Pin          = Pin,
                    MobileNumber = MobileNumber,
                    Gender       = Gender
                };
                SetPinForAuthViewModel authViewModel = new SetPinForAuthViewModel(register);

                await Application.Current.MainPage.Navigation.PushAsync(new PinPage(authViewModel));
            }
            else
            {
                await PopupNavigation.PushAsync(new Error(new ErrorViewModel("กรอกข้อมูลไม่ถูกต้อง", (int)EW_Enumerations.EW_ErrorTypeEnum.Warning)));
            }
        }
 public async void BackPageByRegis()
 {
     if (repeatPin == "")
     {
         await Application.Current.MainPage.Navigation.PushAsync(new RegisterPage());
     }
     else
     {
         SetPinForAuthViewModel authViewModel = new SetPinForAuthViewModel(register);
         await Application.Current.MainPage.Navigation.PushAsync(new PinPage(authViewModel));
     }
 }
 public async void BackPageByLogin()
 {
     if (repeatPin == "")
     {
         await Application.Current.MainPage.Navigation.PopToRootAsync();
     }
     else
     {
         SetPinForAuthViewModel setPinForAuth = new SetPinForAuthViewModel(email);
         await Application.Current.MainPage.Navigation.PushAsync(new PinPage(setPinForAuth));
     }
 }
Esempio n. 4
0
        public async void CheckOtp(string value)
        {
            WarningText    = "";
            WarningVisible = false;
            if (value == "Delete")
            {
                if (pin.Length > 0)
                {
                    pin = pin.Remove(pin.Length - 1);
                    int countPin = pin.Length;
                    HintColorChange(countPin);
                }
            }
            else
            {
                bool isExistvalue = Unities.CheckDigitaAndLength(value, 1);
                if (!isExistvalue)
                {
                    WarningText    = "ค่าที่ใส่ไม่ใช่ตัวเลข";
                    WarningVisible = true;
                    try
                    {
                        Vibration.Vibrate();
                        var duration = TimeSpan.FromSeconds(1);
                        Vibration.Vibrate(duration);
                    }
                    catch (FeatureNotSupportedException ex)
                    {
                    }
                    catch (Exception ex)
                    {
                    }
                }
                pin += value;
                int countPin = pin.Length;
                HintColorChange(countPin);
                if (countPin == 6)
                {
                    var checkOtpData = await _authService.CheckOtp(email, pin, reference);

                    if (checkOtpData != null && !checkOtpData.IsError)
                    {
                        if (checkOtpData.Model != null && checkOtpData.Model.IsValidateOtp)
                        {
                            if (checkProcess == Status.LastPage.Login)
                            {
                                SetPinForAuthViewModel setPinForAuth = new SetPinForAuthViewModel(email);
                                await Application.Current.MainPage.Navigation.PushAsync(new PinPage(setPinForAuth));
                            }
                            else if (checkProcess == Status.LastPage.Register)
                            {
                                await Application.Current.MainPage.Navigation.PushAsync(new RegisterPage());
                            }
                            else
                            {
                                await Application.Current.MainPage.Navigation.PopToRootAsync();
                            }
                        }
                        else
                        {
                            pin      = "";
                            countPin = pin.Length;
                            HintColorChange(countPin);
                            WarningText    = "OTP ไม่ถูกต้องหรือหมดอายุ";
                            WarningVisible = true;
                            try
                            {
                                Vibration.Vibrate();
                                var duration = TimeSpan.FromSeconds(1);
                                Vibration.Vibrate(duration);
                            }
                            catch (FeatureNotSupportedException ex)
                            {
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }
                    else
                    {
                        pin      = "";
                        countPin = pin.Length;
                        HintColorChange(countPin);
                        WarningText    = "ไม่สามารถเชื่อมต่อได้";
                        WarningVisible = true;
                        try
                        {
                            Vibration.Vibrate();
                            var duration = TimeSpan.FromSeconds(1);
                            Vibration.Vibrate(duration);
                        }
                        catch (FeatureNotSupportedException ex)
                        {
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
                if (countPin > 6)
                {
                    pin = pin.Substring(0, 5);
                }
            }
        }