private void ExecuteConfirmCommand() { string remoteAddress = string.Format("{0}:{1}", RemoteIP, RemotePort); string monitorDirectory = RemoteMonitorFloders.Where(m => m.IsSelected == true).ElementAt(0).RemoteMonitorFloder; string acceptDirectiory = AcceptFilePath; SubscribeModel subscribe = new SubscribeModel() { MonitorIP = RemoteIP, MonitorListenPort = RemotePort, MonitorDirectory = monitorDirectory, AcceptDirectory = acceptDirectiory }; if (SimpleIoc.Default.GetInstance <MainViewModel>().SubscribeCollection.FirstOrDefault(s => s.MonitorIP == remoteAddress && s.MonitorDirectory == monitorDirectory && s.AcceptDirectory == acceptDirectiory) != null) { MessageBox.Show("接受配置中已有相同项!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } SimpleIoc.Default.GetInstance <MainViewModel>().SubscribeCollection.Add(subscribe); byte[] ipBytes = UtilHelper.Instance.GetIPAddressBytes(RemoteIP); IPEndPoint remote = new IPEndPoint(new IPAddress(ipBytes), RemotePort); SynchronousSocketManager.Instance.SendSubscribeInfo(remote, monitorDirectory); Messenger.Default.Send <string>("CloseSubscribeView"); }
private bool CanExecuteConfirmCommand() { //TODO:添加RemoteIP和RemotePort的正则表达式来判断输入值是否合法 return(RemoteMonitorFloders.Count > 0 && (RemoteMonitorFloders.Where(m => m.IsSelected == true).Count() == 1) && !string.IsNullOrEmpty(AcceptFilePath)); }