コード例 #1
0
        private void RetriveHandleStatus(object obj)
        {
            try
            {
                if (obj != null)
                {
                    ObjectEntity objEntity = obj as ObjectEntity;
                    MonitorData data = objEntity.Data as MonitorData;
                    frmMain mainForm = objEntity.UIControl as frmMain;

                    MonitorBiz biz = new MonitorBiz();
                    var result = biz.RetriveClientIP(data);

                    SettingBiz settingBiz = new SettingBiz();
                    var settingData = settingBiz.GetSettings();

                    // repeat run
                    if (settingData.EnableMannulRun && settingData.MannulRequestServerTimes > 1)
                    {
                        for (int i = settingData.MannulRequestServerTimes; i > 1; i--)
                        {
                            result = biz.RetriveClientIP(data);
                        }
                    }

                    _lastClientIPUID = result.UID;
                    mainForm.p2_lbl_ip.Text = result.IP;
                    mainForm.p2_lbl_ipbelongto.Text = String.Format("{0} {1} {2}", result.RealOperator, result.RealOperatorProvince, result.RealOperatorCity).Trim();

                    // public ip is displaying set 5%
                    if (OnIPRetriveProgress != null)
                    {
                        OnIPRetriveProgress(5);
                    }

                    // trace route
                    RouteTrace();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误");
            }
        }
コード例 #2
0
        private void cmd_OutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            try
            {
                if (e.Data == null)
                {
                    // submit route info to server.
                    if (this.CurrentRouteItems != null && this.CurrentRouteItems.Count > 0)
                    {
                        MonitorBiz routeBiz = new MonitorBiz();
                        CurrentRouteItems = routeBiz.SubmitRouteDataToServer(this.CurrentRouteItems, _lastClientIPUID);
                    }

                    if (OnIPRetriveProgress != null)
                    {
                        OnIPRetriveProgress(100);
                    }
                }

                if (String.IsNullOrEmpty(e.Data))
                {
                    return;
                }

                // step is 5
                if (OnIPRetriveProgress != null)
                {
                    int percent = this.CurrentProgressbarPercent;
                    int newPercent = percent;
                    if (percent < 90)
                    {
                        newPercent += 5;

                    }
                    else if (percent < 99)
                    {
                        newPercent += 1;
                    }
                    else
                    {
                        newPercent = 99;
                    }

                    OnIPRetriveProgress(newPercent, e.Data.Trim());
                }

                // get one route info item and add it to list
                //1     5 ms    25 ms    15 ms  220.179.33.11
                string receivedData = e.Data.Trim().Replace("    ", "|").Replace("  ", "|");
                //string[] segments = Regex.Split(e.Data.Trim(), "  ",RegexOptions.IgnorePatternWhitespace);
                string[] segments = receivedData.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                if (segments.Length == 5)
                {
                    //add to route items
                    RouteItem ri = new RouteItem();
                    ri.SeqNo = Convert.ToInt32(String.IsNullOrEmpty(segments[0]) ? "0" : segments[0].Trim());
                    ri.T1 = segments[1] == null ? null : segments[1].Trim();
                    ri.T2 = segments[2] == null ? null : segments[2].Trim();
                    ri.T3 = segments[3] == null ? null : segments[3].Trim();
                    ri.RouteIP = segments[4] == null ? null : segments[4].Trim();

                    ri.RouteDate = DateTime.Now;

                    CurrentRouteItems.Add(ri);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误");
            }
        }
コード例 #3
0
ファイル: frmMain-LogQuery.cs プロジェクト: Jackie2014/W1-IPC
        private void RetriveLog()
        {
            try
            {
                MonitorBiz biz = new MonitorBiz();
                _clientIPLogs = biz.LogQuery();

                foreach (var item in _clientIPLogs)
                {
                    //public enum IPMonitorStatus
                    //{
                    //    Pending = 0,
                    //    Normal = 1,
                    //    Unknown = 2,
                    //    Exception = 3
                    //}
                    if ("3".Equals(item.Status))
                    {
                        _clientIPLogsNotMatched.Add(item);
                    }
                }

                BindLogGrid(1, Constants.PAGE_SIZE, false);
                if (OnLogQueryStatus != null)
                {
                    frmMain_OnLogQueryStatus(1, null);
                }
            }
            catch (Exception ex)
            {
                if (OnLogQueryStatus != null)
                {
                    frmMain_OnLogQueryStatus(2, ex.Message);
                }
            }
        }
コード例 #4
0
ファイル: frmMain.cs プロジェクト: Jackie2014/W1-IPC
        private static void SendRequestToRetrieveIP(int repeatNum)
        {
            MonitorBiz monBiz = new MonitorBiz();
            MonitorData data = monBiz.ReadRetriveCondition();

            if (data != null && !String.IsNullOrEmpty(data.ClientRecordor)
                && !String.IsNullOrEmpty(data.ClientCity)
                && !String.IsNullOrEmpty(data.ExpectedOperator)
                && repeatNum > 0)
            {
                // client internal ip
                data.ClientPrivateIP = NetworkHelper.GetLocalIPAddress();

                for (int i = repeatNum; i > 0; i--)
                {
                    monBiz.RetriveClientIP(data);
                }
            }
        }
コード例 #5
0
ファイル: frmMain.cs プロジェクト: Jackie2014/W1-IPC
 private void SaveRetriveCondition(MonitorData data)
 {
     try
     {
         MonitorBiz biz = new MonitorBiz();
         biz.SaveRetriveConditionToLocal(data);
     }
     catch (Exception ex)
     {
     }
 }
コード例 #6
0
ファイル: frmMain.cs プロジェクト: Jackie2014/W1-IPC
        private void frmMain_Load(object sender, EventArgs e)
        {
            try
            {
                if (_isAutoRun)
                {
                    this.WindowState = FormWindowState.Minimized;
                    this.Hide();
                }

                this.top_lblIPScan.Visible = Constants.IsAdministrator;
                this.ShowIcon = false;
                top_lblCurrentIPRetrive.Image = this.imageList1.Images[0];
                //this.pictureBox2.Image = this.imageList1.Images[0];
                List<RegionModel> provinces1 = RegionDataProvider.GetProvinces();
                List<RegionModel> provinces2 = RegionDataProvider.GetProvinces();
                provinces1.Insert(0, RegionDataProvider.EMPTY_ITEM);
                provinces2.Insert(0, RegionDataProvider.EMPTY_ITEM);

                this.cmbProvince1.DataSource = provinces1;
                this.cmbProvince1.DisplayMember = "Name";
                this.cmbProvince1.ValueMember = "Code";

                this.cmbProvince2.DataSource = provinces2;
                this.cmbProvince2.DisplayMember = "Name";
                this.cmbProvince2.ValueMember = "Code";

                this.cmbOperators.SelectedIndex = 0;

                #region restor retrive condition from previous saving

                MonitorBiz biz = new MonitorBiz();
                MonitorData condition = biz.ReadRetriveCondition();

                if (condition != null)
                {
                    this.txtRecordor.Text = condition.ClientRecordor;

                    //运营商省
                    if (!String.IsNullOrEmpty(condition.ExpectedOperatorProvice))
                    {
                        foreach (var item in cmbProvince1.Items)
                        {
                            RegionModel dataItem = item as RegionModel;
                            if (condition.ExpectedOperatorProvice == dataItem.Name)
                            {
                                cmbProvince1.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    //运营商市
                    if (!String.IsNullOrEmpty(condition.ExpectedOperatorCity))
                    {
                        foreach (var item in cmbCity1.Items)
                        {
                            RegionModel dataItem = item as RegionModel;
                            if (condition.ExpectedOperatorCity == dataItem.Name)
                            {
                                cmbCity1.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    //运营商名称
                    if (!String.IsNullOrEmpty(condition.ExpectedOperator))
                    {
                        bool isInList = false;
                        foreach (var item in this.cmbOperators.Items)
                        {
                            if (condition.ExpectedOperator == item as string)
                            {
                                cmbOperators.SelectedItem = item;
                                isInList = true;
                                break;
                            }
                        }

                        if (!isInList)
                        {
                            txtOperatorOther.Visible = true;
                            cmbOperators.SelectedIndex = 4; // other
                            txtOperatorOther.Text = condition.ExpectedOperator;
                        }
                    }

                    // 客户省
                    if (!String.IsNullOrEmpty(condition.ClientProvince))
                    {
                        foreach (var item in cmbProvince2.Items)
                        {
                            RegionModel dataItem = item as RegionModel;
                            if (condition.ClientProvince == dataItem.Name)
                            {
                                cmbProvince2.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    //客户市
                    if (!String.IsNullOrEmpty(condition.ClientCity))
                    {
                        foreach (var item in cmbCity2.Items)
                        {
                            RegionModel dataItem = item as RegionModel;
                            if (condition.ClientCity == dataItem.Name)
                            {
                                cmbCity2.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    //客户区县
                    if (!String.IsNullOrEmpty(condition.ClientDistinct))
                    {
                        foreach (var item in cmbDistinct.Items)
                        {
                            RegionModel dataItem = item as RegionModel;
                            if (condition.ClientDistinct == dataItem.Name)
                            {
                                cmbDistinct.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    //客户详细地址
                    this.txtDetailAddress.Text = condition.ClientDetailAddress;
                }

                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误");
            }
        }
コード例 #7
0
ファイル: frmMain.cs プロジェクト: Jackie2014/W1-IPC
        private static void TimerEventProcessor(Object myObject,EventArgs myEventArgs)
        {
            try
            {
                // execute ip check
                SettingBiz settingBiz = new SettingBiz();
                var settingData = settingBiz.GetSettings();

                // repeat run
                MonitorBiz monBiz = new MonitorBiz();
                if (settingData.EnableMannulRun && settingData.MannulRequestServerTimes > 0)
                {
                    SendRequestToRetrieveIP(settingData.MannulRequestServerTimes);
                }
            }
            catch { }
        }