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);
        }