protected void Veriler(int Baslangic, int Bitis, string s, string Kolon, string AscDesc, out IList Sonuc1, out IList Sonuc2)
        {
            #region Çalışan Hali
            using (BaglantiCumlesi db = new BaglantiCumlesi())
            {
                try
                {
                    #region Kolon Sorting Ayarı
                    string KolonAdi = null;
                    switch (Kolon)
                    {
                        #region Dil ID
                    case "dil_id":
                        Kolon    = "DilID";
                        KolonAdi = Kolon;
                        break;
                        #endregion
                    }
                    #endregion

                    #region İlk SQL - SONUÇ 1

                    #region İlk (Ham) SQL
                    var SQL0 = (Objeler.Listeler.Dil).AsEnumerable();

                    #region Dil ID Geldiyse
                    int DilID = int.Parse(ComboBoxDil.SelectedItem.Value);
                    if (DilID > -1)
                    {
                        SQL0 = SQL0.Where(p => p.DilID == DilID);
                    }
                    #endregion
                    var SQL1 = (from p in SQL0
                                select new
                    {
                        p.DilID,
                        p.SessionID,
                        p.Tarih,
                        p.IP
                    }).AsQueryable();
                    #endregion

                    #region SQL i Cache 'e Atma
                    //CachedQueryOptions CQO = new CachedQueryOptions();
                    var SQL2 = (CacheOlayi ? SQL1.AsQueryable().AsCached(SayfaAdi).AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList() : SQL1.AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList());
                    #endregion

                    #region Sonuç 1
                    Sonuc1 = SQL2;
                    #endregion

                    #endregion

                    #region İlk SQL in Ccount ı Sıfırdan Büyükse Filtreleme Yap
                    if (SQL2.Any())
                    {
                        #region Filtreleme
                        if (!string.IsNullOrEmpty(s))
                        {
                            FilterConditions FC = new FilterConditions(s);

                            foreach (FilterCondition FCO in FC.Conditions)
                            {
                                Comparison C  = FCO.Comparison;
                                FilterType FT = FCO.FilterType;

                                #region Kolon Adı Boşsa Değer Ver
                                if (string.IsNullOrEmpty(KolonAdi))
                                {
                                    KolonAdi = FCO.Name;
                                }
                                #endregion

                                #region Gelen Değerler
                                object value;
                                #endregion

                                switch (FCO.FilterType)
                                {
                                    #region Filtre Tipi Bool İse
                                case FilterType.Boolean:
                                    value = FCO.ValueAsBoolean;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Date İse
                                case FilterType.Date:
                                    value = FCO.ValueAsDate;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Liste İse
                                case FilterType.List:
                                    value = FCO.ValuesList;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Nümerik İse
                                case FilterType.Numeric:
                                    if (SQL2.Any() && (SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(int) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int16) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int32) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int64) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <int>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int16>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int32>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int64>)))
                                    {
                                        value = FCO.ValueAsInt;
                                    }
                                    else
                                    {
                                        value = FCO.ValueAsDouble;
                                    }
                                    break;
                                    #endregion

                                    #region Filtre Tipi String İse
                                case FilterType.String:
                                    value = FCO.Value;
                                    break;
                                    #endregion

                                    #region Switch Default
                                default:
                                    throw new ArgumentOutOfRangeException();
                                    #endregion
                                }

                                SQL2.RemoveAll(i =>
                                {
                                    object o       = i.GetType().GetProperty(KolonAdi).GetValue(i, null);
                                    IComparable IC = o as IComparable;

                                    switch (C)
                                    {
                                    case Comparison.Eq:

                                        switch (FT)
                                        {
                                            #region Filtre Tipi Liste İse
                                        case FilterType.List:
                                            return(!(value as ReadOnlyCollection <string>).Contains(o.ToString()));

                                            #endregion

                                            #region Filtre Tipi String İse
                                        case FilterType.String:
                                            return(!o.ToString().StartsWith(value.ToString()));

                                            #endregion

                                            #region Switch Default
                                        default:
                                            return(!IC.Equals(value));

                                            #endregion
                                        }

                                    case Comparison.Gt:
                                        return(IC.CompareTo(value) < 1);

                                    case Comparison.Lt:
                                        return(IC.CompareTo(value) > -1);

                                        #region Switch Default
                                    default:
                                        throw new ArgumentOutOfRangeException();
                                        #endregion
                                    }
                                });
                            }
                        }
                        #endregion
                    }
                    #endregion

                    #region SQL İçeriğini Değiştirme
                    var SQL3 = SQL2.Skip(Baslangic).Take(Bitis).Select(p => new
                    {
                        p.DilID,
                        p.SessionID,
                        dil = AdminClass.Dil(p.DilID),
                        p.IP,
                        p.Tarih
                    }).AsEnumerable().Cast <object>().ToList();
                    #endregion

                    #region Sonuç 2
                    Sonuc2 = SQL3;
                    #endregion
                }
                catch
                {
                    #region Boş Değer Döndür
                    Sonuc1 = null;
                    Sonuc2 = null;
                    #endregion
                }
            }

            #endregion
        }
