internal void InitializeTransaction(IDataReader dr, Dictionary <Guid, Transaction> trans) { try { Guid accountId = (Guid)dr["AccountID"]; Account account = _tradingSetting.GetAccount(accountId); if (account == null) { Logger.WarnFormat("account = {0} not exist but exist transaction", accountId); return; } var orderType = (OrderType)(int)dr["OrderTypeID"]; var instrumentCategory = (InstrumentCategory)dr["InstrumentCategory"]; TransactionPhase phase = (TransactionPhase)(byte)dr["Phase"]; if (phase == TransactionPhase.Canceled) { return; } var factory = TransactionFacade.CreateAddTranCommandFactory(orderType, instrumentCategory); var command = factory.Create(account, new DBReader(dr), OperationType.None); command.Execute(); var tran = command.Result; trans.Add(tran.Id, tran); } catch (Exception ex) { Logger.Error(ex); } }
public Selling(int id, Guid sellerId, decimal price, TransactionPhase phase) : this() { SellingId = id; OwnerId = sellerId; Price = price; TransactionPhase = phase; }
internal Dictionary <Guid, Transaction> Parse(DataSet ds, out Dictionary <Guid, Order> orderDict) { var trans = new Dictionary <Guid, Transaction>(CAPACITY); SettingInitializer.InitializeWithException(ds, "Transaction", dr => { Guid accountId = (Guid)dr["AccountID"]; Account account = _tradingSetting.GetAccount(accountId); if (account == null) { Logger.WarnFormat("account = {0} not exist but exist transaction", accountId); return; } var orderType = (OrderType)(int)dr["OrderTypeID"]; var instrumentCategory = (InstrumentCategory)dr["InstrumentCategory"]; TransactionPhase phase = (TransactionPhase)(byte)dr["Phase"]; if (phase == TransactionPhase.Canceled) { return; } var factory = TransactionFacade.CreateAddTranCommandFactory(orderType, instrumentCategory); var command = factory.Create(account, new DBRow(dr), OperationType.AsNewRecord); command.Execute(); var tran = command.Result; trans.Add(tran.Id, tran); }); var orders = this.ParseOrders(ds, trans); orderDict = orders; SettingInitializer.InitializeWithException(ds, "OrderRelation", dr => { var closeOrderId = (Guid)dr["CloseOrderID"]; if (!orders.ContainsKey(closeOrderId)) { return; } Order closeOrder = orders[closeOrderId]; if (closeOrder != null) { var factory = OrderRelationFacade.Default.GetAddOrderRelationFactory(closeOrder); var command = factory.Create(closeOrder, new DBRow(dr)); command.Execute(); } }); return(trans); }
public static string GetStatusColor(TransactionPhase status) { switch (status) { case TransactionPhase.Accept: return "steelblue"; case TransactionPhase.Conflict: return "red"; case TransactionPhase.Start: return "deepskyblue"; case TransactionPhase.Submit: return "green"; case TransactionPhase.Finish: return "purple"; } return "white"; }