Beispiel #1
0
        private void BtnStartScan_Click(object sender, EventArgs e)
        {
            SetProgress(0);
            DataManager.log.Log("Клиент: начало сканирования.");
            computerExplorer.Clear();
            try
            {
                Notify("Извлечение ПО");
                SetProgress(15);
                DataManager.log.Log("Клиент: начало извлечения ПО.");
                FillSoftware();
                computerExplorer.SetComputer(currentComputer);
                SetProgress(40);
                Notify("Извлечение комплектующих");
                SetProgress(45);
                DataManager.log.Log("Клиент: начало извлечения железа.");
                FillHardware();
                SetProgress(65);
            }
            catch (Exception ex)
            {
                CanselScan("Ошибка при сканировании:\n" + ex.Message + "\nСканирование прервано.");
                return;
            }

            if (User.Autonom)
            {
                CanselScan(User.AutonomWarning + "\nДанные не были отправлены на сервер.");
                return;
            }

            if (Pgs.CheckComputerExist(currentComputer._MAC, out audnum))
            {
                SendComputerToDb();
                return;
            }

            if (User.Role != UserRole.Admin)
            {
                CanselScan("Данный компьютер не привязан к какой-либо аудитории. Назначить компьютеру аудиторию может только администратор. Пожалуйста, сообщите ему о проблеме.");
                return;
            }

            audnum = DataManager.st.GetValue("auditory_number");
            if (audnum == "null" || !Pgs.CheckAuditoryNumber(audnum))
            {
                Notify("Назначение аудитории");
                MessageBox.Show("Данному компьютеру необходимо назначить аудиторию, в которой он находится. Укажите это в следующем окне.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (!AskAudiotyNumber(out audnum))
                {
                    CanselScan("Данные не могут быть отправлены на сервер без указания номера аудитории.");
                    return;
                }
            }

            SetProgress(70);
            SendComputerToDb();
        }
Beispiel #2
0
 private bool AskAudiotyNumber(out String number)
 {
     using (NumberAssign na = new NumberAssign())
     {
         number = "";
         var result = na.ShowDialog();
         while (result == DialogResult.OK && !Pgs.CheckAuditoryNumber(na.Number))
         {
             MessageBox.Show("Аудитории с таким номером нет в базе данных. Пожалуйста, проверьте правильность введенных данных или обратитесь к администратору.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             result = na.ShowDialog();
         }
         if (result == DialogResult.OK)
         {
             number = na.Number;
             DataManager.st.SetValue("auditory_number", number);
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }