private void HandleTradeRecord(ClientTrade trade, Dictionary <string, TemporaryAggregatedData> tempDataByLimitOrderAndDtId) { var key = TemporaryAggregatedData.CreateKey(trade.LimitOrderId, trade.DateTime); if (!tempDataByLimitOrderAndDtId.ContainsKey(key)) { tempDataByLimitOrderAndDtId.Add(key, new TemporaryAggregatedData { Asset1 = trade.AssetId, ClientId = trade.ClientId, LimitOrderAndDateTimeKey = key, Volume1 = Math.Abs(trade.Amount), Price = trade.Price, Dt = trade.DateTime }); return; } var tempRecord = tempDataByLimitOrderAndDtId[key]; if (tempRecord.ClientId == trade.ClientId) { tempRecord.Asset2 = trade.AssetId; tempRecord.Volume2 = Math.Abs(trade.Amount); } }
private TradeOffer AddTradeOffer(Ship creator) { ClientTrade TradeStub = new ClientTrade(); TradeStub.Offered.Add(new GoodsTransfer(1, 5)); //building material TradeStub.Offered.Add(new GoodsTransfer(2, 10)); //food TradeStub.Requested.Add(new GoodsTransfer(10, 12)); //metal TradeStub.SenderId = creator.id; TradeStub.SenderType = 0; return(TradeWorker.createTrade(TradeStub, creator.userid)); }