Ejemplo n.º 1
0
        public async Task <SayfaliListe <Mesaj> > ListeleMesajYiginiAsync(MesajSorgu sorguNesnesi)
        {
            Sorgu = Sorgu.Where(m => (m.GonderenNo == sorguNesnesi.KullaniciNo && m.GonderenSildi == false && m.AlanNo == sorguNesnesi.DigerKullaniciNo) || (m.GonderenNo == sorguNesnesi.DigerKullaniciNo && m.AlanSildi == false && m.AlanNo == sorguNesnesi.KullaniciNo))
                    .OrderByDescending(mesaj => mesaj.GonderilmeZamani);
            var sonuc = await SayfaliListe <Mesaj> .SayfaListesiYarat(Sorgu, sorguNesnesi.Sayfa, sorguNesnesi.SayfaBuyuklugu);

            return(sonuc);
        }
Ejemplo n.º 2
0
        public async Task <SayfaliListe <Mesaj> > ListeleKullaniciyaGelenMesajlarAsync(MesajSorgu sorguNesnesi)
        {
            if (sorguNesnesi.KullaniciNo == null)
            {
                throw new ArgumentException("Sisteme giriş yapmış kullanıcı bilgisi yok");
            }

            if (!propertyMappingService.ValidMappingsExistsFor <MesajListeDto, Mesaj>(sorguNesnesi.SiralamaCumlesi))
            {
                throw new ArgumentException("Sıralama bilgisi yanlış!");
            }

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


            if (!string.IsNullOrEmpty(sorguNesnesi.AramaCumlesi))
            {
                var anahtarKelimeler = sorguNesnesi.AramaCumlesi.Split(' ');
                if (anahtarKelimeler.Length > 0)
                {
                    //Anahtar kelimeler ile ne aranmak isteniyorsa buraya yaz
                }
            }

            if (sorguNesnesi.GelenMesajlar == true)
            {
                Sorgu = Sorgu.Where(m => m.AlanNo == sorguNesnesi.KullaniciNo.Value);
            }
            else if (sorguNesnesi.GidenMesajlar == true)
            {
                Sorgu = Sorgu.Where(m => m.GonderenNo == sorguNesnesi.KullaniciNo.Value);
            }

            if (sorguNesnesi.OkunmamisMesajlar == true)
            {
                Sorgu = Sorgu.Where(m => m.Okundu == false);
            }

            Sorgu = Sorgu.Where(m => (m.GonderenNo == sorguNesnesi.KullaniciNo && m.GonderenSildi == false) || (m.AlanNo == sorguNesnesi.KullaniciNo && m.AlanSildi == false));
            var siralamaBilgisi = propertyMappingService.GetPropertyMapping <MesajListeDto, Mesaj>();

            var siralanmisSorgu = Sorgu.SiralamayiAyarla(sorguNesnesi.SiralamaCumlesi, siralamaBilgisi);
            var sonuc           = await SayfaliListe <Mesaj> .SayfaListesiYarat(siralanmisSorgu, sorguNesnesi.Sayfa, sorguNesnesi.SayfaBuyuklugu);

            return(sonuc);
        }