public async void LoginByPin(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 loginPinData = await _pinService.LoginByPin(pin, email); if (loginPinData != null && !loginPinData.IsError && loginPinData.Model != null) { if (loginPinData.Model.IsLogin) { try { await SecureStorage.SetAsync("CountLogin", "0"); var refreshToken = await SecureStorage.GetAsync("RefreshToken");; var tokenData = await _authService.GetTokenByRefreshToken(email, refreshToken); if (tokenData != null || !tokenData.IsError) { if (tokenData.Model == null || tokenData.Model.Token == null) { ErrorViewModel errorViewModel = new ErrorViewModel("กรุณาเข้าสู่ระบบอีกครั้ง", (int)EW_Enumerations.EW_ErrorTypeEnum.Error, ForceLogoutForErrorPopup); await PopupNavigation.Instance.PushAsync(new Error(errorViewModel)); } else { await SecureStorage.SetAsync("Token", tokenData.Model.Token); App.Account = await SecureStorage.GetAsync("Account"); App.Email = await SecureStorage.GetAsync("Email"); App.FirstName = await SecureStorage.GetAsync("FirstName"); App.LastName = await SecureStorage.GetAsync("LastName"); string preBirthDate = await SecureStorage.GetAsync("BirthDate"); try { App.BirthDate = DateTime.Parse(preBirthDate); } catch (Exception) { } App.MobileNumber = await SecureStorage.GetAsync("MobileNumber"); int gender = 0; int.TryParse(await SecureStorage.GetAsync("Gender"), out gender); App.Gender = (EWalletV2.Api.ViewModels.EW_Enumerations.EW_GenderEnum)gender; Application.Current.MainPage = new NavigationPage(new UserTabbedPage()); } } 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) { } } } catch (Exception e) { ErrorViewModel errorViewModel = new ErrorViewModel("โทรศัพท์ของท่านไม่สามารถใช้งานแอพพลิเคชั่นนี้ได้", (int)EW_Enumerations.EW_ErrorTypeEnum.Warning, CloseApp); await PopupNavigation.Instance.PushAsync(new Error(errorViewModel)); } } 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) { } countLogin++; await SecureStorage.SetAsync("CountLogin", countLogin.ToString()); if (countLogin >= 5) { ForceLogout(); } } } 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); HintColorChange(pin.Length); } } }
public async void InputPinMethod(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) { if (oldPin != "" && newPin != "") { repeatNewPin = pin; if (newPin == repeatNewPin) { var updateData = await _pinService.UpdatePin(newPin, oldPin, email); if (updateData != null && !updateData.IsError) { await PopupNavigation.Instance.PushAsync(new ChangePasswordSuccess()); await Application.Current.MainPage.Navigation.PopAsync(); } } else { pin = ""; countPin = pin.Length; HintColorChange(countPin); WarningText = "รหัสผ่านทั้ง 2 ครั้งไม่ตรงกัน"; WarningVisible = true; try { Vibration.Vibrate(); var duration = TimeSpan.FromSeconds(1); Vibration.Vibrate(duration); } catch (FeatureNotSupportedException ex) { } catch (Exception ex) { } } } else if (oldPin != "") { ChangeDataRepeatNewPin(); } else { var loginPinData = await _pinService.LoginByPin(pin, email); if (loginPinData != null && !loginPinData.IsError && loginPinData.Model != null) { if (loginPinData.Model.IsLogin) { await SecureStorage.SetAsync("CountLogin", "0"); ChangeDataNewPin(); } 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) { } countLogin++; await SecureStorage.SetAsync("CountLogin", countLogin.ToString()); if (countLogin >= 5) { ForceLogout(); } } } 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); } } }