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; }
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); } }
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(); } }