private void Add(Protocal.Commands.Transaction tran, Guid accountId) { if (!_tran2account.ContainsKey(tran.Id)) { Logger.InfoFormat("add tranId = {0}, accountId ={1}", tran.Id, accountId); _tran2account.Add(tran.Id, accountId); AddDeal(accountId, tran.Id); foreach (var eachOrder in tran.Orders) { _order2AccountMapping.Add(eachOrder.Id, accountId); AddDeal(accountId, eachOrder.Id); } } }
private void TryAddOrUpdate(Protocal.Commands.Transaction tran, Guid accountId) { Guid oldAccountId; if (!_tran2account.TryGetValue(tran.Id, out oldAccountId)) { _tran2account.TryAdd(tran.Id, accountId); foreach (var eachOrder in tran.Orders) { _order2AccountMapping.TryAdd(eachOrder.Id, accountId); } } else { _tran2account.TryUpdate(tran.Id, accountId, oldAccountId); foreach (var eachOrder in tran.Orders) { _order2AccountMapping.TryUpdate(eachOrder.Id, accountId, oldAccountId); } } }
protected override Protocal.Commands.Order CreateOrder(Protocal.Commands.Transaction tran) { return(new Order((Transaction)tran)); }