Exemplo n.º 1
0
        /// <summary>
        ///     Checks the pin.
        /// </summary>
        /// <param name="pin">The pin.</param>
        private async void CheckPin(IWrappedValue <string> pin)
        {
            var result = await _service.ValidatePin(_provider.GetBankCardNumber(), pin.Value);

            _dispatcherAccessor.Dispatcher.Invoke(() =>
            {
                if (result)
                {
                    // store entered value in context.
                    _provider.CurrentPin = pin.Value;

                    // reset entered value on UI
                    pin.Value = null;

                    // navigate to actions
                    _regionManager.RequestNavigate(RegionName.MainRegion, ViewName.ActionsView);

                    ErrorMessage = null;
                }
                else
                {
                    ErrorMessage = "Invalid PIN";
                }
            });
        }
        /// <summary>
        ///     Changed the pin.
        /// </summary>
        /// <param name="newPin">The pin.</param>
        private async void ChangePin(IWrappedValue <string> newPin)
        {
            if (string.IsNullOrWhiteSpace(newPin.Value) || newPin.Value.Length != 4)
            {
                ErrorMessage = "Invalid PIN code specified";
            }

            var result = await _service.ChangePin(_provider.GetBankCardNumber(), _provider.CurrentPin, newPin.Value);

            _dispatcherAccessor.Dispatcher.Invoke(
                () =>
            {
                if (result)
                {
                    // store in context
                    _provider.CurrentPin = newPin.Value;

                    // reset on UI
                    newPin.Value = null;

                    // navigate to actions
                    _regionManager.RequestNavigate(RegionName.MainRegion, ViewName.ActionsView);

                    ErrorMessage = null;
                    newPin.Value = null;
                }
                else
                {
                    ErrorMessage = "PIN was not changed.";
                    newPin.Value = null;
                }
            });
        }