private async Task <SayfaliListe <Soru> > Listele(SoruSorgu sorguNesnesi) { var siralamaBilgisi = propertyMappingService.GetPropertyMapping <SoruListeDto, Soru>(); var siralanmisSorgu = store.Sorgu.SiralamayiAyarla(sorguNesnesi.SiralamaCumlesi, siralamaBilgisi); var sonuc = await SayfaliListe <Soru> .SayfaListesiYarat(siralanmisSorgu, sorguNesnesi.Sayfa, sorguNesnesi.SayfaBuyuklugu); return(sonuc); }
private void FiltreleriAyarla(SoruSorgu sorguNesnesi) { if (!string.IsNullOrEmpty(sorguNesnesi.AramaCumlesi)) { AramaCumlesineGoreFiltrele(sorguNesnesi); } if (sorguNesnesi.BirimNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.BirimNo == sorguNesnesi.BirimNo.Value); } if (sorguNesnesi.ProgramNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.ProgramNo == sorguNesnesi.ProgramNo.Value); } if (sorguNesnesi.DonemNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.DonemNo == sorguNesnesi.DonemNo.Value); } if (sorguNesnesi.DersGrubuNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.DersGrubuNo == sorguNesnesi.DersGrubuNo.Value); } if (sorguNesnesi.OgrenimCiktilar != null) { store.Sorgu = store.Sorgu.Where(s => s.SoruHedefleri.Any(h => h.OgrenimHedefNo.HasValue && sorguNesnesi.OgrenimCiktilar.Contains(h.OgrenimHedefNo.Value))); } if (sorguNesnesi.DersNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.DersNo == sorguNesnesi.DersNo.Value); } if (sorguNesnesi.KonuNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.KonuNo == sorguNesnesi.KonuNo.Value); } if (sorguNesnesi.SoruTipNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.SoruTipNo == sorguNesnesi.SoruTipNo.Value); } if (sorguNesnesi.BilisselDuzeyNo.HasValue) { store.Sorgu = store.Sorgu.Where(s => s.BilisselDuzeyNo == sorguNesnesi.BilisselDuzeyNo.Value); } }
private void AramaCumlesineGoreFiltrele(SoruSorgu sorguNesnesi) { string[] anahtarKelimeler = sorguNesnesi.AramaCumlesi.Split(' '); if (anahtarKelimeler.Length > 0) { foreach (var kelime in anahtarKelimeler) { store.Sorgu = store.Sorgu.Where(s => s.AnahtarKelimeler.Contains(kelime)); } } }
public async Task <SayfaliListe <Soru> > ListeGetirPersonelSorulariAsync(SoruSorgu sorguNesnesi, int?personelNo) { if (personelNo == null || personelNo <= 0) { throw new Exception("Hoca bilgisi yanlış"); } store.Sorgu = store.Sorgu.Where(soru => soru.PersonelNo == personelNo.Value && soru.Silindi == null); FiltreleriAyarla(sorguNesnesi); SayfaliListe <Soru> sonuc = await Listele(sorguNesnesi); return(sonuc); }
public async Task <SayfaliListe <Soru> > ListeGetirSorularAsync(SoruSorgu sorguNesnesi) { if (sorguNesnesi.DersNo == null && sorguNesnesi.KonuNo == null && sorguNesnesi.BirimNo == null && sorguNesnesi.ProgramNo == null && sorguNesnesi.DonemNo == null && sorguNesnesi.DersGrubuNo == null) { throw new Exception("Kriterler eksik"); } if (!propertyMappingService.ValidMappingsExistsFor <SoruListeDto, Soru>(sorguNesnesi.SiralamaCumlesi)) { throw new ArgumentException("Sıralama bilgisi yanlış!"); } if (!typeHelperService.TryHastProperties <SoruListeDto>(sorguNesnesi.Alanlar)) { throw new ArgumentException("Gösterilmek istenen alanlar hatalı!"); } FiltreleriAyarla(sorguNesnesi); store.Sorgu = store.Sorgu.Where(s => s.Silindi == null); SayfaliListe <Soru> sonuc = await Listele(sorguNesnesi); return(sonuc); }