private bool CheckPin() { this.pin = (App.Current.Resources["Locator"] as ViewModelLocator).Paper.Pin; if (pin.PinCode.Trim().Length == 0) { MessageBox.Show("引脚编号不能为空!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } if (pin.physicalChannel <= 0) { MessageBox.Show("物理地址必须为大于零的整数!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } if (pin.IsSafeBox && pin.SafeBoxName.Trim().Length == 0) { MessageBox.Show("元件名称不能为空!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } else if (pin.IsSafeBox && !(pin.SafeBoxName.Trim().Contains("F") || pin.SafeBoxName.Trim().Contains("K"))) { MessageBox.Show("请输入正确的元件名称(继电器—K 保险芯—F)!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } else if (pin.IsSafeBox) { if (!IsModify && SQliteDbContext.CheckSafeBoxNameSingle(pin) > 0) { MessageBox.Show("元器件名称不能重复", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } else if (IsModify) { if (SQliteDbContext.GetOnePin(pin.PinCode, pin.ProjectNO).safeBoxName != pin.safeBoxName && SQliteDbContext.CheckSafeBoxNameSingle(pin) > 0) { MessageBox.Show("元器件名称不能重复", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } } } if (SQliteDbContext.CheckCodeSingle(pin) && !IsModify) { MessageBox.Show("引脚编号不重复!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } if (SQliteDbContext.CheckAddressSingle(pin) >= 1) { MessageBox.Show("物理地址已经被占用!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } if (SQliteDbContext.CheckAddressSingle(pin) > 1 && SQliteDbContext.GetOnePin(pin.PinCode, pin.ProjectNO).physicalChannel != pin.physicalChannel && IsModify) { MessageBox.Show("物理地址已经被占用!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); } return(true); }