public ClientControl(string connectionID, CentralMessagingHub messageHub, MainCommandCenterController cCController) { InitializeComponent(); DataContext = this; ConnectionID = connectionID; MessageHub = messageHub; this.cCController = cCController; }
public MainCommandCenterController(MainWindow mainWindow, int numClients, string signalRURL, string serverURL, string autoAssignArchive) { NumClients = numClients; ServerURL = serverURL; View = mainWindow; ArchiveRoot = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\LoadInjectorCommandCentre"; this.AutoAssignArchive = autoAssignArchive; int configHubPort = int.Parse(View.SignalRPort); int configServerPort = int.Parse(View.ServerPort); int hubport = Utils.GetAvailablePort(configHubPort); signalRURL = $"http://{View.SignalRIP}:{View.SignalRPort}/"; int webport = Utils.GetAvailablePort(configServerPort); //MessageBox.Show($"Config {NumClients} {AutoAssignArchive} {hubport} {webport} ", "Debug", MessageBoxButton.OK, MessageBoxImage.Warning); //Debug.WriteLine($"Config {NumClients} {AutoAssignArchive} {hubport} {webport} "); ClientTabControl tabControl = new ClientTabControl("Summary", this) { IsSummary = true, ConnectionID = "summary" }; clientTabControls.Add("summary", tabControl); View.AddClientTab(tabControl); if (AutoAssignArchive != null && AutoAssignArchive != "") { string[] a = AutoAssignArchive.Split('\\'); string safeName = a[a.Length - 1]; File.Copy(AutoAssignArchive, ArchiveRoot + "\\" + safeName, true); AutoAssignArchive = safeName; } else { AutoAssignArchive = null; } if (hubport != configHubPort) { MessageBox.Show($"Port {configHubPort} is unavailable. Using {hubport} instead", "Client Hub Port", MessageBoxButton.OK, MessageBoxImage.Warning); View.SignalRPort = hubport.ToString(); } try { MessageHub = new CentralMessagingHub(this); string res = MessageHub.StartHub(signalRURL); if (res != null) { MessageBox.Show(res); } } catch (Exception ex) { MessageBox.Show("Message HUB Start Error: " + ex.Message); } if (webport != configServerPort) { MessageBox.Show($"Port {configServerPort} is unavailable. Using {webport} instead", "Archive Server Port", MessageBoxButton.OK, MessageBoxImage.Warning); View.ServerPort = webport.ToString(); } WebServerURL = $"http://{View.SignalRIP}:{View.ServerPort}/"; WebServer = new SimpleHTTPServer(ArchiveRoot, View.SignalRIP, View.ServerPort); StartClients(NumClients); }