Exemple #1
0
        public Commodity Find(string symbol)
        {
            Logger.Debug("pool.commodities", () => String.Format("Find commodity {0}", symbol));

            Commodity commodity;

            Commodities.TryGetValue(symbol, out commodity);
            return(commodity);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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;
            }
        }