Beispiel #1
0
        private async void Enter_Clicked(object sender, EventArgs e)
        {
            if (MainSql.IsConnNull())
            {
                return;
            }

            var entryPin = Pin.Text;

            if (string.IsNullOrEmpty(entryPin))
            {
                return;
            }

            UserDialogs.Instance.ShowLoading();

            Enter.IsEnabled = false;

            try
            {
                await MainSql.CreateAsync(new UserHelpers(), _internetCheck, entryPin);
            }
            catch (NoUserFound)
            {
                if (!await HelperFunctions.InternetCheck())
                {
                    return;
                }

                UserDialogs.Instance.HideLoading();
                await DisplayAlert("Error", "No user found! Please create one.", "OK");

                await Navigation.PushModalAsync(new AddNewUserPage(entryPin));

                Enter.IsEnabled = true;
                return;
            }
            catch (Exception ex) when(ex is InvalidOperationException || ex is DataException)
            {
                App.Close();
            }

            if (!await HelperFunctions.InternetCheck())
            {
                return;
            }

            await CreateHomeClass();

            UserDialogs.Instance.HideLoading();
        }
Beispiel #2
0
        private async void Enter_Clicked(object sender, EventArgs e)
        {
            if (MainSql.IsConnNull())
            {
                return;
            }

            if (string.IsNullOrEmpty(Username.Text))
            {
                return;
            }

            var username = Username.Text.ToLowerInvariant().RemoveWhitespace();

            try
            {
                await MainSql.MakeUserAccountAsync(username, _password);
            }
            catch (UserTableNotFound)
            {
                await DisplayAlert("Error", "No table found with that name!", "OK");

                return;
            }
            catch (UserAlreadyExists)
            {
                await DisplayAlert("Error", "User already registered!", "OK");

                return;
            }
            catch (PinAlreadyExists)
            {
                await DisplayAlert("Error", "Password already used!", "OK");

                return;
            }

            await DisplayAlert("New user", "User created! Please re-enter pin", "OK");

            // ReSharper disable once RedundantCapturedContext
            await Navigation.PopModalAsync();
        }