Ejemplo n.º 1
0
        private void btnSpremiPromjene_Click(object sender, EventArgs e)
        {
            string[] validiraj = new string[7];
            validiraj[0] = txtIme.Text;
            validiraj[1] = txtPrezime.Text;
            validiraj[2] = txtEmail.Text;
            validiraj[3] = txtAdresa.Text;
            validiraj[4] = txtKontakt.Text;
            validiraj[5] = txtOib.Text;
            validiraj[6] = txtKorIme.Text;

            ValidacijaPromjena validacija = new Validation.ValidacijaPromjena();

            string   poruka            = validacija.Validiraj(validiraj);
            Korisnik dohvaceniKorisnik = RepozitorijSkyFlyReservation.DohvatiKorisnika(txtKorIme.Text);

            if (poruka != "")
            {
                MessageBox.Show(poruka);
            }
            else if (dohvaceniKorisnik != null && dohvaceniKorisnik.KorisnickoImeKorisnika != RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnickoImeKorisnika)
            {
                MessageBox.Show("Korisničko ime je zauzeto!");
            }
            else
            {
                Korisnik korisnik = new Korisnik()
                {
                    ImeKorisnika            = txtIme.Text,
                    PrezimeKorisnika        = txtPrezime.Text,
                    AdresaKorisnika         = txtAdresa.Text,
                    KontaktTelefonKorisnika = txtKontakt.Text,
                    EmailKorisnika          = txtEmail.Text,
                    OIBKorisnika            = txtOib.Text,
                    KorisnickoImeKorisnika  = txtKorIme.Text,
                    LozinkaKorisnika        = txtLozinka.Text
                };
                int numAffectedRows = RepozitorijSkyFlyReservation.AzurirajKorisnika(RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnikId, korisnik);

                if (numAffectedRows != 0)
                {
                    MessageBox.Show("Uspješna izmjena korisničkog računa.");
                    int            ID            = RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnikId;
                    UlogaKorisnika uloga         = RepozitorijSkyFlyReservation.prijavljeniKorisnik.UlogaKorisnika;
                    Aviokompanija  aviokompanija = RepozitorijSkyFlyReservation.prijavljeniKorisnik.Aviokompanija;

                    RepozitorijSkyFlyReservation.prijavljeniKorisnik                = korisnik;
                    RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnikId     = ID;
                    RepozitorijSkyFlyReservation.prijavljeniKorisnik.UlogaKorisnika = uloga;
                    RepozitorijSkyFlyReservation.prijavljeniKorisnik.Aviokompanija  = aviokompanija;

                    PopuniPolja();
                }
                else
                {
                    MessageBox.Show("Neuspješna promjena! Molimo pokušajte ponovno.");
                }
            }
        }
        private void btnPosalji_Click(object sender, EventArgs e)
        {
            Korisnik korisnik = RepozitorijSkyFlyReservation.ProvjeriEmail(txtEmail.Text);

            if (korisnik != null)
            {
                string novaLozinka = "";
                string znakovi     = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
                Random r           = new Random();
                r.Next();

                for (int i = 0; i < 10; i++)
                {
                    novaLozinka += znakovi[r.Next(znakovi.Length)];
                }

                int numAffectedRows = RepozitorijSkyFlyReservation.AzurirajKorisnika(txtEmail.Text, novaLozinka);

                if (numAffectedRows != 0)
                {
                    SmtpClient client = new SmtpClient("smtp.gmail.com", 25);

                    client.UseDefaultCredentials = false;
                    NetworkCredential cred = new NetworkCredential("*****@*****.**", "sj6IWP3o");

                    MailMessage Msg = new MailMessage();

                    Msg.From = new MailAddress("*****@*****.**");

                    Msg.To.Add($"{txtEmail.Text}");

                    Msg.Subject = "Oporavak računa";

                    Msg.Body = $"Poštovani,\n\n" +
                               $"Nova lozinka za vaš račun je: {novaLozinka}\n" +
                               "Ovu lozinku možete nastaviti koristiti ili je promjeniti u postavkama korisničkog računa.\n\n" +
                               "S poštovanjem,\n" +
                               "SkyFlyReservation";

                    client.Credentials = cred;

                    client.EnableSsl = true;

                    client.Send(Msg);
                    client.Dispose();

                    MessageBox.Show("Uspješna promjena lozinke!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Došlo je do greške pri oporavku lozinke! Molimo provjerite uneseni email i pokušajte ponovno.");
                }
            }
            else
            {
                MessageBox.Show("Korisnik s tom email adresom ne postoji!");
            }
        }