예제 #2
0
        protected void Veriler(int Baslangic, int Bitis, string s, string Kolon, string AscDesc, out IList Sonuc1, out IList Sonuc2)
        {
            #region Çalışan Hali
            using (BaglantiCumlesi db = new BaglantiCumlesi())
            {
                try
                {
                    #region Kolon Sorting Ayarı
                    string KolonAdi = null;
                    switch (Kolon)
                    {
                        #region Admin
                    case "ekleyen":
                        Kolon    = "admin_id_ek";
                        KolonAdi = Kolon;
                        break;
                        #endregion

                        #region İşlem
                    case "guncelleyen":
                        Kolon    = "admin_id_gun";
                        KolonAdi = Kolon;
                        break;
                        #endregion
                    }
                    #endregion

                    #region İlk SQL - SONUÇ 1

                    #region İlk (Ham) SQL
                    var SQL1 = (from p in db.tbl_urunler_markalar
                                select new
                    {
                        p.id,
                        p.marka_id,
                        p.urun_id,
                        p.tarih_ek,
                        p.tarih_gun,
                        p.admin_id_ek,
                        p.admin_id_gun
                    });
                    #endregion

                    #region SQL i Cache 'e Atma
                    //CachedQueryOptions CQO = new CachedQueryOptions();
                    var SQL2 = (CacheOlayi ? SQL1.AsCached(SayfaAdi).AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList() : SQL1.AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList());
                    #endregion

                    #region Sonuç 1
                    Sonuc1 = SQL2;
                    #endregion

                    #endregion

                    #region İlk SQL in Ccount ı Sıfırdan Büyükse Filtreleme Yap
                    if (SQL2.Any())
                    {
                        #region Filtreleme
                        if (!string.IsNullOrEmpty(s))
                        {
                            FilterConditions FC = new FilterConditions(s);

                            foreach (FilterCondition FCO in FC.Conditions)
                            {
                                Comparison C  = FCO.Comparison;
                                FilterType FT = FCO.FilterType;

                                #region Kolon Adı Boşsa Değer Ver
                                if (string.IsNullOrEmpty(KolonAdi))
                                {
                                    KolonAdi = FCO.Name;
                                }
                                #endregion

                                #region Gelen Değerler
                                object value;
                                #endregion

                                switch (FCO.FilterType)
                                {
                                    #region Filtre Tipi Bool İse
                                case FilterType.Boolean:
                                    value = FCO.ValueAsBoolean;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Date İse
                                case FilterType.Date:
                                    value = FCO.ValueAsDate;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Liste İse
                                case FilterType.List:
                                    value = FCO.ValuesList;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Nümerik İse
                                case FilterType.Numeric:
                                    if (SQL2.Any() && (SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(int) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int16) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int32) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int64) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <int>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int16>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int32>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int64>)))
                                    {
                                        value = FCO.ValueAsInt;
                                    }
                                    else
                                    {
                                        value = FCO.ValueAsDouble;
                                    }
                                    break;
                                    #endregion

                                    #region Filtre Tipi String İse
                                case FilterType.String:
                                    value = FCO.Value;
                                    break;
                                    #endregion

                                    #region Switch Default
                                default:
                                    throw new ArgumentOutOfRangeException();
                                    #endregion
                                }

                                SQL2.RemoveAll(i =>
                                {
                                    object o       = i.GetType().GetProperty(KolonAdi).GetValue(i, null);
                                    IComparable IC = o as IComparable;

                                    switch (C)
                                    {
                                    case Comparison.Eq:

                                        switch (FT)
                                        {
                                            #region Filtre Tipi Liste İse
                                        case FilterType.List:
                                            return(!(value as ReadOnlyCollection <string>).Contains(o.ToString()));

                                            #endregion

                                            #region Filtre Tipi String İse
                                        case FilterType.String:
                                            return(!o.ToString().StartsWith(value.ToString()));

                                            #endregion

                                            #region Switch Default
                                        default:
                                            return(!IC.Equals(value));

                                            #endregion
                                        }

                                    case Comparison.Gt:
                                        return(IC.CompareTo(value) < 1);

                                    case Comparison.Lt:
                                        return(IC.CompareTo(value) > -1);

                                        #region Switch Default
                                    default:
                                        throw new ArgumentOutOfRangeException();
                                        #endregion
                                    }
                                });
                            }
                        }
                        #endregion
                    }
                    #endregion

                    #region SQL İçeriğini Değiştirme
                    var SQL3 = SQL2.Skip(Baslangic).Take(Bitis).Select(p => new
                    {
                        p.id,
                        p.marka_id,
                        p.urun_id,
                        p.tarih_ek,
                        p.tarih_gun,
                        p.admin_id_ek,
                        p.admin_id_gun,
                        marka_ziyaret = db.tbl_ziyaretler.Where(k => k.marka_id == p.marka_id).Count(),
                        urun_ziyaret  = db.tbl_ziyaretler.Where(k => k.urun_id == p.urun_id).Count(),
                        urun_dil      = db.tbl_urunler.Where(k => k.id == p.urun_id).AsEnumerable().Select(x => AdminClass.Dil(x.dil_id)).FirstOrDefault(),
                        marka         = db.tbl_markalar.Where(k => k.id == p.marka_id).Select(x => x.ad).FirstOrDefault(),
                        urun          = db.tbl_urunler.Where(k => k.id == p.urun_id).Select(x => (x.kod_id != null ? db.tbl_kodlar.Where(t => t.id == x.kod_id).Select(y => y.kod).FirstOrDefault() + " - " : "") + x.ad).FirstOrDefault(),
                        ekleyen       = AdminClass.Admin(p.admin_id_ek),
                        guncelleyen   = AdminClass.Admin(p.admin_id_gun)
                    }).AsEnumerable().Cast <object>().ToList();
                    #endregion

                    #region Sonuç 2
                    Sonuc2 = SQL3;
                    #endregion
                }
                catch
                {
                    #region Boş Değer Döndür
                    Sonuc1 = null;
                    Sonuc2 = null;
                    #endregion
                }
            }

            #endregion
        }
        protected void Veriler(int Baslangic, int Bitis, string s, string Kolon, string AscDesc, out IList Sonuc1, out IList Sonuc2)
        {
            #region Çalışan Hali
            using (BaglantiCumlesi db = new BaglantiCumlesi())
            {
                try
                {
                    #region Kolon Sorting Ayarı
                    string KolonAdi = null;
                    switch (Kolon)
                    {
                        #region Admin
                    case "ekleyen":
                        Kolon    = "admin_id_ek";
                        KolonAdi = Kolon;
                        break;
                        #endregion

                        #region İşlem
                    case "guncelleyen":
                        Kolon    = "admin_id_gun";
                        KolonAdi = Kolon;
                        break;
                        #endregion
                    }
                    #endregion

                    #region İlk SQL - SONUÇ 1

                    #region İlk (Ham) SQL
                    var SQL0 = (db.tbl_textler).AsEnumerable();

                    #region Dil ID Geldiyse
                    int DilID = int.Parse(ComboBoxDil.SelectedItem.Value);
                    if (DilID > -1)
                    {
                        SQL0 = SQL0.Where(p => p.dil_id == DilID);
                    }
                    #endregion
                    var SQL1 = (from p in SQL0
                                where p.dil_id == DilID
                                select new
                    {
                        p.id,
                        p.sabitler_id,
                        p.text,
                        p.tarih_ek,
                        p.tarih_gun,
                        p.admin_id_ek,
                        p.admin_id_gun,
                        p.dil_id,
                        p.onay
                    }).AsQueryable();

                    #region Eğer Kurulum SHOP Değilse SHOP 'a Ait Sabitleri Gösterme
                    if (!Class.Fonksiyonlar.Firma.Ayar().Select(p => p.type).FirstOrDefault())
                    {
                        List <int> VL = db.tbl_sbt_sabit.Where(p => p.shop == false).Select(p => p.id).ToList();

                        SQL1 = SQL1.Where(p => VL.Contains(p.sabitler_id));
                    }
                    #endregion

                    #endregion

                    #region SQL i Cache 'e Atma
                    //CachedQueryOptions CQO = new CachedQueryOptions();
                    var SQL2 = (CacheOlayi ? SQL1.AsCached(SayfaAdi).AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList() : SQL1.AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList());
                    #endregion

                    #region Sonuç 1
                    Sonuc1 = SQL2;
                    #endregion

                    #endregion

                    #region İlk SQL in Ccount ı Sıfırdan Büyükse Filtreleme Yap
                    if (SQL2.Any())
                    {
                        #region Filtreleme
                        if (!string.IsNullOrEmpty(s))
                        {
                            FilterConditions FC = new FilterConditions(s);

                            foreach (FilterCondition FCO in FC.Conditions)
                            {
                                Comparison C  = FCO.Comparison;
                                FilterType FT = FCO.FilterType;

                                #region Kolon Adı Boşsa Değer Ver
                                if (string.IsNullOrEmpty(KolonAdi))
                                {
                                    KolonAdi = FCO.Name;
                                }
                                #endregion

                                #region Gelen Değerler
                                object value;
                                #endregion

                                switch (FCO.FilterType)
                                {
                                    #region Filtre Tipi Bool İse
                                case FilterType.Boolean:
                                    value = FCO.ValueAsBoolean;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Date İse
                                case FilterType.Date:
                                    value = FCO.ValueAsDate;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Liste İse
                                case FilterType.List:
                                    value = FCO.ValuesList;
                                    break;
                                    #endregion

                                    #region Filtre Tipi Nümerik İse
                                case FilterType.Numeric:
                                    if (SQL2.Any() && (SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(int) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int16) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int32) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int64) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <int>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int16>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int32>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int64>)))
                                    {
                                        value = FCO.ValueAsInt;
                                    }
                                    else
                                    {
                                        value = FCO.ValueAsDouble;
                                    }
                                    break;
                                    #endregion

                                    #region Filtre Tipi String İse
                                case FilterType.String:
                                    value = FCO.Value;
                                    break;
                                    #endregion

                                    #region Switch Default
                                default:
                                    throw new ArgumentOutOfRangeException();
                                    #endregion
                                }

                                SQL2.RemoveAll(i =>
                                {
                                    object o       = i.GetType().GetProperty(KolonAdi).GetValue(i, null);
                                    IComparable IC = o as IComparable;

                                    switch (C)
                                    {
                                    case Comparison.Eq:

                                        switch (FT)
                                        {
                                            #region Filtre Tipi Liste İse
                                        case FilterType.List:
                                            return(!(value as ReadOnlyCollection <string>).Contains(o.ToString()));

                                            #endregion

                                            #region Filtre Tipi String İse
                                        case FilterType.String:
                                            return(!o.ToString().StartsWith(value.ToString()));

                                            #endregion

                                            #region Switch Default
                                        default:
                                            return(!IC.Equals(value));

                                            #endregion
                                        }

                                    case Comparison.Gt:
                                        return(IC.CompareTo(value) < 1);

                                    case Comparison.Lt:
                                        return(IC.CompareTo(value) > -1);

                                        #region Switch Default
                                    default:
                                        throw new ArgumentOutOfRangeException();
                                        #endregion
                                    }
                                });
                            }
                        }
                        #endregion
                    }
                    #endregion

                    #region SQL İçeriğini Değiştirme
                    var SQL3 = SQL2.Skip(Baslangic).Take(Bitis).Select(p => new
                    {
                        p.id,
                        p.sabitler_id,
                        p.text,
                        p.tarih_ek,
                        p.tarih_gun,
                        p.admin_id_ek,
                        p.admin_id_gun,
                        p.dil_id,
                        sabit       = db.tbl_sbt_sabit.Where(k => k.id == p.sabitler_id).Select(x => x.aciklama).FirstOrDefault(),
                        ekleyen     = AdminClass.Admin(p.admin_id_ek),
                        guncelleyen = AdminClass.Admin(p.admin_id_gun),
                        dil         = AdminClass.Dil(p.dil_id),
                        onay        = AdminClass.EvetHayir(p.onay)
                    }).AsEnumerable().Cast <object>().ToList();
                    #endregion

                    #region Sonuç 2
                    Sonuc2 = SQL3;
                    #endregion
                }
                catch
                {
                    #region Boş Değer Döndür
                    Sonuc1 = null;
                    Sonuc2 = null;
                    #endregion
                }
            }

            #endregion
        }