Ejemplo n.º 1
0
        private async void tabControl_Selected(object sender, TabControlEventArgs e)
        {
            if (e.TabPage == statisticsTab)
            {
                statisticsDataTable.Rows.Clear();

                var trms = ControlStationService.terminals;
                foreach (var trm in trms)
                {
                    statisticsDataTable.Rows.Add(trm.HostName, 0, 0);
                }

                foreach (var trm in trms)
                {
                    using (var clt = new TerminalServiceClient(new BasicHttpBinding(), new EndpointAddress(new UriBuilder("http", trm.AddressList[0].ToString(), 5678).Uri))) {
                        var stt = await clt.GetStatisticsAsync();

                        var row = statisticsDataTable.Rows.Find(trm.HostName);
                        row.SetField <int>("uniqueUsers", stt.numberOfUniqueUsers);
                        row.SetField <int>("timeStamps", stt.numberOfTimeStamps);
                    }
                }

                statisticsChart.DataBind();
            }
        }
Ejemplo n.º 2
0
        private async void ControlStationService_terminalConnected(IPHostEntry terminal)
        {
            newsStatusDataTable.Rows.Add(terminal.HostName, "connected...");

            using (var clt = new TerminalServiceClient(new BasicHttpBinding(), new EndpointAddress(new UriBuilder("http", terminal.AddressList[0].ToString(), 5678).Uri))) {
                await clt.SetNewsAsync(newsChangeTextBox.Rtf);

                newsStatusDataTable.Rows.Find(terminal.HostName).SetField <string>("status", "done!");
            }
        }
Ejemplo n.º 3
0
        private async void newsChangeButton_Click(object sender, EventArgs e)
        {
            var news = newsChangeTextBox.Rtf;

            foreach (var row in newsStatusDataTable.Rows.Cast <DataRow>())
            {
                row.SetField("status", "awaiting...");
            }

            foreach (var trm in ControlStationService.terminals)
            {
                try {
                    using (var clt = new TerminalServiceClient(new BasicHttpBinding(), new EndpointAddress(new UriBuilder("http", trm.AddressList[0].ToString(), 5678).Uri))) {
                        await clt.SetNewsAsync(news);

                        newsStatusDataTable.Rows.Find(trm.HostName).SetField <string>("status", "done!");
                    }
                } catch (Exception ex) {
                    newsStatusDataTable.Rows.Find(trm.HostName).SetField <string>("status", ex.GetType().Name);
                }
            }
        }