//Запрет печати void AccessDenied() { FormError er = new FormError("Печать запрещена"); er.ShowDialog(); Close(); }
/// <summary> /// Запрос ключа /// </summary> /// <param name="Minimum">Минимально необходимый уровень доступа</param> /// <returns></returns> public static byte GetKey(int Minimum) { UsersLoad(); if (isTerminal) { //Сначала проверим, есть ли в списке хоть один админ if (users.Find(u => (u.Rule == 255 & u.Code != "")) == null) { return(255); } //Админы есть, значит просим прислонить ключ FormKey key = new FormKey(); key.ShowDialog(); //Ищем ключ в базе User user = users.Find(u => u.Code == key.Code); if (user != null) { if (user.Rule >= Minimum) { //Прав достаточно return(user.Rule); } else { //Прав недостаточно if (user.Code != "") { FormError err = new FormError("Недостаточно прав"); err.ShowDialog(); } return(0); } } else { if (key.Code != "") { FormError err = new FormError(); err.ShowDialog(); } return(0); //значит, что нифига не нашли } } //Если ключи не используются, выдаём полные права без вопросов return(255); }
/// <summary> /// Запрос ключа /// </summary> /// <param name="Minimum">Минимально необходимый уровень доступа</param> /// <returns></returns> public static byte GetKey(int Minimum) { UsersLoad(); if (IsMachine) { //Сначала проверим, есть ли в списке хоть один админ if (Users.Find(u => (u.Rule == 255 & u.Code != "")) == null) return 255; //Админы есть, значит просим прислонить ключ FormKey key = new FormKey(); key.ShowDialog(); //Ищем ключ в базе User user = Users.Find(u => u.Code == key.Code); if (user != null) { if (user.Rule >= Minimum) { //Прав достаточно return user.Rule; } else { //Прав недостаточно if (user.Code != "") { FormError err = new FormError("Недостаточно прав"); err.ShowDialog(); } return 0; } } else { if (key.Code != "") { FormError err = new FormError(); err.ShowDialog(); } return 0; //значит, что нифига не нашли } } //Если ключи не используются, выдаём полные права без вопросов return 255; }
private void FormPrint_Load(object sender, EventArgs e) { //Заполним комбобокс пользователями comboBoxUser.Items.Clear(); foreach (User u in Data.users) { comboBoxUser.Items.Add(u.Name); } box = lab.boxNum; FormKey key = new FormKey(); key.ShowDialog(); if (key.Code == "") { //Маленько кривинько, но стираем сформированный список и заполняем его только гостями //Причём только теми, у кого есть доступ для этой ТПА comboBoxUser.Items.Clear(); foreach (User u in Data.users) { if (u.Code == "") { if (Data.accessControl) { if (u.TPAAccess[NumMachine]) { comboBoxUser.Items.Add(u.Name); } } else { comboBoxUser.Items.Add(u.Name); } } } ThisAdmin = false; //Ну а если список гостей пуст, значит запрещаем печать на этой ТПА if (comboBoxUser.Items.Count == 0) { AccessDenied(); } //А еееесли в списке только один чувак, его сразу и выберем if (comboBoxUser.Items.Count == 1) { comboBoxUser.SelectedIndex = 0; } } else { //Далее план такой: ищем в базе ключ, если его нет - уходим User user = Data.users.Find(u => u.Code == key.Code); if (user == null) { if (key.Code != "") { FormError err = new FormError(); err.ShowDialog(); } Close(); } else { comboBoxUser.SelectedItem = user.Name; //Если это упаковщик - замораживаем комбобокс и возможность выбрать номер if (user.Rule == 1) { comboBoxUser.Enabled = false; ThisAdmin = false; } buttonPrint.Visible = true; } } //Далее надо выяснить мелкие это коробки или крупные, и в зависимости от этого вывести второй нумератор if (Data.lines[NumMachine].AllowSelectCount()) { label2.Visible = true; textBoxCount.Visible = true; buttonCountDec.Visible = true; buttonCountInc.Visible = true; CountSelect = true; } DrawNum(); TimerStart(); //Делаем кнопки <,> видимыми, если это админ /*if (ThisAdmin) * { * buttonDec.Visible = true; * buttonMax.Visible = true; * }*/ }
private void FormPrint_Load(object sender, EventArgs e) { //Заполним комбобокс пользователями comboBoxUser.Items.Clear(); foreach (User u in Data.Users) comboBoxUser.Items.Add(u.Name); box = lab.CurrentNum; FormKey key = new FormKey(); key.ShowDialog(); if (key.Code == "") { //Маленько кривинько, но стираем сформированный список и заполняем его только гостями //Причём только теми, у кого есть доступ для этой ТПА comboBoxUser.Items.Clear(); foreach (User u in Data.Users) if (u.Code == "") if (Data.AccessControl) { if (u.TPAAccess[NumMachine]) comboBoxUser.Items.Add(u.Name); } else comboBoxUser.Items.Add(u.Name); ThisAdmin = false; //Ну а если список гостей пуст, значит запрещаем печать на этой ТПА if (comboBoxUser.Items.Count == 0) AccessDenied(); //А еееесли в списке только один чувак, его сразу и выберем if (comboBoxUser.Items.Count == 1) comboBoxUser.SelectedIndex = 0; } else { //Далее план такой: ищем в базе ключ, если его нет - уходим User user = Data.Users.Find(u => u.Code == key.Code); if (user == null) { if (key.Code != "") { FormError err = new FormError(); err.ShowDialog(); } Close(); } else { comboBoxUser.SelectedItem = user.Name; //Если это упаковщик - замораживаем комбобокс и возможность выбрать номер if (user.Rule == 1) { comboBoxUser.Enabled = false; ThisAdmin = false; } buttonPrint.Visible = true; } } //Далее надо выяснить мелкие это коробки или крупные, и в зависимости от этого вывести второй нумератор if (Data.Labels[NumMachine].AllowSelectCount()) { label2.Visible = true; textBoxCount.Visible = true; buttonCountDec.Visible = true; buttonCountInc.Visible = true; CountSelect = true; } DrawNum(); TimerStart(); //Делаем кнопки <,> видимыми, если это админ /*if (ThisAdmin) { buttonDec.Visible = true; buttonMax.Visible = true; }*/ }