public List <SoruBirimDto> Yarat() { foreach (var dersHoca in kaynak) { Birim birim = BirimiAl(dersHoca); if (birim == null) { continue; } SoruBirimDto birimDto = AgactaVarsaAl(birim); if (birimDto == null) { try { birimDto = birim.ToSoruBirimDto(); birimAgaci.Add(birimDto); } catch (Exception hata) { } } } KaynaktaPersonelinHocaOlmadigiBilgilerCilkarilsin(); return(birimAgaci); }
private void KaynaktaPersonelinHocaOlmadigiBilgilerCilkarilsin() { for (int i = 0; i < birimAgaci.Count; i++) { SoruBirimDto birim = birimAgaci[i]; for (int j = 0; j < birim.Programlari.Count; j++) { SoruProgramDto program = birim.Programlari[j]; for (int k = 0; k < program.Donemleri.Count; k++) { ProgramDonemDto donem = program.Donemleri[k]; for (int l = 0; l < donem.DersGruplari.Count; l++) { DersGrupDto dersGrubu = donem.DersGruplari[l]; for (int m = 0; m < dersGrubu.Dersleri.Count; m++) { DersDto ders = dersGrubu.Dersleri[m]; for (int n = 0; n < ders.Konulari.Count; n++) { KonuDto konu = ders.Konulari[n]; if (!konu.AnlatanHocalar.Any(ah => ah.PersonelNo == personelNo)) { ders.Konulari.RemoveAt(n); n--; } } if (!ders.AnlatanHocalar.Any(ah => ah.PersonelNo == personelNo)) { dersGrubu.Dersleri.RemoveAt(m); m--; } else { if (ders.Konulari.Count == 0) { dersGrubu.Dersleri.RemoveAt(m); } } } if (dersGrubu.Dersleri.Count == 0) { donem.DersGruplari.RemoveAt(l); l--; } } if (donem.DersGruplari.Count == 0) { program.Donemleri.RemoveAt(k); k--; } } if (program.Donemleri.Count == 0) { birim.Programlari.RemoveAt(j); j--; } } if (birim.Programlari.Count == 0) { birim.Programlari.RemoveAt(i); } } }