Exemple #1
0
 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();
     }
 }
Exemple #2
0
 /// <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);
 }
Exemple #3
0
 /// <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));
 }
Exemple #4
0
 /// <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;
 }
Exemple #5
0
        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;
             * }*/
        }
Exemple #6
0
 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;
     }*/
 }