Beispiel #1
0
        public static WriteCode WriteNewUID(RFID_Device localDevice, string oldUID, string newUID, int writeMode)
        {
            if (writeMode == 0)
            {
                return(localDevice.WriteNewUID(oldUID, newUID));
            }
            if (writeMode == 1)
            {
                return(localDevice.WriteNewUidWithFamily(oldUID, newUID));
            }
            if (writeMode == 2)
            {
                return(localDevice.WriteNewUidDecimal(oldUID, newUID));
            }

            return(WriteCode.WC_Error);
        }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            WriteCode codeResult = WriteCode.WC_Error;
            string    newUid     = textBoxNewUID.Text.Trim();

            string initialUid = _db.GetInitialUID(newUid);

            if (!string.IsNullOrEmpty(initialUid))
            {
                List <UidWriteHistory> tmpList = _db.GetUidHistory(initialUid);

                if (tmpList != null)
                {
                    if (tmpList[0]._writtenUid == newUid)
                    {
                        MessageBox.Show(ResStrings.str_UID_already_in_use_Please_Change_UID);
                        return;
                    }
                }
            }


            if (comboBoxSelWrite.SelectedIndex == 0)
            {
                if ((!SDK_SC_RfidReader.DeviceBase.SerialRFID.isStringValidToWrite(textBoxNewUID.Text.Trim()) || (textBoxNewUID.Text.Length > 17)))
                {
                    MessageBox.Show(ResStrings.str_Invalid_Tag_ID, ResStrings.strInfo, MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }
            else if (comboBoxSelWrite.SelectedIndex == 1)
            {
                System.Text.RegularExpressions.Regex myRegex = new Regex(@"^[0-9]+$");
                if ((!myRegex.IsMatch(textBoxNewUID.Text)) || (textBoxNewUID.Text.Length > 12))
                {
                    MessageBox.Show(ResStrings.str_Invalid_Tag_ID, ResStrings.strInfo, MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
            }

            if (!_isEthernetDevice) // (USB) local reader
            {
                if ((_currentDevice.ConnectionStatus == ConnectionStatus.CS_Connected) &&
                    (_currentDevice.DeviceStatus == DeviceStatus.DS_Ready))
                {
                    if (comboBoxSelWrite.SelectedIndex == 0)  //SPCE2 With family
                    {
                        codeResult = _currentDevice.WriteNewUidWithFamily(_previousUid, newUid);
                    }
                    else if (comboBoxSelWrite.SelectedIndex == 1)  // SPCE2 Decimal
                    {
                        codeResult = _currentDevice.WriteNewUidDecimal(_previousUid, newUid);
                    }
                    else
                    {
                        MessageBox.Show(ResStrings.str_RFID_device_not_ready);
                        return;
                    }
                }
            }

            else // (Ethernet) Remote reader
            {
                TcpIP_class.TcpIpClient tcpClient = new TcpIP_class.TcpIpClient();
                tcpClient.RequestWriteBlock(_currentDeviceClass.infoDev.IP_Server, _currentDeviceClass.infoDev.Port_Server, _previousUid, newUid, out codeResult, comboBoxSelWrite.SelectedIndex);
            }


            switch (codeResult)
            {
            case WriteCode.WC_Error:
                MessageBox.Show(ResStrings.strWriteStatusUnexpectedError);
                break;

            case WriteCode.WC_TagNotDetected:
                MessageBox.Show(ResStrings.strWriteStatusOperation_failed);
                break;

            case WriteCode.WC_TagNotConfirmed:
                MessageBox.Show(ResStrings.strWriteStatus_Tag_not_confirmed);
                break;

            case WriteCode.WC_TagBlockedOrNotSupplied:
                MessageBox.Show(ResStrings.str_Tag_blocked_or_not_well_supplied__Operation_failed);
                break;

            case WriteCode.WC_TagBlocked:
                MessageBox.Show(ResStrings.str_Tag_blocked__Operation_failed);
                break;

            case WriteCode.WC_TagNotSupplied:
                MessageBox.Show(ResStrings.str_Tag_not_well_supplied__Operation_failed);
                break;

            case WriteCode.WC_ConfirmationFailed:
                MessageBox.Show(ResStrings.str_Updated_tag_confirmation_has_failed);
                break;

            case WriteCode.WC_Success:

                _db.AddUidHistory(string.IsNullOrEmpty(_initialUid) ? _previousUid : _initialUid, newUid);
                if (_initialUid != null)
                {
                    UpdateHistoryTable(_initialUid);
                }
                Application.DoEvents();
                Thread.Sleep(200);
                MessageBox.Show(ResStrings.str_Tag_UID_succesfully_updated_);

                break;
            }
            Close();
        }