Beispiel #1
0
        private IQueryable <ArkadaslikTeklif> AramaCumlesiniAyarla(ArkadaslikSorgusu sorguNesnesi)
        {
            var aramalar = sorguNesnesi.AramaCumlesi.Split(' ');

            switch (aramalar.Length)
            {
            case 1:
                var tekKelime = aramalar[0].Trim().ToLower();
                return(sorgu.Where(s =>
                                   (s.TeklifEdenNo != sorguNesnesi.KullaniciNo && (s.TeklifEden.Kisi.Ad.ToLower().Contains(tekKelime) || s.TeklifEden.Kisi.Soyad.ToLower().Contains(tekKelime))) ||
                                   (s.TeklifEdilenNo != sorguNesnesi.KullaniciNo && (s.TeklifEdilen.Kisi.Ad.ToLower().Contains(tekKelime) || s.TeklifEdilen.Kisi.Soyad.ToLower().Contains(tekKelime)))
                                   ));

            case 2:
                var ad    = aramalar[0].Trim().ToLower();
                var soyad = aramalar[1].Trim().ToLower();
                return(sorgu.Where(s =>
                                   (s.TeklifEdenNo != sorguNesnesi.KullaniciNo && (s.TeklifEden.Kisi.Ad.ToLower().Contains(ad) && s.TeklifEden.Kisi.Soyad.ToLower().Contains(soyad))) ||
                                   (s.TeklifEdilenNo != sorguNesnesi.KullaniciNo && (s.TeklifEdilen.Kisi.Ad.ToLower().Contains(ad) && s.TeklifEdilen.Kisi.Soyad.ToLower().Contains(soyad)))
                                   ));

            default:
                return(sorgu);
            }
        }
Beispiel #2
0
        public async Task <SayfaliListe <ArkadaslikTeklif> > ListeGetirTekliflerAsync(ArkadaslikSorgusu sorguNesnesi)
        {
            if (!propertyMappingService.ValidMappingsExistsFor <ArkadaslarimListeDto, ArkadaslikTeklif>(sorguNesnesi.SiralamaCumlesi))
            {
                throw new ArgumentException("Sıralama bilgisi yanlış!");
            }

            if (!typeHelperService.TryHastProperties <ArkadaslarimListeDto>(sorguNesnesi.Alanlar))
            {
                throw new ArgumentException("Gösterilmek istenen alanlar hatalı!");
            }


            var siralamaBilgisi = propertyMappingService.GetPropertyMapping <ArkadaslarimListeDto, ArkadaslikTeklif>();

            sorgu = sorgu.SiralamayiAyarla(sorguNesnesi.SiralamaCumlesi, siralamaBilgisi);

            sorgu = sorgu.Where(teklif => teklif.TeklifEdenNo == sorguNesnesi.KullaniciNo || teklif.TeklifEdilenNo == sorguNesnesi.KullaniciNo);

            if (sorguNesnesi.KabulEdilenler == true)
            {
                sorgu = sorgu.Where(teklif => teklif.Karar == true);
            }
            if (sorguNesnesi.TeklifEdenler == true)
            {
                sorgu = sorgu.Where(teklif => teklif.TeklifEdilenNo == sorguNesnesi.KullaniciNo);
            }
            if (sorguNesnesi.TeklifEdilenler == true)
            {
                sorgu = sorgu.Where(teklif => teklif.TeklifEdenNo == sorguNesnesi.KullaniciNo);
            }
            if (sorguNesnesi.CevapBeklenenler == true)
            {
                sorgu = sorgu.Where(teklif => teklif.Karar == null);
            }
            if (sorguNesnesi.Silinenler == true)
            {
                sorgu = sorgu.Where(teklif => teklif.IptalEdildi == true);
            }
            if (sorguNesnesi.Cevaplananlar == true)
            {
                sorgu = sorgu.Where(teklif => teklif.Karar != null);
            }
            if (!string.IsNullOrWhiteSpace(sorguNesnesi.AramaCumlesi))
            {
                sorgu = AramaCumlesiniAyarla(sorguNesnesi);
            }


            //sorgu = sorgu.Where(ark => ark.IptalEdildi == null || ark.IptalEdildi.Value != true);

            var sonuc = await SayfaliListe <ArkadaslikTeklif> .SayfaListesiYarat(sorgu, sorguNesnesi.Sayfa, sorguNesnesi.SayfaBuyuklugu);

            return(sonuc);
        }