Пример #1
0
        private void Dg_Hosts_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            string      value  = (e.EditingElement as TextBox).Text;
            NetworkHost nwHost = e.Row.Item as NetworkHost;

            if (e.Column.DisplayIndex <= 1)
            {
                try
                {
                    IPHostEntry entry = Dns.GetHostEntry(value);
                    nwHost.HostName  = entry.HostName;
                    nwHost.IP        = entry.AddressList.Select(a => a.ToString()).Where(a => Regex.IsMatch(a, @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")).FirstOrDefault();
                    nwHost.SyncState = "-";
                } catch { }
            }
            Task.Delay(100).ContinueWith(t => { Application.Current.Dispatcher.Invoke(() => dg_Hosts.Items.Refresh()); });
        }
Пример #2
0
        private void SyncFromButton_Click(object sender, RoutedEventArgs e)
        {
            NetworkHost host = EvaluateButtonClickNetworkHost(sender);

            if (host == null)
            {
                return;
            }

            HttpWebResponse syncToResponse = new HttpSender(string.Format("http://{0}:9000/api/Sync/RequestSyncFrom", host.IP.ToString()), 10000)
                                             .Send(new SyncRequestData()
            {
                Sender = Dns.GetHostName()
            })
                                             .Receive();

            if (syncToResponse != null && syncToResponse.StatusCode == HttpStatusCode.OK)
            {
                // TODO: disable other buttons and start timout timer for request
            }
        }