12.4 – Form1.cs Mantığı (UI Katmanı)


🖥️ 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

Leave a Reply