Example #1
0
 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();
 }
Example #2
0
 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();
 }
Example #3
0
        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;
 }
Example #5
0
        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;
        }