private void btnSilGecikme_Click(object sender, EventArgs e)
        {
            if (dgvGecikmeler.CurrentRow != null)
            {
                Gecikme seciliGecikme = dgvGecikmeler.CurrentRow.DataBoundItem as Gecikme;

                db.Gecikmeler.Remove(seciliGecikme);
                db.SaveChanges();

                OgrenciGecikmeVerisiYukle();
            }
        }
        private void GecikmeOdemeIsleme(bool odendimi)
        {
            if (dgvGecikmeler.CurrentRow != null)
            {
                Gecikme seciliGecikme = dgvGecikmeler.CurrentRow.DataBoundItem as Gecikme;

                seciliGecikme.OdendiMi = odendimi;

                if (db.SaveChanges() > 0)
                {
                    if (odendimi == false)
                    {
                        EMailGonder(seciliGecikme);
                    }

                    OgrenciGecikmeVerisiYukle();
                }
            }
        }
        private void EMailGonder(Gecikme gecikme)
        {
            string konu   = "Gecikme Ceza Bildirimi";
            string format = "{0} tarihinde {1} dakika geç kaldığınız için {2} ₺ ceza ödemeniz gerekmektedir... \n\nCeza Bilgileri : \n\nAd : {3} \nSoyad : {4} \nAçıklama : {5} \nDers başlama saati : {6} \nGiriş saati : {7} \n\nTahsilata bekleriz..\nSaygılarımızla..\n\nWissen-SC-501";

            string mesaj =
                string.Format(format,
                              gecikme.Tarih.ToShortDateString(),
                              GetMinutes(gecikme.GirisSaati, gecikme.GelisSaati).ToString(),
                              gecikme.Tutar.ToString(),
                              gecikme.Ogrencisi.Ad,
                              gecikme.Ogrencisi.Soyad,
                              gecikme.Aciklama,
                              gecikme.GirisSaati.ToString(),
                              gecikme.GelisSaati.ToString());

            EMail mail = new EMail();

            mail.SendEMail(gecikme.Ogrencisi.EPosta, konu, mesaj, isBodyHtml: false);
        }
        private void btnEkleGecikme_Click(object sender, EventArgs e)
        {
            if (cmbOgrenciler.SelectedIndex > -1)
            {
                Ogrenci secili = cmbOgrenciler.SelectedItem as Ogrenci;

                Gecikme gecikme = new Gecikme();
                gecikme.Tarih      = dtpTarih.Value.Date;
                gecikme.GirisSaati = dtpGirisSaati.Value.TimeOfDay;
                gecikme.GelisSaati = dtpGelisSaati.Value.TimeOfDay;
                gecikme.Aciklama   = txtAciklama.Text;
                gecikme.OdendiMi   = chkOdendiMi.Checked;
                gecikme.Tutar      = decimal.Parse(txtTutar.Text);

                gecikme.GirisSaati =
                    gecikme.GirisSaati.Add(new TimeSpan(0, 0, -1 * gecikme.GirisSaati.Seconds));

                gecikme.GelisSaati =
                    gecikme.GelisSaati.Add(new TimeSpan(0, 0, -1 * gecikme.GelisSaati.Seconds));

                gecikme.Ogrencisi = secili;
                gecikme.Ogrencisi.SonGecikmeTarihi = dtpTarih.Value.Date;

                db.Gecikmeler.Add(gecikme);

                if (db.SaveChanges() > 0)
                {
                    if (gecikme.OdendiMi == false)
                    {
                        EMailGonder(gecikme);
                    }

                    OgrenciGecikmeVerisiYukle();
                }
            }
        }