Esempio n. 1
0
        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();
                }
            }
        }