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); } }
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); }