using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace emlakOtomasyonu
{
    public partial class frmSifremiUnuttum : Form
    {
        public frmSifremiUnuttum()
        {
            InitializeComponent();
        }

        sinif sinif = new sinif();

        private void btnGonder_Click(object sender, EventArgs e)
        {
            try
            {
                if (sinif.emailRegex.IsMatch(txtEPosta.Text) && txtEPosta.Text != "")
                {
                    string sorgu = "select * from kullanici where ePosta = '" + txtEPosta.Text + "'";
                    sinif.komut = new OleDbCommand(sorgu, sinif.baglanti);
                    OleDbDataReader dr = sinif.komut.ExecuteReader();
                    if (dr.Read())
                    {
                        SmtpClient kaynak = new SmtpClient();
                        kaynak.Credentials = new System.Net.NetworkCredential("uslueremlak@gmail.com", "01199322");
                        kaynak.Host = "smtp.gmail.com";
                        kaynak.Port = 587;
                        kaynak.EnableSsl = true;
                        MailAddress gonderen = new MailAddress("uslueremlak@gmail.com", "Usluer Emlak Otomasyonu");
                        MailAddress giden = new MailAddress(dr["ePosta"].ToString(), dr["adSoyad"].ToString());
                        MailMessage mesaj = new MailMessage(gonderen, giden);
                        mesaj.IsBodyHtml = true;
                        mesaj.Subject = "Usluer Emlak Otomasyonu Şifre Hatırlatması";
                        mesaj.Body = "Kullanıcı Adınız: " + dr["kullaniciAdi"] + " <br /> Şifreniz: " + dr["sifre"];
                        kaynak.Send(mesaj);
                        MessageBox.Show("Şifreniz e-posta adresinize gönderilmiştir.", "Başarılı", MessageBoxButtons.OK, MessageBoxIcon.
    Information);
                        this.Hide();
                    }
                    else
                        MessageBox.Show("Girmiş olduğunuz e-posta adresine ait kullanıcı bulunamadı.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); 
                }
                else
                    MessageBox.Show("Lütfen e-posta adresinizi doğru girdiğinizden emin olunuz.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); 
            }

            catch (Exception ex)
            {
                MessageBox.Show("E-Posta gönderilemedi. İnternet bağlantınızı kontrol ediniz.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void frmSifremiUnuttum_Load(object sender, EventArgs e)
        {
            try
            {
                if (sinif.baglanti.State == ConnectionState.Closed)
                    sinif.baglanti.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void frmSifremiUnuttum_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (sinif.baglanti.State == ConnectionState.Open)
                sinif.baglanti.Close();
        }
    }
}
