Example #1
0
        private void ParseCommon(Commands.AddCommunicationTransactionCommandBase command)
        {
            TransactionConstructParams constructParams = command.ConstructParams;

            constructParams.OperationType = Framework.OperationType.AsNewRecord;
            var transactionData = command.TranData;

            Logger.InfoFormat("parse place data , tranId = {0}, subType = {1}", transactionData.Id, transactionData.SubType);
            constructParams.Fill(transactionData);
            constructParams.Code  = command.GenerateTransactionCode(constructParams.OrderType);
            constructParams.Phase = TransactionPhase.Placing;
        }
Example #2
0
        private void ParseTransaction(Commands.AddCommunicationTransactionCommandBase command)
        {
            this.ParseCommon(command);
            var tran = command.CreateTransaction();

            this.CreateOrders(command);
            if (tran.SubType == TransactionSubType.IfDone)
            {
                IfDoneTransactionParser.Default.FillDoneTrans(tran, command.TranData);
            }
            else if (tran.SubType == TransactionSubType.Amend && this.IsChangeToIfDone(command.TranData))
            {
                IfDoneTransactionParser.Default.FillDoneTrans(tran, command.TranData);
            }
        }
Example #3
0
        private void CreateOrders(Commands.AddCommunicationTransactionCommandBase command)
        {
            var tranData = command.TranData;

            if (tranData.Orders == null || tranData.Orders.Count == 0)
            {
                return;
            }
            var tran = command.Result;

            foreach (var eachOrder in tranData.Orders)
            {
                var addOrderCommand = command.AddOrderCommandFactory.CreateByCommunication(tran, eachOrder);
                addOrderCommand.Execute();
            }
        }