void CancelAllOpenOrders() { foreach (DataGridViewRow row in _orderGrid.Rows) { try { var view = row.DataBoundItem as DataRowView; var orderRow = view.Row as OrderDataRow; Fix.Order order = orderRow.Order; if (order.OrdStatus == Fix.OrdStatus.Canceled || order.OrdStatus == Fix.OrdStatus.Rejected || order.OrdStatus == Fix.OrdStatus.DoneForDay) { continue; } var message = new Fix.Message { MsgType = Fix.Dictionary.Messages.OrderCancelRequest.MsgType }; MessagesPanel.UpdateMessage(message, order); message.Fields.Set(Fix.Dictionary.Fields.TransactTime, Fix.Field.TimeString(_session.MillisecondTimestamps)); message.Fields.Set(Fix.Dictionary.Fields.Side, order.Side.Value); message.Fields.Set(Fix.Dictionary.Fields.Symbol, order.Symbol); message.Fields.Set(Fix.Dictionary.Fields.OrigClOrdID, order.ClOrdID); message.Fields.Set(Fix.Dictionary.Fields.ClOrdID, Session.FormatClOrdId(Session.NextClOrdId++)); // // This field was removed from later versions. // Fix.Field beginString = message.Fields.Find(Fix.Dictionary.Fields.BeginString); if (beginString != null && beginString.Value == Fix.Dictionary.Versions.FIX_4_0.BeginString) { message.Fields.Set(Fix.Dictionary.FIX_4_0.Fields.CxlType, "F"); } Session.Send(message); } catch (Exception ex) { MessageBox.Show(this, ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
public OrdersPanel(MessagesPanel messageDefaults, ToolStripButton defaultsButton) { _messageDefaults = messageDefaults; _defaultsButton = defaultsButton; #region ToolStrip _clientToolStrip = new ToolStrip { GripStyle = ToolStripGripStyle.Hidden, BackColor = LookAndFeel.Color.ToolStrip, Renderer = new ToolStripRenderer() }; _cancelButton = new ToolStripSplitButton { Text = "Cancel", ToolTipText = "Cancel the selected order" }; _cancelButton.Click += CancelButtonClick; _cancelAllButton = new ToolStripMenuItem { Text = "Cancel All", ToolTipText = "Cancel all open orders immediately" }; _cancelAllButton.Click += CancelAllButtonClick; _cancelButton.DropDownItems.Add(_cancelAllButton); _amendButton = new ToolStripButton { Text = "Amend", ToolTipText = "Amend the selected order" }; _amendButton.Click += AmendButtonClick; _statusButton = new ToolStripButton { Text = "Status", ToolTipText = "Request a status update for the selected order" }; _statusButton.Click += StatusButtonClick; _listExecuteButton = new ToolStripButton { Text = "ListExecute", ToolTipText = "Execute the Order List associated with the selected order" }; _listExecuteButton.Click += ListExecuteButtonClick; _listStatusButton = new ToolStripButton { Text = "ListStatus", ToolTipText = "Request the status of the Order List associated with the selected order" }; _listStatusButton.Click += ListStatusButtonClick; _listCancelButton = new ToolStripButton { Text = "ListCancel", ToolTipText = "Cancel the Order List associated with the selected order" }; _listCancelButton.Click += ListCancelButtonClick; _clientToolStrip.Items.AddRange(new ToolStripItem[] { _cancelButton, _amendButton, _statusButton, new ToolStripSeparator(), _listExecuteButton, _listStatusButton, _listCancelButton }); _serverToolStrip = new ToolStrip { GripStyle = ToolStripGripStyle.Hidden, BackColor = LookAndFeel.Color.ToolStrip, Renderer = new ToolStripRenderer() }; _ackButton = new ToolStripDropDownButton { Text = "Ack", ToolTipText = "Acknowledge the selected order" }; _ackButton.Click += AckButtonClick; _ackAllButton = new ToolStripMenuItem { Text = "Acknowledge All", ToolTipText = "Acknowledge all pending orders immediately" }; _ackAllButton.Click += AcknowledgeAllButtonClick; _ackButton.DropDownItems.Add(_ackAllButton); _rejectButton = new ToolStripDropDownButton { Text = "Reject", ToolTipText = "Reject the selected order" }; _rejectButton.Click += RejectButtonClick; _rejectAllButton = new ToolStripMenuItem { Text = "Reject All", ToolTipText = "Reject all pending orders immediately" }; _rejectAllButton.Click += RejectAllButtonClick; _rejectButton.DropDownItems.Add(_rejectAllButton); _acceptorCancelButton = new ToolStripSplitButton { Text = "Cancel", ToolTipText = "Cancel the selected order" }; _acceptorCancelButton.Click += CancelButtonClick; _acceptorCancelAllButton = new ToolStripMenuItem { Text = "Cancel All", ToolTipText = "Cancel all open orders immediately" }; _acceptorCancelAllButton.Click += CancelAllButtonClick; _acceptorCancelButton.DropDownItems.Add(_acceptorCancelAllButton); _reportButton = new ToolStripButton { Text = "Report", ToolTipText = "Send an execution teport for the selected order" }; _reportButton.Click += ReportButtonClick; _serverToolStrip.Items.AddRange(new ToolStripItem[] { _ackButton, _rejectButton, _acceptorCancelButton, _reportButton }); #endregion #region MenuStrip _clientMenuStrip = new ToolStripMenuItem("Action"); _cancelMenuItem = new ToolStripMenuItem("Cancel", _cancelButton.Image); _cancelMenuItem.Click += CancelButtonClick; _clientMenuStrip.DropDownItems.Add(_cancelMenuItem); _amendMenuItem = new ToolStripMenuItem("Amend", _amendButton.Image); _amendMenuItem.Click += AmendButtonClick; _clientMenuStrip.DropDownItems.Add(_amendMenuItem); _statusMenuItem = new ToolStripMenuItem("Status", _statusButton.Image); _statusMenuItem.Click += StatusButtonClick; _clientMenuStrip.DropDownItems.Add(_statusMenuItem); _clientMenuStrip.DropDownItems.Add(new ToolStripSeparator()); _listExecuteMenuItem = new ToolStripMenuItem("ListExecute", _listExecuteButton.Image); _listExecuteMenuItem.Click += ListExecuteButtonClick; _clientMenuStrip.DropDownItems.Add(_listExecuteMenuItem); _listStatusMenuItem = new ToolStripMenuItem("ListStatus", _listStatusButton.Image); _listStatusMenuItem.Click += ListStatusButtonClick; _clientMenuStrip.DropDownItems.Add(_listStatusMenuItem); _listCancelMenuItem = new ToolStripMenuItem("ListCancel", _listCancelButton.Image); _listCancelMenuItem.Click += ListCancelButtonClick; _clientMenuStrip.DropDownItems.Add(_listCancelMenuItem); _serverMenuStrip = new ToolStripMenuItem("Action"); _ackMenuItem = new ToolStripMenuItem("Acknowledge", _ackButton.Image); _ackMenuItem.Click += AckButtonClick; _serverMenuStrip.DropDownItems.Add(_ackMenuItem); _rejectMenuItem = new ToolStripMenuItem("Reject", _rejectButton.Image); _rejectMenuItem.Click += RejectButtonClick; _serverMenuStrip.DropDownItems.Add(_rejectMenuItem); _reportMenuItem = new ToolStripMenuItem("Report", _reportButton.Image); _reportMenuItem.Click += ReportButtonClick; _serverMenuStrip.DropDownItems.Add(_reportMenuItem); #endregion _orderTable = new OrderDataTable("Orders"); _orderView = new DataView(_orderTable); _orderGrid = new OrderDataGridView { Dock = DockStyle.Fill, DataSource = _orderView }; _orderGrid.SelectionChanged += (sender, ev) => UpdateUiState(); _orderSearchTextBox = new SearchTextBox { Dock = DockStyle.Top }; _orderSearchTextBox.TextChanged += (sender, ev) => ApplyFilters(); ContentPanel.Controls.Add(_orderGrid); ContentPanel.Controls.Add(_orderSearchTextBox); UpdateUiState(); ApplyFilters(); IntPtr h = Handle; }