protected void Listele() { using (BaglantiCumlesi SME = new BaglantiCumlesi()) { #region SQL String string marka = Class.Fonksiyonlar.Firma.Marka().ToLower(); var SQL = (from p in SME.tbl_urunler where p.dil_id == DilID && p.onay == true let LKod = SME.tbl_kodlar.Where(k => k.id == p.kod_id).Select(x => x.kod).FirstOrDefault() select new { ad = p.ad, p.aciklama, p.id, p.on_aciklama, p.resim_id, kod = (LKod != null ? LKod : null), marka = (LKod != null ? LKod : marka) }); #endregion #region Kategori Olayı if (KategoriID != 0) { #region Gelen Kategori "Tüm Kategoriler" değilse if (KategoriID != -1) { List <int> E; var SQL2 = (from p in SME.tbl_urunler_kategoriler where p.kategori_id == KategoriID select new { p.urun_id }); E = new List <int>(SQL2.ToList().ConvertAll(d => d.urun_id).ToList()); SQL = SQL.Where(s => E.Contains(s.id)); #region Ziyaret Ekle Class.Fonksiyonlar.Uygulama.ZiyaretEkle((int)Class.Sabitler.Ziyaret.KATEGORI, KategoriID); #endregion } #endregion } #endregion #region Etiket Olayı if (Etiket != null) { List <int?> E = new List <int?>(); var SQL2 = (from p in SME.tbl_etiketler where p.ad.StartsWith(Etiket.Substring(0, 1)) && p.ad.Contains(Etiket.Substring(Etiket.Length - 1, 1)) && p.dil_id == DilID && p.onay == true select new { p.id }); foreach (var i in SQL2) { E.Add(i.id); } List <int> U; var SQL3 = (from p in SME.tbl_urunler_etiketler where E.Contains(p.etiket_id) select new { uid = p.urun_id }); U = new List <int>(SQL3.ToList().ConvertAll(d => d.uid).ToList()); SQL = SQL.Where(s => U.Contains(s.id)); #region Ziyaret Ekle Class.Fonksiyonlar.Uygulama.ZiyaretEkle((int)Class.Sabitler.Ziyaret.ETIKET, SQL2.Select(x => x.id).FirstOrDefault()); #endregion } #endregion #region Marka Olayı if (Marka != null) { #region Gelen Marka "TÜM MARKALAR" değilse if (Marka != Class.Fonksiyonlar.Genel.KarakterTemizle(Class.Fonksiyonlar.Uygulama.SabitlerText(Class.Fonksiyonlar.Dil.ID(), 40), false)) { List <int?> M = new List <int?>(); var SQL4 = (from p in SME.tbl_markalar where p.ad.StartsWith(Marka.Substring(0, 1)) && p.ad.Contains(Marka.Substring(Marka.Length - 1, 1)) && p.onay == true select new { p.id }); foreach (var i in SQL4) { M.Add(i.id); } List <int> U2; var SQL5 = (from p in SME.tbl_urunler_markalar where M.Contains(p.marka_id) select new { uid = p.urun_id }); U2 = new List <int>(SQL5.ToList().ConvertAll(d => d.uid).ToList()); SQL = SQL.Where(s => U2.Contains(s.id)); #region Ziyaret Ekle Class.Fonksiyonlar.Uygulama.ZiyaretEkle((int)Class.Sabitler.Ziyaret.MARKA, SQL4.Select(x => x.id).FirstOrDefault()); #endregion } #endregion } #endregion #region Ürün Sayfa Sayısından Küçükse if (SQL.AsEnumerable().Count() < sayfalamasp.PageSize) { sayfalama.Visible = false; } #endregion #region Siralama İşlemleri if (SiralamaIsleri.Direktif != null) { if (SiralamaIsleri.Direktif == "D") { if (SiralamaIsleri.Kolon != null) { if (SiralamaIsleri.Kolon == "a") { SQL = SQL.OrderBy(n => n.ad).OrderByDescending(n => n.ad); } else if (SiralamaIsleri.Kolon == "k") { SQL = SQL.OrderBy(n => n.kod).OrderByDescending(n => n.kod); } } } else if (SiralamaIsleri.Direktif == "A") { if (SiralamaIsleri.Kolon != null) { if (SiralamaIsleri.Kolon == "a") { SQL = SQL.OrderBy(n => n.ad); } else if (SiralamaIsleri.Kolon == "k") { SQL = SQL.OrderBy(n => n.kod); } } } } #endregion #region Ürün Kodlarını Listeye At UrunKodlari = SQL.Where(x => x.kod != null).Select(x => x.kod).ToList(); #endregion #region Ürün Adlarını Listeye At UrunAdlari = SQL.AsEnumerable().Select(x => x.ad).ToList(); #endregion #region DataBind listeleme.DataSource = SQL; listeleme.DataBind(); #endregion } }