private async void ZarejestrujUzytkownika() { //SplashScreen splash = new SplashScreen("Images\\loading.gif"); //splash.Show(true, false); bool czyPoprawneDane = true; bool weryfikacja = true; this.IsEnabled = false; try { using (var client = new WcfService.Service1Client()) { obsRejestracji = new Models.ObslugaRejestracji( tbxLogin.Text, tbxHaslo.Password, tbxPowtorzoneHaslo.Password, tbxEmail.Text, tbxImie.Text, tbxNazwisko.Text); czyPoprawneDane = obsRejestracji.SprawdzDaneWejsciowe( login: obsRejestracji.Login, haslo: obsRejestracji.Haslo, haslo2: obsRejestracji.Haslo2, email: obsRejestracji.Email); obsRejestracji.Lista = await client.PobierzLoginyMaileImionaAsync(); if (!obsRejestracji.SprawdzCzyIstniejeUzytkownik(obsRejestracji.Lista, tbxLogin.Text, tbxEmail.Text)) { weryfikacja = false; this.IsEnabled = true; MessageBox.Show( this, "Podany użytkownik lub e-mail już został użyty!", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else if (!czyPoprawneDane) { weryfikacja = false; this.IsEnabled = true; MessageBox.Show( this, "Wypełnij wszystkie pola!", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else if (!obsRejestracji.WalidacjaHasla(tbxHaslo.Password, tbxPowtorzoneHaslo.Password)) { weryfikacja = false; this.IsEnabled = true; WyczyscPola(); MessageBox.Show( this, "Haslo powinno mieć powyżej 8 znaków i posiadać conajmniej jedną dużą literę oraz cyfrę", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else if (tbxHaslo.Password != tbxPowtorzoneHaslo.Password) { weryfikacja = false; this.IsEnabled = true; WyczyscPola(); MessageBox.Show( this, "Podaj dwa takie same hasła", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else if (!obsRejestracji.SprawdzenieEmail(tbxEmail.Text)) { weryfikacja = false; this.IsEnabled = true; MessageBox.Show( this, "Nieprawidlowy adres e-mail", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else if (!obsRejestracji.SprawdzenieImieINazwisko(tbxImie.Text, tbxNazwisko.Text)) { weryfikacja = false; this.IsEnabled = true; MessageBox.Show( this, "Imie i nazwisko musi zaczynać się z wielkiej litery", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); WyczyscPola(); } else { await client.WyslijMailaRejestracjaAsync(obsRejestracji.Login, obsRejestracji.Haslo, obsRejestracji.Email, obsRejestracji.Imie, obsRejestracji.Nazwisko); await client.DodajUzytkownikaAsync(obsRejestracji.Login, obsRejestracji.Haslo, obsRejestracji.Email, obsRejestracji.Imie, obsRejestracji.Nazwisko); } } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); this.IsEnabled = true; weryfikacja = false; } finally { if (weryfikacja == true) { this.IsEnabled = true; MessageBox.Show( this, "Użytkownik został dodany pomyślnie!", "Informacja", MessageBoxButton.OK, MessageBoxImage.Information); WyczyscPola(); this.DialogResult = true; } } }
private async void btnZarejestruj_Click(object sender, EventArgs e) { oczekiwanie = new System.Threading.Thread(WyswietlOczekiwanie); oczekiwanie.Start(); this.Enabled = false; bool czyPoprawneDane = true; bool weryfikacja = true; try { using (var client = new WcfService.Service1Client()) { Models.ObslugaRejestracji obsRejestracji = new Models.ObslugaRejestracji( tbxLogin.Text, tbxHaslo.Text, tbxWerHasla.Text, tbxEmail.Text, tbxImie.Text, tbxNazwisko.Text); czyPoprawneDane = obsRejestracji.SprawdzDaneWejsciowe(tbxLogin.Text, tbxHaslo.Text, tbxWerHasla.Text, tbxEmail.Text); obsRejestracji.Lista = await client.PobierzLoginyMaileImionaAsync(); if (!obsRejestracji.SprawdzCzyIstniejeUzytkownik(obsRejestracji.Lista, tbxLogin.Text, tbxEmail.Text)) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; MessageBox.Show(this, "Podany użytkownik lub e-mail już został użyty!", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); WyczyscPola(); return; } else if (!czyPoprawneDane) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; MessageBox.Show(this, "Wypełnij wszystkie pola!", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); WyczyscPola(); return; } else if (!WalidacjaHasla(tbxHaslo.Text, tbxWerHasla.Text)) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; WyczyscPola(); MessageBox.Show(this, "Haslo powinno mieć powyżej 8 znaków i posiadać conajmniej jedną dużą literę oraz cyfrę", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (tbxHaslo.Text != tbxWerHasla.Text) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; WyczyscPola(); MessageBox.Show(this, "Podaj dwa takie same hasła", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (!SprawdzenieEmail(tbxEmail.Text)) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; MessageBox.Show(this, "Nieprawidlowy adres e-mail", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); WyczyscPola(); } else if (!SprawdzenieImieINazwisko(tbxImie.Text, tbxNazwisko.Text)) { oczekiwanie.Abort(); weryfikacja = false; this.Enabled = true; MessageBox.Show(this, "Imie i nazwisko musi zaczynać się z wielkiej litery", "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); WyczyscPola(); } else { await client.WyslijMailaRejestracjaAsync(obsRejestracji.Login, obsRejestracji.Haslo, obsRejestracji.Email, obsRejestracji.Imie, obsRejestracji.Nazwisko); await client.DodajUzytkownikaAsync(obsRejestracji.Login, obsRejestracji.Haslo, obsRejestracji.Email, obsRejestracji.Imie, obsRejestracji.Nazwisko); } } } catch (Exception ex) { oczekiwanie.Abort(); MessageBox.Show(this, ex.Message, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error); weryfikacja = false; } finally { oczekiwanie.Abort(); if (weryfikacja == true) { this.Enabled = true; MessageBox.Show(this, "Użytkownik został dodany pomyślnie!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information); WyczyscPola(); Owner.Show(); Hide(); } } }