public void RunCommand(CommandHandler sender, List<string> args) { DealsFilters filters = new DealsFilters(); string steamid = Settings.Instance.HomeSteamID64; foreach (string s in args) { if (!s.StartsWith("/")) { steamid = s; continue; } filters.HandleArg(s); } List<ItemSale> sales = DealFinder.FindDeals(steamid, filters); if (sales == null) { // already logged return; } sales.Sort((a, b) => a.Profit.TotalRefined.CompareTo(b.Profit.TotalRefined)); VersatileIO.WriteLine(); VersatileIO.Info("{0} deals found:", sales.Count); foreach (ItemSale s in sales) { VersatileIO.WriteComplex(" " + s.ToComplexString()); } }
public void RunCommand(CommandHandler sender, List<string> args) { if (args.Count < 2) { VersatileIO.Error("Syntax: " + Syntax); return; } Price min, max; if (!Price.TryParse(args[0], out min)) { VersatileIO.Error("Invalid price: " + args[0]); return; } if (!Price.TryParse(args[1], out max)) { VersatileIO.Error("Invalid price: " + args[1]); } PriceRange range = new PriceRange(min, max); DealsFilters filters = new DealsFilters(); for (int i = 2; i < args.Count; i++) { filters.HandleArg(args[i]); } VersatileIO.Debug("Searching pricings..."); List<ItemPricing> res = GetInRange(range, filters); foreach (ItemPricing p in res) { VersatileIO.WriteComplex(" " + p.Quality.GetColorCode() + p.ToUnpricedString() + "&7 for " + p.GetPriceString()); } VersatileIO.Info("{0} pricings matching filters [{1}].", res.Count, filters.ToString()); }