| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.ComponentModel;
 
- using System.Data;
 
- using System.Drawing;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- using DLLPass;
 
- namespace СУБД_Швейная_фабрика
 
- {
 
-     public partial class FormAuthorization : Form
 
-     {
 
-         public FormAuthorization()
 
-         {
 
-             InitializeComponent();
 
-         }
 
-         // public static string TxtCon = @"Data Source=213.155.192.79,3002;Initial Catalog=fab2021;Persist Security Info=True;User ID=fab2021;Password=fab2021";
 
-         /// <summary>
 
-         /// Генерация капчи из 4-х символов
 
-         /// </summary>
 
-         /// <returns>Возвращает сгенерированную капчу</returns>
 
-         string GetCapcha()
 
-         {
 
-             string TxtLetter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
-             string TxtDigit = "0123456789";
 
-             string t1 = TxtLetter + TxtDigit;
 
-             string capcha = "";
 
-             bool FlagDigit = false;
 
-             Random rnd = new Random();
 
-             for(int i = 1; i <= 3; i++)
 
-             {
 
-                 // взять символ из строки с символами для капчи
 
-                 char sim = t1[rnd.Next(t1.Length)];
 
-                 // если символ - цифра, запомнить это
 
-                 if (char.IsDigit(sim)) FlagDigit = true;
 
-                 capcha += sim;  // добавить символ к капче
 
-             }
 
-             if (FlagDigit == false)
 
-                 capcha += TxtDigit[rnd.Next(TxtDigit.Length)];
 
-             else
 
-                 capcha += TxtLetter[rnd.Next(TxtLetter.Length)];
 
-             return capcha;
 
-         }
 
-         private void FormAuthorization_Load(object sender, EventArgs e)
 
-         {
 
-             // TODO: This line of code loads data into the 'fab2021DataSet1.Users' table. You can move, or remove it, as needed.
 
-             this.usersTableAdapter.Fill(this.fab2021DataSet1.Users);
 
-             CmbRole.SelectedIndex = 0;
 
-             LblCapcha.Text = GetCapcha();
 
-         }
 
-         /// <summary>
 
-         /// Авторизация пользователя
 
-         /// </summary>
 
-         private void BtnLogin_Click(object sender, EventArgs e)
 
-         {
 
-             //if (TbxCapcha.Text.ToUpper() != LblCapcha.Text)
 
-             //{
 
-             //    MessageBox.Show("Символы капчи введены неверно!\nПопробуйте еще раз.");
 
-             //    LblCapcha.Text = GetCapcha();
 
-             //    TbxCapcha.Clear();
 
-             //    return;
 
-             //}
 
-             
 
-             // роль пользователя (считывается из ComboBox)
 
-             string role = CmbRole.SelectedItem.ToString();
 
-             // фильтр для таблицы Пользователи
 
-             string TxtFilter = String.Format("login = '{0}' and pass = '{1}' and role = '{2}'", TbxLogin.Text, TbxPass.Text, role);
 
-             // логин для передачи на рабочее место
 
-             string TxtFilterForUser = string.Format("login = '{0}'", TbxLogin.Text);
 
-             BsUsers.Filter = TxtFilter;  // включить фильтр
 
-             if (BsUsers.Count == 0)
 
-             {
 
-                 MessageBox.Show(String.Format("Нет пользователя '{0}' с указанным логином и паролем!", role));
 
-                 return;
 
-             }
 
-             TbxLogin.Clear(); TbxPass.Clear(); // очистить поля
 
-             this.Visible = false;  // скрыть форму для авторизации
 
-             if (role == "заказчик")
 
-             {
 
-                 // создать форму для заказчика
 
-                 FormZakazchik frm = new FormZakazchik();
 
-                 // отфильтровать авторизовавшегося пользователя
 
-                 frm.BsUsers.Filter = TxtFilterForUser;
 
-                 frm.ShowDialog();
 
-             }
 
-             if (role == "менеджер")
 
-             {
 
-                 // создать форму для менеджера
 
-                 FormManager frm = new FormManager();
 
-                 // отфильтровать авторизовавшегося пользователя
 
-                 frm.BsUsers.Filter = TxtFilterForUser;
 
-                 frm.ShowDialog();
 
-             }
 
-             if (role == "кладовщик")
 
-             {
 
-                 // создать форму для кладовщика
 
-                 FormKladovschik frm = new FormKladovschik();
 
-                 // отфильтровать авторизовавшегося пользователя
 
-                 frm.BsUsers.Filter = TxtFilterForUser;
 
-                 frm.ShowDialog();
 
-             }
 
-             this.Visible = true;  // показать форму для авторизации
 
-             // загрузить обновленные записи из БД
 
-             this.usersTableAdapter.Fill(this.fab2021DataSet1.Users);
 
-             TbxLogin.Focus();
 
-             TbxCapcha.Clear();
 
-             LblCapcha.Text = GetCapcha();
 
-         }
 
-         /// <summary>
 
-         /// Скрыть/показать пароль
 
-         /// </summary>
 
-         private void CbxShowPass_CheckedChanged(object sender, EventArgs e)
 
-         {
 
-             TbxPass.UseSystemPasswordChar = !TbxPass.UseSystemPasswordChar;
 
-         }
 
-         /// <summary>
 
-         /// Изображение случайных линий поверх капчи
 
-         /// </summary>
 
-         private void LblCapcha_Paint(object sender, PaintEventArgs e)
 
-         {
 
-             // массив цветов
 
-             Color[] colors = { Color.Green, Color.Black, Color.Yellow, Color.White };
 
-             Random rnd = new Random();
 
-             // изобразить от 5 до 10 линий
 
-             for (int i = 1; i <= rnd.Next(5, 11); i++)
 
-             {
 
-                 // координаты начала и конца отрезка
 
-                 int x1 = rnd.Next(LblCapcha.Width);
 
-                 int y1 = rnd.Next(LblCapcha.Height);
 
-                 int x2 = rnd.Next(LblCapcha.Width);
 
-                 int y2 = rnd.Next(LblCapcha.Height);
 
-                 // случайный цвет из массива цветов
 
-                 Color col = colors[rnd.Next(colors.Length)];
 
-                 // нарисовать линию на метке Label
 
-                 e.Graphics.DrawLine(new Pen(col), x1, y1, x2, y2);
 
-             }
 
-         }
 
-         private void LblReg_Click(object sender, EventArgs e)
 
-         {
 
-             FormReg frm = new FormReg();
 
-             if (frm.ShowDialog() == DialogResult.OK)
 
-                 this.usersTableAdapter.Fill(this.fab2021DataSet1.Users);
 
-         }
 
-     }
 
- }
 
 
  |