コード例 #1
0
        private void CheckCard()
        {
            bool accept = false;

            while (!accept)
            {
                Functions.RFID.Open();

                while (Functions.RFID.IsOpen)
                {
                    Thread.Sleep(1000);
                }

                // Если карта успешно считалась.
                if (long.TryParse(Functions.CardSerialNumberFromRFID, out long serialNumber))
                {
                    NotificationTextLabel.Invoke((MethodInvoker) delegate
                    {
                        NotificationTextLabel.Text = "Карта активирована";
                    });

                    NotificationImagePictureBox.Invoke((MethodInvoker) delegate
                    {
                        NotificationImagePictureBox.Image = Properties.Resources.Accept;
                    });

                    accept = true;
                    if (MessageBox.Show($"Серийный номер карты: {Functions.CardSerialNumberFromRFID}.", "Успешно", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        Invoke((MethodInvoker) delegate
                        {
                            Close();
                        });
                    }
                }
                else // Если карта не считалась.
                {
                    NotificationTextLabel.Invoke((MethodInvoker) delegate
                    {
                        NotificationTextLabel.Text = "Ошибка! Карта  не читается, приложите другую карту.";
                    });

                    NotificationImagePictureBox.Invoke((MethodInvoker) delegate
                    {
                        NotificationImagePictureBox.Image = Properties.Resources.Exclamation;
                    });

                    MessageBox.Show($"Серийный номер карты: {Functions.CardSerialNumberFromRFID}.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #2
0
        private void CheckCard()
        {
            bool accept = false;

            while (!accept)
            {
                Functions.RFID.Open();

                while (Functions.RFID.IsOpen)
                {
                    Thread.Sleep(1000);
                }

                if (long.TryParse(Functions.CardSerialNumberFromRFID, out long serialNumber)) // Если карта успешно считалась.
                {
                    if (Functions.CardSerialNumberFromRFID == Guest.Card.SerialNum)           // Если была считана карта текущего гостя.
                    {
                        DateTime evictionTime = DateTime.Now;

                        NotificationTextLabel.Invoke((MethodInvoker) delegate
                        {
                            NotificationTextLabel.Text = $"Гость: {Guest.Name} выехал {evictionTime.ToShortDateString()} в {evictionTime.ToShortTimeString()}";
                        });

                        NotificationImagePictureBox.Invoke((MethodInvoker) delegate
                        {
                            NotificationImagePictureBox.Image = Properties.Resources.Accept;
                        });

                        accept = true;

                        if (MessageBox.Show($"Серийный номер карты: {Functions.CardSerialNumberFromRFID}.", "Успешно", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
                        {
                            Invoke((MethodInvoker) delegate
                            {
                                Close();
                            });
                        }

                        // TODO: Реализовать выселение гостя.
                    }
                    else // Если была считана другая карта.
                    {
                        NotificationTextLabel.Invoke((MethodInvoker) delegate
                        {
                            NotificationTextLabel.Text = "Ошибка! Была приложена другая карта. Приложите настоящую карту!";
                        });

                        NotificationImagePictureBox.Invoke((MethodInvoker) delegate
                        {
                            NotificationImagePictureBox.Image = Properties.Resources.Exclamation;
                        });

                        MessageBox.Show($"Серийный номер карты: {Functions.CardSerialNumberFromRFID}.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else // Если карта не считалась.
                {
                    NotificationTextLabel.Invoke((MethodInvoker) delegate
                    {
                        NotificationTextLabel.Text = "Ошибка! Карта  не читается!";
                    });

                    NotificationImagePictureBox.Invoke((MethodInvoker) delegate
                    {
                        NotificationImagePictureBox.Image = Properties.Resources.Exclamation;
                    });

                    MessageBox.Show($"Серийный номер карты: {Functions.CardSerialNumberFromRFID}.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }