protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); ImageWebModel model = ImageWebModel.GetModel(); CommandsController cc = new CommandsController(model); ComunicationClient client = ComunicationClient.GetClient(8000); client.CommandReceived += delegate(object senderObj, CommandReceivedEventArgs args) { JsonCommand jCommand = args.JsonCommand; cc.ExecuteCommand(jCommand.CommandID, jCommand.Args, jCommand.JsonData); }; try { client.ConnectToServer(); client.sendCommand((int)CommandsEnum.GetConfigCommand, null); client.sendCommand((int)CommandsEnum.LogsCommand, null); } catch { Console.WriteLine("failed to connect to server"); } }
//important!!!!!!!!!!!! //we are sorry we didn't implement the mvvm for the main window as we should, we didn't have enough time to fix it. //we are aware of this mistake //but we implemented the mvvm for the other modules public MainWindow() { InitializeComponent(); this.DataContext = new ViewModels.MainWindowViewModel(); ComunicationClient client = ComunicationClient.GetClient(8000); Controller controller = new Controller(LogModel.getModel(), SettingsModel.getModel()); try { client.ConnectToServer(); string[] strs = { }; client.CommandReceived += delegate(object senderObj, CommandReceivedEventArgs args) { App.Current.Dispatcher.Invoke((Action) delegate // <--- HERE { JsonCommand jCommand = args.JsonCommand; controller.ExecuteCommand(jCommand.CommandID, jCommand.Args, jCommand.JsonData); }); }; client.sendCommand((int)CommandsEnum.GetConfigCommand, strs); client.sendCommand((int)CommandsEnum.LogsCommand, strs); } catch { this.Background = Brushes.Gray; this.IsEnabled = false; } }