private StockGroup GetAutoGeneratedStockGroup(StockType t) { string n = DataTableUtilities.GetAutoGeneratedGroupName(t.Name); foreach (StockGroup g in this.m_StockGroups) { if (g.Name == n) { return(g); } } throw new ArgumentException("Auto-generated group not found for stock type: " + t.Name); }
private void RecordSummaryStockOutputData() { foreach (Cell c in this.STSimTransformer.Cells) { Dictionary <int, double> StockAmounts = GetStockAmountDictionary(c); foreach (int StockTypeId in StockAmounts.Keys) { StockType t = this.m_StockTypes[StockTypeId]; double amount = StockAmounts[StockTypeId]; foreach (StockGroupLinkage l in t.StockGroupLinkages) { if (!l.StockGroup.OutputFilter.HasFlag(Constants.OutputFilter.Tabular)) { continue; } FiveIntegerLookupKey k = new FiveIntegerLookupKey( c.StratumId, GetSecondaryStratumIdKey(c), GetTertiaryStratumIdKey(c), c.StateClassId, l.StockGroup.Id); if (this.m_SummaryOutputStockRecords.Contains(k)) { OutputStock r = this.m_SummaryOutputStockRecords[k]; r.Amount += (amount * l.Value); } else { OutputStock r = new OutputStock( c.StratumId, GetSecondaryStratumIdValue(c), GetTertiaryStratumIdValue(c), c.StateClassId, l.StockGroup.Id, amount * l.Value); this.m_SummaryOutputStockRecords.Add(r); } } } } }