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