コード例 #1
0
        /// <summary>
        /// Prüfen der Daten für die Registrierung und dann speichern der Daten lokal wie in der Datenbank
        /// Voreinstellung einer Benutzerdaten, sodass ein bessere Userfeeling entsteht
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        async void Registrieren(System.Object sender, System.EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(RegVM.User.Nutzername))
            {
                RegVM.User.Nutzername = RegVM.User.Nutzername.ToLower();
                if (!string.IsNullOrWhiteSpace(RegVM.PW))
                {
                    if (!string.IsNullOrWhiteSpace(RegVM.PW2))
                    {
                        if (RegVM.PW == RegVM.PW2)
                        {
                            string hashedpw = AllVM.HashPassword(RegVM.PW);

                            RegVM.User.ErstelltAm = DateTime.Now;
                            RegVM.User.Passwort   = hashedpw;
                            RegVM.User.InfoText   = "Hi, ich bin neu hier!";

                            using (var webClient = new WebClient())
                                RegVM.User.ProfilBild = webClient.DownloadData("https://cdn.pixabay.com/photo/2016/11/11/09/59/white-male-1816195_1280.jpg");

                            if (AllVM.Datenbank.User.Insert(RegVM.User))
                            {
                                AllVM.User = AllVM.ConvertFromUser(RegVM.User);
                                Application.Current.Properties.Add("userid", RegVM.User.Nutzername);
                                Application.Current.Properties.Add("userpw", RegVM.User.Passwort);
                                await Application.Current.SavePropertiesAsync();

                                App.Current.MainPage = new AppShell();
                            }
                            else
                            {
                                DependencyService.Get <IMessage>().ShortAlert("Fehler beim Speichern!");
                            }
                        }
                        else
                        {
                            DependencyService.Get <IMessage>().ShortAlert("Passwörter stimmen nicht überein");
                        }
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Bitte Bestätigung eingeben");
                    }
                }
                else
                {
                    DependencyService.Get <IMessage>().ShortAlert("Bitte Passwort eingeben");
                }
            }
            else
            {
                DependencyService.Get <IMessage>().ShortAlert("Nutzername eingeben!");
            }
        }
コード例 #2
0
ファイル: Login.xaml.cs プロジェクト: Strohmi/FitnessApp
        /// <summary>
        /// Anmeldedaten prüfen, lokal speichern und an den Server melden
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        async void Save(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Nutzername))
            {
                Nutzername = Nutzername.ToLower();
                bool?exists = AllVM.Datenbank.User.Exists(Nutzername);

                if (exists == true)
                {
                    string pw  = AllVM.Datenbank.User.GetPasswort(Nutzername);
                    string hpw = AllVM.HashPassword(Passwort);
                    if (hpw == pw)
                    {
                        AllVM.Initial(Nutzername);
                        Application.Current.Properties.Clear();
                        Application.Current.Properties.Add("userid", Nutzername);
                        Application.Current.Properties.Add("userpw", pw);
                        await Application.Current.SavePropertiesAsync();

                        App.Current.MainPage = new AppShell();
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Passwort stimmt nicht!");
                    }
                }
                else if (exists == false)
                {
                    DependencyService.Get <IMessage>().ShortAlert("Nutzername unbekannt");
                }
                else
                {
                    DependencyService.Get <IMessage>().ShortAlert("Fehler beim Prüfen");
                }
            }
            else
            {
                DependencyService.Get <IMessage>().ShortAlert("Nutzername eingeben!");
            }
        }
コード例 #3
0
        /// <summary>
        /// Prüfen und Speichern des neuen Passworts
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Save(object sender, EventArgs e)
        {
            //Passwort muss bestimmte Kriterien haben
            var hasNumber        = new Regex(@"[0-9]+");
            var hasUpperChar     = new Regex(@"[A-Z]+");
            var hasLowerChar     = new Regex(@"[a-z]+");
            var hasMinimum8Chars = new Regex(@".{8,}");

            string chpw = AllVM.HashPassword(cPWVM.CurPW);

            if (curPW == chpw)
            {
                if (!string.IsNullOrWhiteSpace(cPWVM.NewPW1))
                {
                    if (!string.IsNullOrWhiteSpace(cPWVM.NewPW1))
                    {
                        if (hasMinimum8Chars.IsMatch(cPWVM.NewPW1))
                        {
                            if (hasLowerChar.IsMatch(cPWVM.NewPW1))
                            {
                                if (hasUpperChar.IsMatch(cPWVM.NewPW1))
                                {
                                    if (hasNumber.IsMatch(cPWVM.NewPW1))
                                    {
                                        if (cPWVM.NewPW1 == cPWVM.NewPW2)
                                        {
                                            string hpw = AllVM.HashPassword(cPWVM.NewPW1);

                                            if (AllVM.Datenbank.User.ChangePW(cPWVM.User.Nutzername, hpw))
                                            {
                                                AllVM.User.Passwort = hpw;
                                                OnBackButtonPressed();
                                                DependencyService.Get <IMessage>().ShortAlert("Passwort erfolgreich geändert");
                                            }
                                            else
                                            {
                                                DependencyService.Get <IMessage>().ShortAlert("Fehler beim Ändern");
                                            }
                                        }
                                        else
                                        {
                                            DependencyService.Get <IMessage>().ShortAlert("Passwörter stimmen nicht überein");
                                        }
                                    }
                                    else
                                    {
                                        DependencyService.Get <IMessage>().ShortAlert("Passwort muss mindestens eine Nummer enthalten");
                                    }
                                }
                                else
                                {
                                    DependencyService.Get <IMessage>().ShortAlert("Passwort muss mindestens einen Großbuchstaben enthalten");
                                }
                            }
                            else
                            {
                                DependencyService.Get <IMessage>().ShortAlert("Passwort muss mindestens einen Kleinbuchstaben enthalten");
                            }
                        }
                        else
                        {
                            DependencyService.Get <IMessage>().ShortAlert("Passwort muss mindestens 8 Zeichen lang sein");
                        }
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Passwort wiederholen!");
                    }
                }
                else
                {
                    DependencyService.Get <IMessage>().ShortAlert("Neues Passwort muss gefüllt werden");
                }
            }
            else
            {
                DependencyService.Get <IMessage>().ShortAlert("Aktuelles Passwort ist nicht korrekt!");
            }
        }