private void NewOrderClick(object sender, RoutedEventArgs e)
		{
			var newOrder = new OrderWindow
			{
				Order = new Order { Security = SecurityPicker.SelectedSecurity },
				Connector = MainWindow.Instance.Trader,
			};

			if (newOrder.ShowModal(this))
				MainWindow.Instance.Trader.RegisterOrder(newOrder.Order);
		}
		private void NewOrderClick(object sender, RoutedEventArgs e)
		{
			var newOrder = new OrderWindow
			{
				Order = new Order { Security = SecurityPicker.SelectedSecurity },
				SecurityProvider = MainWindow.Instance.Trader,
				MarketDataProvider = MainWindow.Instance.Trader,
				Portfolios = new PortfolioDataSource(MainWindow.Instance.Trader),
			};

			if (newOrder.ShowModal(this))
				MainWindow.Instance.Trader.RegisterOrder(newOrder.Order);
		}
		private void OrderGrid_OnOrderReRegistering(Order order)
		{
			var window = new OrderWindow
			{
				Title = LocalizedStrings.Str2976Params.Put(order.TransactionId),
				Connector = MainWindow.Instance.Trader,
				Order = order.ReRegisterClone(newVolume: order.Balance),
			};

			if (window.ShowModal(this))
			{
				MainWindow.Instance.Trader.ReRegisterOrder(order, window.Order);
			}
		}
		private void OrderGrid_OnOrderReRegistering(Order order)
		{
			var window = new OrderWindow
			{
				Title = LocalizedStrings.Str2976Params.Put(order.TransactionId),
				SecurityProvider = MainWindow.Instance.Trader,
				MarketDataProvider = MainWindow.Instance.Trader,
				Portfolios = new PortfolioDataSource(MainWindow.Instance.Trader),
				Order = order.ReRegisterClone(newVolume: order.Balance),
			};

			if (window.ShowModal(this))
			{
				MainWindow.Instance.Trader.ReRegisterOrder(order, window.Order);
			}
		}
		/// <summary>
		/// Создать <see cref="OrdersPanel"/>.
		/// </summary>
		public OrdersPanel()
		{
			InitializeComponent();

			Security prevSecurity = null;
			Portfolio prevPortfolio = null;
			var prevType = OrderTypes.Limit;

			Func<OrderTypes, Order> createOrder = type => new Order
			{
				Type = type,
				Security = prevSecurity,
				Portfolio = prevPortfolio,
			};

			OrderGrid.OrderRegistering += () =>
			{
				var wnd = new OrderWindow
				{
					SecurityProvider = ConfigManager.TryGetService<FilterableSecurityProvider>(),
					Order = createOrder(prevType)
				};

				if (!wnd.ShowModal(this))
					return;

				var order = wnd.Order;

				prevType = order.Type;
				prevSecurity = order.Security;
				prevPortfolio = order.Portfolio;

				new RegisterOrderCommand(order).Process(this);
			};
			OrderGrid.OrderReRegistering += order =>
			{
				var window = new OrderWindow
				{
					Title = LocalizedStrings.Str2976Params.Put(order.TransactionId),
					Order = order.ReRegisterClone(newVolume: order.Balance),
				};

				if (window.ShowModal(this))
				{
					new ReRegisterOrderCommand(order, window.Order).Process(this);
				}
			};
			OrderGrid.OrderCanceling += orders => new CancelOrderCommand(orders).Process(this);
			OrderGrid.SelectionChanged += (s, e) => new SelectCommand<Order>(OrderGrid.SelectedOrder, false).Process(this);
			OrderGrid.PropertyChanged += (s, e) => new ControlChangedCommand(this).Process(this);

			GotFocus += (s, e) => new SelectCommand<Order>(OrderGrid.SelectedOrder, false).Process(this);

			var cmdSvc = ConfigManager.GetService<IStudioCommandService>();
			cmdSvc.Register<ResetedCommand>(this, false, cmd => OrderGrid.Orders.Clear());
			cmdSvc.Register<OrderCommand>(this, false, cmd =>
			{
				if (cmd.Action == OrderActions.Registering && cmd.Order.Type != OrderTypes.Conditional)
					OrderGrid.Orders.Add(cmd.Order);
			});
			cmdSvc.Register<ReRegisterOrderCommand>(this, false, cmd => OrderGrid.Orders.Add(cmd.NewOrder));
			cmdSvc.Register<OrderFailCommand>(this, false, cmd =>
			{
				if (cmd.Action == OrderActions.Registering)
					OrderGrid.AddRegistrationFail(cmd.Fail);
			});
			cmdSvc.Register<BindStrategyCommand>(this, false, cmd =>
			{
				prevSecurity = cmd.Source.Security;
				prevPortfolio = cmd.Source.Portfolio;
			});

			WhenLoaded(() => new RequestBindSource(this).SyncProcess(this));
		}
		private void OrderGrid_OrderRegistering()
		{
			var newOrder = new OrderWindow
			{
				Order = new Order { Security = _security },
				Connector = _connector,
			};

			if (newOrder.ShowModal(this))
				_connector.RegisterOrder(newOrder.Order);
		}
		private void NewOrder_OnClick(object sender, RoutedEventArgs e)
		{
			var newOrder = new OrderWindow
			{
				Order = new Order { Security = _security },
				Connector = _connector,
			};

			if (newOrder.ShowModal(this))
				_connector.RegisterOrder(newOrder.Order);
		}
Exemple #8
0
		private void OrderGrid_OrderRegistering()
		{
			var newOrder = new OrderWindow
			{
				Order = new Order { Security = _security },
				SecurityProvider = _connector,
				MarketDataProvider = _connector,
				Portfolios = new PortfolioDataSource(_connector),
			};

			if (newOrder.ShowModal(this))
				_connector.RegisterOrder(newOrder.Order);
		}