public static List <Ders> Sirala(List <Ders> Siralanacak, bool DosyayaYazilsinMi, SiralamaOlcudu NeyeGore) { int kapasite = Siralanacak.Count - 1; for (int i = 0; i < kapasite; i++) { for (int j = 0; j < kapasite - i; j++) { switch (NeyeGore) { case SiralamaOlcudu.KodunaGore: if (Siralanacak[j].Kod.CompareTo(Siralanacak[j + 1].Kod) > 0) { Ders temp = Siralanacak[j]; Siralanacak[j] = Siralanacak[j + 1]; Siralanacak[j + 1] = temp; } break; case SiralamaOlcudu.AdinaGore: if (Siralanacak[j].Ad.CompareTo(Siralanacak[j + 1].Ad) > 0) { Ders temp = Siralanacak[j]; Siralanacak[j] = Siralanacak[j + 1]; Siralanacak[j + 1] = temp; } break; case SiralamaOlcudu.KredisineGore: if (Siralanacak[j].Kredi > Siralanacak[j + 1].Kredi) { Ders temp = Siralanacak[j]; Siralanacak[j] = Siralanacak[j + 1]; Siralanacak[j + 1] = temp; } break; default: break; } } } if (DosyayaYazilsinMi) { switch (NeyeGore) { case SiralamaOlcudu.KodunaGore: DosyayiBosalt("output.txt"); foreach (Ders item in Siralanacak) { item.SiraliDosyayaYaz("output.txt"); } break; case SiralamaOlcudu.AdinaGore: DosyayiBosalt("outputad.txt"); foreach (Ders item in Siralanacak) { item.SiraliDosyayaYaz("outputad.txt"); } break; case SiralamaOlcudu.KredisineGore: DosyayiBosalt("outputkredi.txt"); foreach (Ders item in Siralanacak) { item.SiraliDosyayaYaz("outputkredi.txt"); } break; default: break; } } return(Siralanacak); }
private void button3_Click(object sender, EventArgs e) { listView_derslerinlistesi.Items.Clear(); Dictionary <string, int> mesaj_listesi = new Dictionary <string, int>(); List <Ders> silinecek_dersler = new List <Ders>(); List <Ders> dersler = Ders.DersleriListele("input.txt"); dersler = Ders.Sirala(dersler, false, Ders.SiralamaOlcudu.KodunaGore); for (int i = 0; i < dersler.Count - 1; i++) { Ders ayni_dersler = null; int ayniSayisi = 0; while (dersler[i].Kod == dersler[i + 1].Kod && i < dersler.Count - 1) { ayni_dersler = dersler[i]; ayniSayisi++; if (ayniSayisi == 1) { ListViewItem item = new ListViewItem(ayni_dersler.Kod); item.SubItems.Add(ayni_dersler.Ad); item.SubItems.Add(ayni_dersler.Kredi.ToString()); item.SubItems.Add(ayni_dersler.OnSart); item.SubItems.Add(ayni_dersler.Aciklama); listView_derslerinlistesi.Items.Add(item); mesaj_listesi.Add(ayni_dersler.Ad, 0); } silinecek_dersler.Add(ayni_dersler); mesaj_listesi[ayni_dersler.Ad]++; if (i < dersler.Count - 3) { i++; } } ayniSayisi = 0; ayni_dersler = null; } string mesaj = "Aşağıdaki kayıtlar silinecektir. Onaylıyor musunuz?"; foreach (var item in mesaj_listesi) { mesaj += "\n" + item.Key + " dersinden " + item.Value + " adet "; } DialogResult result = MessageBox.Show(mesaj, "Uyarı!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { foreach (Ders item in silinecek_dersler) { dersler.Remove(item); } } Ders.DosyayiBosalt("output.txt"); listView_derslerinlistesi.Items.Clear(); foreach (Ders item in dersler) { item.DosyayaYaz("output.txt"); ListViewItem yeni_item = new ListViewItem(item.Kod); yeni_item.SubItems.Add(item.Ad); yeni_item.SubItems.Add(item.Kredi.ToString()); yeni_item.SubItems.Add(item.OnSart); yeni_item.SubItems.Add(item.Aciklama); listView_derslerinlistesi.Items.Add(yeni_item); } }