private void gbxOgrenciGoster() { gbxOgrenciPanel.Controls.Clear(); //GroupBox in Controls Temizleme db = new Context.Context(); //Database Baglantisi Acildi string sinifAdi_ = cbxSiniflar.SelectedItem.ToString(); //ComboBox dan Secilen Sinifi Aldim foreach(var item in db.ogrencilers) { //Label Ekleme Label lblOgrenci = new Label(); lblOgrenci.Text = item.AdiSoyadi; //Label Textine Ogrencinin AdiSoyadini Atadim lblOgrenci.Top = 15; //Label Bir Onceki Itemden 15px Asagida Olacak lblOgrenci.Left = 2; //Label Soldan 2px Bosluk Biraktim Point locLbl = new Point(5, (5 * sayac)); //Label new Point ile Yeni Location Belirledim lblOgrenci.Location = locLbl; //Label Location Atama gbxOgrenciPanel.Controls.Add(lblOgrenci); //GroupBox (gbxOgrenciPanel) Controls e Olusturdugum Labeli Ekledim //Bu Kismi Cogaltarak Farklı Labeller Ekleyebilirsiniz. //NumericUpDown Ekleme NumericUpDown nmrCeza = new NumericUpDown(); nmrCeza.Value = item.Ceza; //NumericUpDown Value Ogrencinin Cezasi (Degeri) Atandi nmrCeza.Top = 20; //NumericUpDown Bir Onceki Itemden 15px Asagida Olacak nmrCeza.Left = 102; //NumericUpDown Soldan 102px Uzaklikta Olacak // (2px + Label'in Ortalama Uzunlugu + Bosluk) nmrCeza.Size = new Size(40, 20); //NumericUpDown Boyutları Atandi (Boyut * Yukseklik) nmrCeza.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; //NumericUpDown Text inin Hizalaması Center (Orta) Secildi nmrCeza.Maximum = 5; //NumericUpDown Value Maximum 5 Secildi Point locNmr = new Point(100, (5 * sayac)); //NumericUpDown new Point ile Yeni Location Belirledim nmrCeza.Location = locNmr; //NumericUpDown Location Atama nmrCeza.Name = item.Id.ToString(); //NumericUpDown Name Ogrencinin Id si Atadim (Sonra Lazim Olacak) nmrCeza.ValueChanged += nmrCeza_ValueChanged; //NumericUpDown ValueChanged Ozelligini Aktif Ettim // (Degeri Degistiginde Database e Aktarmak Icın) gbxOgrenciPanel.Controls.Add(nmrCeza); //GroupBox (gbxOgrenciPanel) Controls e Olusturdugum NumericUpDown Ekledim } db.Dispose(); }
private void nmrCeza_ValueChanged(object sender, EventArgs e) { Int16 myId = Convert.ToInt16(((NumericUpDown)sender).Name); //NumericUpDown un Sender dan Gelen Name i myId e atadim if (((NumericUpDown)sender).Value == 5) //NumericUpDown un Sender dan Gelen Value Degeri 5 mi Kontrol Ettim. { db = new Context.Context(); //Database Baglantisi Acildi var ogrenciCeza = db.ogrencilers.FirstOrDefault(x => x.Id == myId); //myId ile Database den Ogrenciyi Sectim ogrenciCeza.Ceza = 0; //Ogrenci nin Cezasini Sifirladim db.SaveChanges(); //Database Degisiklikleri Aktardim CezaEkle(myId); //CezaEkle Metoduma myId mi Gonderdim( Yapilan Islemlere Ordan Devam Edicez) } else { //NumericUpDown un Sender dan Gelen Value Degeri 5 Degilse db = new Context.Context(); //Database Baglantisi Actim var ogrenciCeza = db.ogrencilers.FirstOrDefault(x => x.Id == myId); //myId ile Database den Ogrencimi Sectim (ogrenciCeza ya Atadim) ogrenciCeza.Ceza = Convert.ToInt16(((NumericUpDown)sender).Value); //ogrenciCeza nin Ceza Elemanina Value mi Atadim db.SaveChanges(); //Database Degisiklikleri Aktardim } db.Dispose(); //Database Baglantisini Kestim. }
private void CezaEkle(Int16 ogrenciId) //CezaEkle Metodumu Olusturdum { // Ogrencinin Id sini Alacak db = new Context.Context(); //Database Baglantisini Acildi var ogrenciCeza = db.ogrencilers.FirstOrDefault(x => x.Id == ogrenciId); //Ogrenciyi Sectim Cezalar c = new Cezalar(); //Cezalar Tipinde 'c' Olusturdum c.OgrenciId = ogrenciCeza.Id; //Ogrencinin Bilgilerini Atadim c.Tarih = DateTime.Now; c.CezaAdet = 0; db.cezalars.Add(c); //Olusturdugum 'c' yi Database Aktardim db.SaveChanges(); //Database Degisiklikler Kaydedildi CezaKontrol(ogrenciCeza.SinifId); //CezaKontrol Metoduma Sinifin Id sini Gonderdim gbxOgrenciGoster(); //gbxOgrenciGoster Yeniden Calistirildi db.Dispose(); //Database Baglantisi Kapatildi }
private void CezaKontrol(int sinifId) //CezaKontrol Methodu Olusturuldu { panelCezalar.Controls.Clear(); //panelCezalar in Controls Temizlendi try //Database Okumada Bir Hata ile Karsilasilmasi Durumumda { // Programin Devam Edebilmesi Icin Try Catch Kullanildi string sinifim = cbxSiniflar.SelectedItem.ToString(); // if (sinifim != null) // { // db = new Context.Context(); // int sinifID = db.siniflars.FirstOrDefault(x => x.Id == sinifId).Id; // // foreach (var itemOgrenci in db.ogrencilers.Where(x => x.SinifId == sinifID)) // { // db = new Context.Context(); // var list = db.cezalars.ToList(); // foreach (var itemCezalar in list) // { // if (itemCezalar.OgrenciId == itemOgrenci.Id) // { // sayac1++; // Label lblOgrenci1 = new Label(); // lblOgrenci1.Text = itemOgrenci.AdiSoyadi; // // Point locLbl = new Point(5, (5 * sayac1)); // lblOgrenci1.Location = locLbl; // panelCezalar.Controls.Add(lblOgrenci1); // lblList.Add(lblOgrenci1); // // DateTimePicker dtCezaTarih = new DateTimePicker(); // dtCezaTarih.Value = itemCezalar.Tarih.Value; // dtCezaTarih.MinDate = itemCezalar.Tarih.Value; // dtCezaTarih.Name = itemCezalar.Id.ToString(); // Point locNmr = new Point(110, (5 * sayac1)); // dtCezaTarih.Location = locNmr; // panelCezalar.Controls.Add(dtCezaTarih); // dtCezalar.Add(dtCezaTarih); // dtCezaTarih.ValueChanged += DTCezalar_Guncelle; // // Button btnSil = new Button(); // btnSil.Size = new Size(70, 25); // Point locBut = new Point(320, (5 * sayac1)); // btnSil.Text = "Sil"; // btnSil.Name = itemCezalar.Id.ToString(); // btnSil.Location = locBut; // btnSil.Click += BtnDelete_Click; // panelCezalar.Controls.Add(btnSil); // sayac1 += 4; // } // } // } // } // sayac1 = 0; // db.Dispose(); // } // catch (Exception) // { // // } // }
private void HatirlarmaMailiGonder() { try { db = new Context.Context(); var cezaList = db.cezalars.ToList(); var ogrenciList = db.ogrencilers.ToList(); foreach (var cezaItem in cezaList) { foreach (var ogrenciItem in ogrenciList) { if (cezaItem.OgrenciId == ogrenciItem.Id) { if (cezaItem.MailGonder < 3) { var sinifim = db.siniflars.Find(ogrenciItem.SinifId); string Template = EmailTemplate(ogrenciItem.AdiSoyadi, sinifim.Sinif, cezaItem.Tarih.Value); string _aciklama = Template; string _konu = "Tatlı Cezası Hk."; string _ogrenciMaili = ogrenciItem.MailAdres; EmailSender(_aciklama, _konu, _ogrenciMaili); cezaItem.MailGonder += 1; db.SaveChanges(); } } } } db.Dispose(); } catch (Exception) { } }
public string EmailTemplate(string ogrenci, string sinif, DateTime cezaTarihi) { //Html Kodlarin Basina '<' Karakterini Eklemelisiniz. string EmailFormat = "div> + "span>h3>Ogrenci Tatlı Cezasi Bilgilendirme/h3>/span>br />" + "table border=1 width=100% align=center cellpadding='3' border-color:'#dadce0'; border-radius:4px>" + "th>Ogrenci Adi/th>" + "th>Sinif/th>" + "th>Tatli Ceza Tarihi/th>" + "tr>" + "td>strong>" + ogrenci + "/strong>/td> " + "td>strong>" + sinif + "/strong>/td>" + "td>strong>" + cezaTarihi + "/strong>/td> " + "/tr>" + "/table>" + "/div>"; return EmailFormat; }
public void EmailSender(string aciklama, string konu, string _MailAdresi) { MailMessage ePosta = new MailMessage(); ePosta.From = new MailAddress("**mail adresiniz**"); //Gönderilecek (Host) Mail Adresi ePosta.To.Add(_MailAdresi); //Gönderilecek Kişinin Mail Adresi ePosta.Subject = konu; //Mail Konusu ePosta.IsBodyHtml = true; //EmailTemplate Bölümünde Html Kod Yazdığımız için 'True' ePosta.Body = aciklama; SmtpClient smtp = new SmtpClient(); smtp.Credentials = new NetworkCredential("**Mail Adresiniz**", "**Şifreniz**"); //Gönderilecek(Host) Mail Adresi ve Şifresi smtp.Port = 587; //Smtp Port smtp.Host = "smtp.gmail.com"; //Smtp Host smtp.EnableSsl = true; //Smtp Sunucusu SSL Sertifikası İstiyorsa 'True' smtp.SendAsync(ePosta, (object)ePosta); }
private void lbOgrenciler_MouseDown(object sender, MouseEventArgs e) { try { Point nokta = new Point(e.X, e.Y); sira = lbOgrenciler.IndexFromPoint(nokta); if (e.Button == MouseButtons.Left) lbOgrenciler.DoDragDrop(lbOgrenciler.Items[sira].ToString(), DragDropEffects.All); } catch (Exception) { } } private void lbSiniflar_DragOver(object sender, DragEventArgs e) { if (e.KeyState == 1) e.Effect = DragDropEffects.Move; } private void lbSiniflar_DragDrop(object sender, DragEventArgs e) { try { string gelen = e.Data.GetData(DataFormats.Text).ToString(); var point = lbSiniflar.PointToClient(new Point(e.X, e.Y)); int sira = lbSiniflar.IndexFromPoint(point); lbSiniflar.SelectedIndex = sira; string yeniSinif = lbSiniflar.Items[sira].ToString(); db = new Context.Context(); var _sinifId = db.siniflars.FirstOrDefault(x => x.Sinif == yeniSinif); Ogrenciler degisecekOgrenci = db.ogrencilers.FirstOrDefault(x => x.AdiSoyadi == gelen); degisecekOgrenci.SinifId = _sinifId.Id; db.SaveChanges(); db.Dispose(); SinifGoster(); lbSiniflar.SelectedItem = _sinifId.Sinif; OgrenciGoster(); } catch (Exception) { } } private void lbSiniflar_DragEnter(object sender, DragEventArgs e) { if (e.KeyState == 1) e.Effect = DragDropEffects.Move; string nereye = e.Data.GetData(DataFormats.Text).ToString(); }
public class Cezalar { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } public int OgrenciId { get; set; } public int CezaAdet { get; set; } public DateTime? Tarih { get; set; } public int? MailGonder { get; set; } public DateTime? MailGonderimTarihi { get; set; } }
public class Ogrenciler { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } public int SinifId { get; set; } public string AdiSoyadi { get; set; } public short Ceza { get; set; } public string MailAdres { get; set; } }
public class Siniflar { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } public string Sinif { get; set; } public string SinifSaat { get; set; } public virtual List/Ogrenciler> ogrencilers { get; set; } //List/ogrenciler> Kisminda '<' Icerisindeki '//' Kaldirilacak }