Beispiel #1
0
        public async Task SetTestUser()
        {
            secureStorage.SetUserId(1);
            secureStorage.SetAccessCode("testaccesscode");
            secureStorage.SetPin("1234");

            await dataFlow.InitializeUser("", "Meysam", "Naseri", "+61", "*****@*****.**", "+61424554644");
        }
Beispiel #2
0
        public async Task SignUp()
        {
            if (!CanSignUp())
            {
                await View.DisplayAlert("Invalid values", "Please enter all required values.", "Ok");

                return;
            }

            try
            {
                if (!connectivity.IsConnected)
                {
                    await View.DisplayAlert("Internet required", "To sign up the app requires internet connection.", "Ok");

                    return;
                }

                var requestObj = new SignUpRequest
                {
                    BusinessName      = BusinessName.Value,
                    FirstName         = FirstName.Value,
                    LastName          = LastName.Value,
                    CountryCode       = Country.Value?.DialingCode ?? GetCountryCode(),
                    DeviceId          = GetDeviceId(),
                    EmailAddress      = EmailAddress.Value,
                    MobileNumber      = MobileNumber.Value?.Replace(" ", "").Replace("-", ""),
                    RequestForNewCode = false
                };

                SignUpResponseModel result;

                using (WorkingScope.Enter())
                {
                    result = await accountService.SignUp(requestObj);
                }

                if (result != null)
                {
                    if (result.StatusCode == 0)
                    {
                        using (WorkingScope.Enter())
                        {
                            await dataFlow.InitializeUser(requestObj.BusinessName, requestObj.FirstName, requestObj.LastName,
                                                          requestObj.CountryCode,
                                                          requestObj.EmailAddress, requestObj.MobileNumber);
                        }

                        var confirmationPage = createConfirmationCodeEntryViewModel(result.RequestId);
                        viewService.SetCurrentPage(confirmationPage);
                    }

                    else
                    {
                        var message = result.Error ?? "Unknown error.";

                        await View.DisplayAlert("Error", message, "Ok");
                    }
                }
                else
                {
                    var message = "There is an issue with communicating to our servers. Please try again.";

                    await View.DisplayAlert("Error", message, "Ok");
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex, new Dictionary <string, string>
                {
                    { "page", "sign up" },
                    { "operation", nameof(SignUp) }
                });
                await View.DisplayAlert("Error", "An error occurred while processing your request" + ex, "Ok");
            }
        }