FastQuant.OrderManager.Load C# (CSharp) Method

Load() public method

public Load ( string name = null, int clientId = -1 ) : void
name string
clientId int
return void
        public void Load(string name = null, int clientId = -1)
        {
            var messages = LoadMessages(name, clientId);
            foreach (var msg in messages)
            {
                msg.IsLoaded = true;
                var typeId = msg.TypeId;
                switch (typeId)
                {
                    case DataObjectType.ExecutionReport:
                        this.framework.EventServer.OnExecutionReport((ExecutionReport)msg);
                        break;
                    case DataObjectType.ExecutionCommand:
                        {
                            var command = (ExecutionCommand)msg;
                            switch (command.Type)
                            {
                                case ExecutionCommandType.Send:
                                    {
                                        var order = new Order(command);
                                        command.Order = order;
                                        command.Instrument = this.framework.InstrumentManager.GetById(command.InstrumentId);
                                        command.Portfolio = this.framework.PortfolioManager.GetById(command.PortfolioId);
                                        command.Provider = this.framework.ProviderManager.GetExecutionProvider(command.ProviderId);
                                        order.Instrument = command.Instrument;
                                        order.Portfolio = command.Portfolio;
                                        order.Provider = command.Provider;
                                        lock (this.obj)
                                            this.counter = Math.Max(this.counter, order.Id);
                                        this.framework.EventServer.OnSendOrder(order);
                                        Orders.Add(order);
                                        this.ordersById[order.Id] = order;
                                        if (this.framework.Mode == FrameworkMode.Realtime)
                                            this.ordersByClOrderId[order.ClOrderId] = order;
                                        Messages.Add(command);
                                        order.OnExecutionCommand(command);
                                        this.framework.EventServer.OnExecutionCommand(command);
                                        this.framework.EventServer.OnPendingNewOrder(order, true);
                                        break;
                                    }
                                case ExecutionCommandType.Cancel:
                                case ExecutionCommandType.Replace:
                                    this.ordersById[command.OrderId].OnExecutionCommand(command);
                                    break;
                            }
                            break;
                        }
                    default:
                        if (typeId == DataObjectType.AccountReport)
                            this.framework.EventServer.OnAccountReport((AccountReport)msg);
                        break;
                }
            }
        }