Пример #1
0
        public List <Jewel> GetJewelsByDynamicSQL(DynamicSQLWhereObject dynamicSQL)
        {
            var list = new List <Jewel>();

            var items = dbmock.Where(dynamicSQL.Pattern, dynamicSQL.Valuelist.ToArray());

            if (HasFilter)
            {
                items = items.Where(filter.Pattern, filter.Valuelist.ToArray());
            }

            items = items.Where(ParseMetalFilter(requestedJewelMediaTypeByUser));

            //must call orderby before skip
            items = items.OrderBy(ParseOrderBy());


            totalItems = items.ToList().Count;

            items = items.Skip(itemsPerPage * (page - 1)).Take(itemsPerPage);


            foreach (var jewel in items)
            {
                list.Add(JewelClassFactory(jewel));
            }


            return(list);
        }
Пример #2
0
 public void FilterJewelryBy(DynamicSQLWhereObject dynamicFilter)
 {
     if (dynamicFilter != null && dynamicFilter.Pattern != "AnyMatch")
     {
         HasFilter = true;
         filter    = dynamicFilter;
     }
 }
 public DynamicSQLWhereObject DynamicSQLByFilterValue(int filterValue)
 {
     if (filterValue == 0)
     {
         var dynamic = new DynamicSQLWhereObject();
         dynamic.DoNothing();
         return(dynamic);
     }
     return(new DynamicSQLWhereObject("JEWELSUBTYPE_ID = @0", filterValue));
 }
Пример #4
0
        private static DynamicSQLWhereObject DynamicSQLWhereObject()
        {
            const string pattern = "jeweltype_id = @0 and category_id = @1";
            var          values  = new List <object>()
            {
                2, 7
            };
            var dynamicSQL = new DynamicSQLWhereObject(pattern, values);

            return(dynamicSQL);
        }
Пример #5
0
        public virtual List <Jewel> GetJewelsByDynamicSQL(DynamicSQLWhereObject dynamicSQL)
        {
            var jewelrylist = new List <Jewel>();



            using (var db = new JONEntities())
            {
                var items = db.v_jewel_items.Where(dynamicSQL.Pattern, dynamicSQL.Valuelist.ToArray());


                if (HasFilter)
                {
                    items = items.Where(filter.Pattern, filter.Valuelist.ToArray());
                }

                items = items.Where(ParseMetalFilter(requestedJewelMediaTypeByUser));

                foreach (var customfilter in customFilters)
                {
                    if (!customfilter.IsDoingNothing)
                    {
                        items = items.Where(customfilter.Pattern, customfilter.Valuelist.ToArray());
                    }
                }
                items = items.OrderBy(orderBy.SQLString);

                totalItems = items.Count();

                items = items.Skip(itemsPerPage * (page - 1)).Take(itemsPerPage);



                foreach (var item in items)
                {
                    var jewel = JewelClassFactory(item);

                    jewelrylist.Add(jewel);
                }

                currentPage = page;
            }

            return(jewelrylist);
        }
        public DynamicSQLWhereObject ReadDynamicSQLByValue(int filterValue)
        {
            var type     = typeof(T);
            var enumName = Enum.GetName(type, filterValue);

            var memInfo     = type.GetMember(enumName);
            var filterAttrs = memInfo[0].GetCustomAttributes(typeof(FilterFieldAndValue), false);

            if (filterAttrs.Length > 0)
            {
                var filterAttr = (FilterFieldAndValue)filterAttrs[0];

                return(new DynamicSQLWhereObject(filterAttr.Field + " = @0", filterAttr.Value));
            }

            var dynamic = new DynamicSQLWhereObject();

            dynamic.DoNothing();
            return(dynamic);
        }
Пример #7
0
 public void AddFilter(DynamicSQLWhereObject filter)
 {
     throw new NotImplementedException();
 }
Пример #8
0
 public void AddFilter(DynamicSQLWhereObject filter)
 {
     customFilters.Add(filter);
 }
Пример #9
0
 public JewelryDynamicFilter(DynamicSQLWhereObject dynamicFilterSQL)
 {
 }
Пример #10
0
 public InMemoryFilterItem(int id, string displayname, string pattern, List <object> valueslist)
 {
     FilterItemID      = id;
     FilterDisplayName = displayname;
     DynamicSQL        = new DynamicSQLWhereObject(pattern, valueslist);
 }