123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Data.SqlClient;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Демо
- {
- public partial class Авторизация : Form
- {
- int i = 0;
- string text;
- public Авторизация()
- {
- InitializeComponent();
- KapchVod.Visible = false;
- Capch.Visible = false;
- }
- private Bitmap CreateImage(int Width, int Height)
- {
- Random rnd = new Random();
- //Создадим изображение
- Bitmap result = new Bitmap(Width, Height);
- //Добавим различные углы поворота текста
- Int16[] rotate = { 1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, -6 };
- //Укажем где рисовать
- Graphics g = Graphics.FromImage((Image)result);
- //Пусть фон картинки будет серым
- g.Clear(Color.Gray);
- //Делаем случайный угол поворота текста
- g.RotateTransform(rnd.Next(rotate.Length));
- //Генерируем текст
- text = String.Empty;
- string ALF = "1234567890QWERTYUIOPASDFGHJKLZXCVBNM";
- for (int i = 0; i < 5; ++i)
- text += ALF[rnd.Next(ALF.Length)];
- //Нарисуем сгенирируемый текст
- g.DrawString(text,
- new Font("Arial", 25, FontStyle.Bold),
- Brushes.Pink,
- new PointF(10, 10));
- //Добавим немного помех
- //Линии из углов
- g.DrawLine(Pens.Black,
- new Point(0, 0),
- new Point(Width - 1, Height - 1));
- g.DrawLine(Pens.Black,
- new Point(0, Height - 1),
- new Point(Width - 1, 0));
- //Белые точки
- for (int i = 0; i < Width; ++i)
- for (int j = 0; j < Height; ++j)
- if (rnd.Next() % 20 == 0)
- result.SetPixel(i, j, Color.White);
- return result;
- }
- private void roleBtn_Click(object sender, EventArgs e)
- {
- if (i == 0)
- {
- Capch.Visible = false;
- KapchVod.Visible = false;
- kodLab.Visible = true;
- kodText.Visible = true;
- roleBtn.Text = "Войти как клиент";
- i++;
- }
- else
- {
- Capch.Visible = false;
- KapchVod.Visible = false;
- kodText.Visible = false;
- kodLab.Visible = false;
- roleBtn.Text = "Войти как администратор";
- i = 0;
- }
- }
- private void enterBtn_Click(object sender, EventArgs e)
- {
- SqlConnection cn;
- Program.conn(out cn);
- SqlCommand cmd = cn.CreateCommand();
- int ex = 0;
-
- if (i == 0)
- {
- cmd.CommandText = "select count(*) from Клиенты where Email = \'" + mailText.Text + "\'";
- ex = Convert.ToInt32(cmd.ExecuteScalar());
- if ((ex > 0) && (capcha.Checked == true) && (KapchVod.Text == this.text))
- {
- this.Close();
- Program.mainf = new Каталог();
- }
- else
- {
- roleBtn.Visible = false;
- pictureBox1.Image = this.CreateImage(pictureBox1.Width, pictureBox1.Height);
- KapchVod.Visible = true;
- Capch.Visible = true;
- kodText.Text = "";
- KapchVod.Text = "";
- }
- }
- else
- {
- cmd.CommandText = "select count(*) from Администраторы where Почта = \'" + mailText.Text + "\'";
- ex = Convert.ToInt32(cmd.ExecuteScalar());
- if ((ex > 0) && (kodText.Text.Equals("0000")) && ((capcha.Checked == true)) && (KapchVod.Text == this.text))
- {
- this.Close();
- Program.mainf = new Каталог();
- }
- else
- {
- roleBtn.Visible = false;
- pictureBox1.Image = this.CreateImage(pictureBox1.Width, pictureBox1.Height);
- KapchVod.Visible = true;
- Capch.Visible = true;
- kodText.Text = "";
- KapchVod.Text = "";
- }
- }
- }
- private void Авторизация_FormClosing(object sender, FormClosingEventArgs e)
- {
- Program.mainf = null;
- }
- }
- }
|