Ejemplo n.º 1
0
        internal static Transaction CreateTransaction(this Account account, Protocal.TransactionData tranData)
        {
            var factory = tranData.GetAddTranCommandFactory();
            var command = factory.Create(account, tranData);

            command.Execute();
            return(command.Result);
        }
Ejemplo n.º 2
0
 public iExchange.Common.TransactionError Place(Protocal.TransactionData tranData, out string tranCode)
 {
     tranCode = string.Empty;
     try
     {
         return(this.Service.Place(tranData, out tranCode));
     }
     catch (Exception ex)
     {
         this.RecoverConnection(ex);
         return(TransactionError.RuntimeError);
     }
 }
Ejemplo n.º 3
0
 private bool IsChangeToIfDone(Protocal.TransactionData tranData)
 {
     if (tranData.SubType != TransactionSubType.Amend)
     {
         return(false);
     }
     foreach (var eachOrderData in tranData.Orders)
     {
         if (eachOrderData.IfDoneOrderSetting != null)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 4
0
        public List <Transaction> FillDoneTrans(Transaction tran, Protocal.TransactionData tranData)
        {
            List <Transaction> result = new List <Transaction>();

            foreach (var eachOrderData in tranData.Orders)
            {
                if (eachOrderData.IfDoneOrderSetting == null)
                {
                    continue;
                }
                Transaction doneTran = this.FillIndividualDoneTran(tran, eachOrderData.IfDoneOrderSetting.LimitPrice, eachOrderData.IfDoneOrderSetting.StopPrice, eachOrderData.Id);
                if (doneTran != null)
                {
                    result.Add(doneTran);
                }
            }

            if (result.Count > MAX_DONE_TRANSACTION_PER_IF_TRANSACTION)
            {
                throw new ArgumentOutOfRangeException(string.Format("Done Transaction Count {0}, if transaction Id= {1}", result.Count, tran.Id));
            }
            return(result);
        }
Ejemplo n.º 5
0
 internal AddCommunicationBOTransactionCommand(Account account, Protocal.TransactionData tranData)
     : base(account, AddBOTransactionCommandService.Default, tranData)
 {
 }
Ejemplo n.º 6
0
 protected AddCommunicationTransactionCommandBase(Account account, IAddTranCommandService addTranCommandService, Protocal.TransactionData tranData)
     : base(account, Visitors.AddCommunicationTransactionCommandVisitor.Default, addTranCommandService)
 {
     this.TranData = tranData;
 }
Ejemplo n.º 7
0
 public override AddTransactionCommandBase Create(Account account, Protocal.TransactionData tranData)
 {
     return(new AddGeneralTransactionCommand(account, tranData));
 }
 internal AddGeneralTransactionCommand(Account account, Protocal.TransactionData tran)
     : base(account, tran, AddCommunicationTransactionCommandVisitor.Default)
 {
 }
Ejemplo n.º 9
0
 public iExchange.Common.TransactionError Place(Protocal.TransactionData tranData)
 {
     return(this.Call <TransactionError>(() => this.Service.Place(tranData)));
 }
Ejemplo n.º 10
0
 public Common.TransactionError Assign(Protocal.TransactionData tranData)
 {
     return(this.Call <TransactionError>(() => this.Service.Assign(tranData)));
 }
 public override AddTransactionCommandBase Create(Account account, Protocal.TransactionData tranData)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 12
0
 internal override Commands.AddTranCommandBase Create(Account account, Protocal.TransactionData tranData)
 {
     return(new Commands.AddCommunicationTransactionCommand(account, tranData));
 }
Ejemplo n.º 13
0
 internal abstract Commands.AddTranCommandBase Create(Account account, Protocal.TransactionData tranData);