public IEnumerable <SaveAuction> Filter(IEnumerable <SaveAuction> items, Dictionary <string, string> filters) { var args = new FilterArgs(filters); foreach (var filter in filters) { if (!Filters.TryGetValue(filter.Key, out IFilter filterObject)) { throw new CoflnetException("filter_unknown", $"The filter {filter.Key} is not know, please remove it"); } items = filterObject.Filter(items, args); } return(items); }
public IQueryable <SaveAuction> AddFilters(IQueryable <SaveAuction> query, Dictionary <string, string> filters) { var args = new FilterArgs(filters); foreach (var filter in filters) { if (!Filters.TryGetValue(filter.Key, out IFilter filterObject)) { throw new CoflnetException("filter_unknown", $"The filter {filter.Key} is not know, please remove it"); } query = filterObject.AddQuery(query, args); } return(query); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var rarity = Enum.Parse <Tier>(args.Get(this)); return(query.Where(a => a.Tier == rarity)); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var timestamp = args.GetAsTimeStamp(this); return(query.Where(a => a.End > timestamp)); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var key = NBT.GetLookupKey("uid"); var val = NBT.UidToLong(args.Get(this)); Console.WriteLine("uuid as int " + val); return(query.Where(a => a.NBTLookup.Where(l => l.KeyId == key && l.Value == val).Any())); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var item = ItemDetails.Instance.GetItemIdForName(args.Get(this)); var key = NBT.GetLookupKey("heldItem"); Console.WriteLine(item); Console.WriteLine(key); return(query.Include(a => a.NBTLookup).Where(a => a.NBTLookup.Where(l => l.KeyId == key && l.Value == item).Any())); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { if (!args.Filters.ContainsKey("Enchantment")) { throw new CoflnetException("invalid_filter", "You need to select an enchantment and a lvl to filter for"); } var enchant = Enum.Parse <Enchantment.EnchantmentType>(args.Filters["Enchantment"]); var lvl = (short)args.GetAsLong(this); var itemid = int.Parse(args.Filters["ItemId"]); Console.WriteLine(itemid); return(query.Where(a => a.Enchantments.Where(e => itemid == e.ItemType && e.Type == enchant && e.Level == lvl).Any())); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { return(query); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var level = args.GetAsLong(this); return(query.Where(a => EF.Functions.Like(a.ItemName, $"[Lvl {level}]%"))); }
public IEnumerable <SaveAuction> Filter(IEnumerable <SaveAuction> items, FilterArgs args) { return(items); }
abstract public IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args);
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { return(query.Where(a => a.Bin)); }
public override IQueryable <SaveAuction> AddQuery(IQueryable <SaveAuction> query, FilterArgs args) { var rarity = Enum.Parse <ItemReferences.Reforge>(args.Get(this)); return(query.Where(a => a.Reforge == rarity)); }