🖥️ 12.4 – Form1.cs Mantığı (UI Katmanı)
🎯 Amaç:
Kullanıcıdan alınan verilerle NotManager sınıfı üzerinden işlem yapılacak.
UI yalnızca veri alır, sonucu gösterir. İş mantığını doğrudan içermez.
🧱 Form Olayları ve Mantığı:
📌 1. Not Ekleme
private void btnEkle_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(txtBaslik.Text) || string.IsNullOrWhiteSpace(txtIcerik.Text))
{
MessageBox.Show("Başlık ve içerik boş olamaz!");
return;
}
Not yeniNot = new()
{
Baslik = txtBaslik.Text.Trim(),
Icerik = txtIcerik.Text.Trim()
};
NotManager.Ekle(yeniNot);
MessageBox.Show("Not başarıyla eklendi.");
txtBaslik.Clear();
txtIcerik.Clear();
}
📌 2. Notları Listeleme
private void btnListele_Click(object sender, EventArgs e)
{
lstNotlar.Items.Clear();
foreach (var not in NotManager.Listele())
{
lstNotlar.Items.Add(not); // ToString override edildiği için başlık ve tarih gösterilecek
}
}
📌 3. Not Silme
private void btnSil_Click(object sender, EventArgs e)
{
if (lstNotlar.SelectedItem == null)
{
MessageBox.Show("Silmek için bir not seçmelisiniz.");
return;
}
Not seciliNot = (Not)lstNotlar.SelectedItem;
bool sonuc = NotManager.Sil(seciliNot.Baslik);
if (sonuc)
{
MessageBox.Show("Not silindi.");
btnListele.PerformClick(); // Listeyi güncelle
}
else
{
MessageBox.Show("Silme işlemi başarısız.");
}
}
🔐 Dikkat Edilecekler:
- ToString() metodu düzgün çalışmazsa ListBox’ta nesne adı görünebilir
- Silme işlemi yalnızca başlığa göre yapılıyor, başlıklar benzersiz olmalı
- Daha sağlam yapılar için GUID veya ID eklemek önerilir