using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace veloprokat2
{
///
/// Логика взаимодействия для RedAdmTest.xaml
///
public partial class RedAdmTest : Window
{
List Alphabetrus = new List {
"А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й",
"К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф",
"Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я" };
List Date = new List {
"0","1","2","3","4","5","6","7","8","9","."};
List NumberPhone = new List {
"0","1","2","3","4","5","6","7","8","9"};
public RedAdmTest()
{
InitializeComponent();
}
public bool TestReg(string id, string login, string pass, string pass2, string lname, string fname, string mname, string email, string phone, string dr)
{
Id.Text = id;
Login.Text = login;
Pass.Password = pass;
Pass2.Password = pass2;
Lname.Text = lname;
Fname.Text = fname;
Mname.Text = mname;
Email.Text = email;
Phone.Text = phone;
Dr.Text = dr;
if(id != "" && login != "" && pass != "" && pass2 != "" && lname != "" && fname != "" && mname != "" && email != "" && phone != "" && dr != "")
{
bool ID = false, log = false, pas = false, pas2 = false, lnam = false, fnam = false, mnam = false, mail = false, phon = false, denroj = false;
{
for (int i = 0; i < id.Length; i++)
{
if (ID)
{
ID = false;
}
for (int j = 0; j < NumberPhone.Count; j++)
{
if (Convert.ToString(id[i]).Contains(NumberPhone[j]))
{
ID = true;
return true;
}
}
if (ID == false)
{
MessageBox.Show("Поле № администратора должно иметь только цифры");
return false;
}
}
for (int i = 0; i < login.Length; i++)
{
if (log)
{
log = false;
}
if (login[i] >= 'A' && login[i] <= 'Z' || login[i] >= 'a' && login[i] <= 'z')
{
log = true;
break;
}
if (log == false)
{
MessageBox.Show("Поле логин должно содержать английские символы");
return false;
}
}
for(int i = 0; i < pass.Length; i++)
{
if(pas)
{
pas = false;
}
if (pass[i] >= 'a' && pass[i] <= 'z' || pass[i] >= 'A' && pass[i] <= 'Z' || pass[i] >= '0' && pass[i] <= '9')
{
pas = true;
break;
}
if (pas == false)
{
MessageBox.Show("Поле пароль должно содержать только английские символы и цифры");
return false;
}
}
for (int i = 0; i < pass2.Length; i++)
{
if (pas2)
{
pas2 = false;
}
if (pass2[i] == pass[i])
{
pas2 = true;
break;
}
if (pas2 == false)
{
MessageBox.Show("Поле пароль должно содержать только английские символы и цифры");
return false;
}
}
for(int i = 0; i < lname.Length; i++)
{
if (lnam)
{
lnam = false;
}
for(int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(lname[i]).Contains(Alphabetrus[j]))
{
lnam = true;
break;
}
}
if (lnam == false)
{
MessageBox.Show("Поле фамилия должно содержать только русские символы");
return false;
}
}
for(int i = 0; i < fname.Length; i++)
{
if(fnam)
{
fnam = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(fname[i]).Contains(Alphabetrus[j]))
{
fnam = true;
break;
}
}
if (fnam == false)
{
MessageBox.Show("Поле имя должно содержать только русские символы");
return false;
}
}
for (int i = 0; i < mname.Length; i++)
{
if (mnam)
{
mnam = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(mname[i]).Contains(Alphabetrus[j]))
{
mnam = true;
break;
}
}
if (mnam == false)
{
MessageBox.Show("Поле отчетсво должно содержать только русские символы");
return false;
}
}
for (int i = 0; i < email.Length; i++)
{
if (mail)
{
mail = false;
}
if (email[i] >= 'A' && email[i] <= 'Z' || email[i] >= 'a' && email[i] <= 'z' || email.Contains("@") || email.Contains("."))
{
mail = true;
break;
}
if (mail == false)
{
MessageBox.Show("Поле E-mail должно содержать только английские символы символы");
return false;
}
}
for (int i = 0; i < phone.Length; i++)
{
if (phon)
{
phon = false;
}
for (int j = 0; j < NumberPhone.Count; j++)
{
if (Convert.ToString(phone[i]).Contains(NumberPhone[j]))
{
phon = true;
break;
}
}
if (phon == false)
{
MessageBox.Show("Поле номер телефона должно содержать только цифры");
return false;
}
}
for (int i = 0; i < dr.Length; i++)
{
if (denroj)
{
denroj = false;
}
for (int j = 0; j < Date.Count; j++)
{
if (Convert.ToString(dr[i]).Contains(Date[j]))
{
denroj = true;
break;
}
}
if (denroj == false)
{
MessageBox.Show("Поле дата должно содержать только цифры и знак '.'");
return false;
}
}
if (log && pas && pas2 && lnam && fnam && mnam && mail && phon && denroj)
{
DataTable InfoAdm = Insert("insert into [dbo].[InfoAdm] values " +
"('" + Login.Text + "','" + Pass.Password + "','" + Fname.Text +
"','" + Lname.Text + "','" + Mname.Text + "','" + Email.Text +
"','" + Phone.Text + "','" + Dr.Text + "')");
MessageBox.Show("Пользователь зарегистирован");
MainWindowAdm MWA = new MainWindowAdm();
MWA.Show();
Close();
return true;
}
else { MessageBox.Show("Неправильный формат"); return false; }
}
}
else { MessageBox.Show("Все строки должны быть заполнены "); return false; }
}
public DataTable Insert(string selectSQL) // функция подключения к базе данных и обработка запросов
{
DataTable dataTable = new DataTable("dataBase"); // создаём таблицу в приложении
// подключаемся к базе данных
SqlConnection sqlConnection = new SqlConnection("server=mssql;Trusted_Connection=Yes;DataBase=gr692_kaa;");
sqlConnection.Open(); // открываем базу данных
SqlCommand sqlCommand = sqlConnection.CreateCommand(); // создаём команду
sqlCommand.CommandText = selectSQL; // присваиваем команде текст
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); // создаём обработчик
sqlDataAdapter.Fill(dataTable); // возращаем таблицу с результатом
return dataTable;
}
private void Registraciya(object sender, RoutedEventArgs e)
{
}
private void Otmena(object sender, RoutedEventArgs e)
{
}
}
}