/// <summary>
 /// 将选定的IP地址过滤信息从列表中移除
 /// </summary>
 /// <param name="ipAddrFilterInfo">要移除的某个IP地址过滤信息</param>
 private void RemoveIPAddrFilterInfo(IPAddressFilterInformation ipAddrFilterInfo)
 {
     if (_dpObj.CheckAccess())
         IPAddrFilterInfoes.Remove(ipAddrFilterInfo);
     else
         _dpObj.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
             new IPAddrFilterInfoDelegate(item => IPAddrFilterInfoes.Remove(item)),
             ipAddrFilterInfo);
 }
 /// <summary>
 /// 同步IP地址过滤信息数据
 /// </summary>
 /// <param name="clone">同步数据源</param>
 public void Sync( IPAddressFilterInformation clone ) {
     StartIPAddr = clone.StartIPAddr;
     EndIPAddr = clone.EndIPAddr;
     FilterDesc = clone.FilterDesc;
 }
        /// <summary>
        /// 显示详细的选中的IP地址过滤信息
        /// </summary>
        /// <param name="IpFilterInfo">选中的IP地址过滤条件</param>
        public void ShowIPAddressFilterInfo(IPAddressFilterInformation IpFilterInfo)
        {
            IPAddressFilterInformation clone = (IPAddressFilterInformation)IpFilterInfo.Clone();
            IPAddrFilterInfoWindow wnd = new IPAddrFilterInfoWindow
            {
                Owner = Application.Current.MainWindow,
                DataContext = clone,
            };

            if (wnd.ShowDialog() == true)
            {
                ErrType err = _businessService.ModifyIPAddrFilteringInfo(_loginID, clone);
                if (err == GeneralErr.Success)
                    IpFilterInfo.Sync(clone);
                else
                    MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
 /// <summary>
 /// 删除指定的IP地址过滤信息
 /// </summary>
 /// <param name="IpFilterInfo">要删除的IP地址过滤信息</param>
 public void DeleteIPAddressFilterInfo(IPAddressFilterInformation IpFilterInfo)
 {
     MessageBoxResult mbResult = MessageBox.Show("确认删除该条记录吗?", "删除确认", MessageBoxButton.YesNo, MessageBoxImage.Question);
     if (mbResult == MessageBoxResult.Yes)
     {
         ErrType err = _businessService.DeleteIPAddrFilteringInfo(_loginID, IpFilterInfo.FilterID);
         if (err == GeneralErr.Success)
             RemoveIPAddrFilterInfo(IpFilterInfo);
         else
             MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
        /// <summary>
        /// 执行添加IP地址过滤信息命令的方法
        /// </summary>
        public void AddIPAddrFilterInfoExecute()
        {
            IPAddressFilterInformation ipInfo = new IPAddressFilterInformation();
            IPAddrFilterInfoWindow wnd = new IPAddrFilterInfoWindow
            {
                Owner = Application.Current.MainWindow,
                DataContext = ipInfo,
            };

            if (wnd.ShowDialog() == true)
            {
                ErrType err = _businessService.AddIPAddrFilteringInfo(_loginID, ipInfo);
                if (err == GeneralErr.Success)
                    AddIPAddrFilterInfo(ipInfo);
                else
                    MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
 /// <summary>
 /// 修改选中的IP地址过滤信息
 /// </summary>
 /// <param name="loginID">登陆标识</param>
 /// <param name="ipAddrFilterInfo">修改后的IP地址过滤信息</param>
 /// <returns>ErrType</returns>
 public ErrType ModifyIPAddrFilteringInfo(string loginID, IPAddressFilterInformation ipAddrFilterInfo)
 {
     try
     {
         TradeIp tradeIP = MyConverter.ToTradeIp(ipAddrFilterInfo);
         ResultDesc result = ManagerService.ModifyTradeIp(tradeIP, loginID);
         return result.Result ? GeneralErr.Success : new ErrType(ERR.SERVICE, result.Desc);
     }
     catch (TimeoutException te)
     {
         FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, te.Message);
         return new ErrType(ERR.EXEPTION, ErrorText.TimeoutException);
     }
     catch (Exception ex)
     {
         FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name,
      new StackTrace().GetFrame(0).GetMethod().Name, ex.Message);
         return new ErrType(ERR.EXEPTION, ErrorText.OperationError);
     }
 }
 /// <summary>
 /// 添加新的IP地址过滤信息
 /// </summary>
 /// <param name="loginID">登陆标识</param>
 /// <param name="ipAddrFilterInfo">要添加的新的IP地址过滤条件</param>
 /// <returns>ErrType</returns>
 public ErrType AddIPAddrFilteringInfo(string loginID, IPAddressFilterInformation ipAddrFilterInfo)
 {
     try
     {
         TradeIp ipInfo = MyConverter.ToTradeIp(ipAddrFilterInfo);
         string filterID = "";
         ResultDesc result = ManagerService.AddTradeIp(ipInfo, loginID, ref filterID);
         if (result.Result)
         {
             ipAddrFilterInfo.FilterID = filterID;
             return GeneralErr.Success;
         }
         else
             return new ErrType(ERR.SERVICE, result.Desc);
     }
     catch (TimeoutException te)
     {
         FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, te.Message);
         return new ErrType(ERR.EXEPTION, ErrorText.TimeoutException);
     }
     catch (Exception ex)
     {
         FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name,
      new StackTrace().GetFrame(0).GetMethod().Name, ex.Message);
         return new ErrType(ERR.EXEPTION, ErrorText.OperationError);
     }
 }
 internal static TradeIp ToTradeIp(IPAddressFilterInformation ipAddrFilterInfo)
 {
     return new TradeIp
     {
         StartIp = ipAddrFilterInfo.StartIPAddr,
         EndIp = ipAddrFilterInfo.EndIPAddr,
         Desc = ipAddrFilterInfo.FilterDesc,
         ID = ipAddrFilterInfo.FilterID,
     };
 }
 /// <summary>
 /// 同步IP地址过滤信息数据
 /// </summary>
 /// <param name="clone">同步数据源</param>
 public void Sync(IPAddressFilterInformation clone)
 {
     StartIPAddr = clone.StartIPAddr;
     EndIPAddr   = clone.EndIPAddr;
     FilterDesc  = clone.FilterDesc;
 }