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); }
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)); }
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); }
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); }
public void AddFilter(DynamicSQLWhereObject filter) { throw new NotImplementedException(); }
public void AddFilter(DynamicSQLWhereObject filter) { customFilters.Add(filter); }
public JewelryDynamicFilter(DynamicSQLWhereObject dynamicFilterSQL) { }
public InMemoryFilterItem(int id, string displayname, string pattern, List <object> valueslist) { FilterItemID = id; FilterDisplayName = displayname; DynamicSQL = new DynamicSQLWhereObject(pattern, valueslist); }