public Commodity Find(string symbol) { Logger.Debug("pool.commodities", () => String.Format("Find commodity {0}", symbol)); Commodity commodity; Commodities.TryGetValue(symbol, out commodity); return(commodity); }
public Commodity Alias(string name, Commodity referent) { Commodity commodity; if (!Commodities.TryGetValue(referent.BaseSymbol, out commodity)) { throw new InvalidOperationException("assert(i != commodities.end());"); } Commodities.Add(name, commodity); return(commodity); }
public override void Handle(Post post) { Amount temp = post.Amount.StripAnnotations(Report.WhatToKeep()); Commodity comm = temp.Commodity; int count; if (!Commodities.TryGetValue(comm, out count)) { count = 0; } Commodities[comm] = count + 1; if (comm.IsAnnotated) { AnnotatedCommodity annComm = (AnnotatedCommodity)comm; if (annComm.Details.Price != null) { if (!Commodities.TryGetValue(annComm.Details.Price.Commodity, out count)) { count = 0; } Commodities[annComm.Details.Price.Commodity] = count + 1; } } if (post.Cost != null) { Amount tempCost = post.Cost.StripAnnotations(Report.WhatToKeep()); if (!Commodities.TryGetValue(tempCost.Commodity, out count)) { count = 0; } Commodities[tempCost.Commodity] = count + 1; } }