コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 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));
         }
     }
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }