Exemple #1
0
        async Task RegisterAsync(object sender, EventArgs e)
        {
            if (passwordEntry.Text.Length < 4)
            {
                await DisplayAlert("Fehler", "Das Passwort muss mindestens 4 Zeichen lang sein!", "Ok");

                return;
            }

            if (passwordEntry.Text != passwordConfirmEntry.Text)
            {
                await DisplayAlert("Fehler", "Die eingegebenen Passwörter stimmen nicht überein!", "Ok");

                return;
            }

            viewModel.IsBusy = true;

            UserModel model = new UserModel(viewModel.ScannedId);

            model.Password = passwordEntry.Text;

            try
            {
                await userApi.CreateAsync(model);

                await Navigation.PopAsync();

                DependencyService.Get <IToastMessage>().LongAlert("Account erstellt. Jetzt musst du dich noch einloggen!");
            }
            catch (ConflictException conflictEx)
            {
                await DisplayAlert("Dieb! ;-)", "Der von dir gescannte Code ist bereits für einen anderen Benutzer reserviert!", "Ok");
            }
            catch (InvalidCodeException codeEx)
            {
                await DisplayAlert("Fehler", "Es sind nur offizielle Aufnäher erlaubt!", "Ok");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Fehler", "Möglicherweise hast du gerade keine ausreichende Internetverbindung. Bitte versuche es an einem anderen Ort erneut!", "Ok");
            }
            viewModel.IsBusy = false;
        }