Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
 public Selling(int id, Guid sellerId, decimal price, TransactionPhase phase)
     : this()
 {
     SellingId = id;
       OwnerId = sellerId;
       Price = price;
       TransactionPhase = phase;
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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";
        }