/// <summary> /// Добавление нового пользователя /// </summary> /// <param name="Rule"></param> public static void AddNewUser(string Rule) { string name = ""; string code = ""; if (isTerminal) { FormKeyboardLetter keyboard = new FormKeyboardLetter("Введите имя пользователя"); if (keyboard.ShowDialog() == DialogResult.Cancel) { return; } //Добавление нового пользователя name = keyboard.Str; //Добавление ключа (пока только на машине) FormKey key = new FormKey(); key.ShowDialog(); code = key.Code; } else { FormInput input = new FormInput("Введите имя пользователя"); if (input.ShowDialog() == DialogResult.Cancel) { return; } name = input.Str; } users.Add(new User(name, code, Rule)); users.Sort((a, b) => a.Name.CompareTo(b.Name)); }
private void buttonSetKey_Click(object sender, EventArgs e) { FormKey key = new FormKey(); key.ShowDialog(); if (key.Code != "") { Data.Users[listView1.SelectedIndices[0]].Code = key.Code; DrawList(); } }
private void buttonSetKey_Click(object sender, EventArgs e) { FormKey key = new FormKey(); key.ShowDialog(); if (key.Code != "") { Data.users[listView1.SelectedIndices[0]].Code = key.Code; DrawList(); } }
/// <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="Rule"></param> public static void AddNewUser(string Rule) { string name = ""; string code = ""; if (IsMachine) { FormKeyboardLetter keyboard = new FormKeyboardLetter("Введите имя пользователя"); if (keyboard.ShowDialog() == DialogResult.Cancel) return; //Добавление нового пользователя name = keyboard.Str; //Добавление ключа (пока только на машине) FormKey key = new FormKey(); key.ShowDialog(); code = key.Code; } else { FormInput input = new FormInput("Введите имя пользователя"); if (input.ShowDialog() == DialogResult.Cancel) return; name = input.Str; } Users.Add(new User(name, code, Rule, "00000000")); Users.Sort((a,b) => a.Name.CompareTo(b.Name)); }
/// <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; }*/ }