static OrderManager() { OrderManager.Initialized = false; OrderManager.orderId = 0; OrderManager.orders = new OrderListTable(); OrderManager.oca = new Hashtable(); OrderManager.sellSide = new OrderManager.SellSideService(); OrderManager.server = new OrderDbServer(); OrderManager.Init(); }
public static void Init() { if (OrderManager.Initialized) { return; } ProviderManager.ExecutionReport += new ExecutionReportEventHandler(OrderManager.OnExecutionReport); ProviderManager.OrderCancelReject += new OrderCancelRejectEventHandler(OrderManager.OnOrderCancelReject); ProviderManager.Error += new ProviderErrorEventHandler(OrderManager.EmitError); ProviderManager.Added += new ProviderEventHandler(OrderManager.OnAdded); Type connectionType = null; string connectionString = string.Empty; switch (Framework.Storage.ServerType) { case DbServerType.SQLITE: connectionType = Type.GetType("SQLiteConnection"); connectionString = string.Format("Data Source={0};Pooling=true;FailIfMissing=false;", Path.Combine(Framework.Installation.DataDir.FullName, "freequant.db")); break; default: throw new NotSupportedException("This db is not support yet."); } // FIXME:for test only OrderManager.server = new OrderFileServer(); OrderManager.server.Open(connectionType, connectionString); foreach (IOrder order in OrderManager.server.Load()) { if (order.Instrument != null && order.Provider != null && order.Portfolio != null) { OrderManager.orders.Add(order as SingleOrder); } } foreach (SingleOrder singleOrder in OrderManager.orders.All) { if (!singleOrder.IsDone) { singleOrder.Provider.RegisterOrder(singleOrder); } } OrderManager.RemoveDoneOrders = false; OrderManager.EnablePartialTransactions = false; OrderManager.Initialized = true; }
public HomeController(IOrderServer orderServer) { this.orderServer = orderServer; }
public static void Init() { if (OrderManager.Initialized) return; ProviderManager.ExecutionReport += new ExecutionReportEventHandler(OrderManager.OnExecutionReport); ProviderManager.OrderCancelReject += new OrderCancelRejectEventHandler(OrderManager.OnOrderCancelReject); ProviderManager.Error += new ProviderErrorEventHandler(OrderManager.EmitError); ProviderManager.Added += new ProviderEventHandler(OrderManager.OnAdded); Type connectionType = null; string connectionString = string.Empty; switch (Framework.Storage.ServerType) { case DbServerType.SQLITE: connectionType = Type.GetType("SQLiteConnection"); connectionString = string.Format("Data Source={0};Pooling=true;FailIfMissing=false;", Path.Combine(Framework.Installation.DataDir.FullName, "freequant.db")); break; default: throw new NotSupportedException("This db is not support yet."); } // FIXME:for test only OrderManager.server = new OrderFileServer(); OrderManager.server.Open(connectionType, connectionString); foreach (IOrder order in OrderManager.server.Load()) { if (order.Instrument != null && order.Provider != null && order.Portfolio != null) OrderManager.orders.Add(order as SingleOrder); } foreach (SingleOrder singleOrder in OrderManager.orders.All) { if (!singleOrder.IsDone) singleOrder.Provider.RegisterOrder(singleOrder); } OrderManager.RemoveDoneOrders = false; OrderManager.EnablePartialTransactions = false; OrderManager.Initialized = true; }