using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity.Validation;
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
{
///
/// Логика взаимодействия для regadm.xaml
///
public partial class regadm : 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"};
VeloprokatEntities db;
public regadm()
{
InitializeComponent();
db = new VeloprokatEntities();
}
private void Otmena(object sender, RoutedEventArgs e)
{
MainWindowAdm MWA = new MainWindowAdm();
MWA.Show();
Close();
}
public DataTable Insert(string selectSQL) // функция подключения к базе данных и обработка запросов
{
DataTable dataTable = new DataTable("dataBase"); // создаём таблицу в приложении
// подключаемся к базе данных
SqlConnection sqlConnection = new SqlConnection("server=DESKTOP-9UG7OCA;Trusted_Connection=Yes;DataBase=Veloprokat;");
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)
{
if (Login.Text != "" && Pass.Password != "" && Pass2.Password != "" && Lname.Text != "" && Fname.Text != "" && Mname.Text != "" && Email.Text != "" && Phone.Text != "" && Dr.Text != "")
{
bool fam = false, imya = false, otch = false, data = false, num = false;
bool email = false, login = false, pas1 = false, pas2 = false;
for (int i = 0; i < Login.Text.Length; i++)//проверка логина
{
if (login)
{
login = false;
}
if (Login.Text[i] >= 'A' && Login.Text[i] <= 'Z' || Login.Text[i] >= 'a' && Login.Text[i] <= 'z')
{
login = true;
break;
}
if (login == false)
{
MessageBox.Show("Поле логин должно содержать только английские символы");
break;
}
}
for (int i = 0; i < Pass.Password.Length; i++)//проверка пароля(англ символы)
{
if (pas1)
{
pas1 = false;
}
if (Pass.Password[i] >= 'a' && Pass.Password[i] <= 'z' || Pass.Password[i] >= 'A' && Pass.Password[i] <= 'Z' || Pass.Password[i] >= '0' && Pass.Password[i] <= '9')
{
pas1 = true;
break;
}
if (pas1 == false)
{
MessageBox.Show("Поле пароль должно содержать только английские символы и цифры");
break;
}
}
for (int i = 0; i < Pass2.Password.Length; i++)//проверка подтверждения пароля
{
if (pas2)
{
pas2 = false;
}
if (Pass2.Password[i] == Pass2.Password[i])
{
pas2 = true;
break;
}
if (pas2 == false)
{
MessageBox.Show("Пароль не совпадает или вы не ввели его");
break;
}
}
for (int i = 0; i < Lname.Text.Length; i++)//проверка фамилии
{
if (fam)
{
fam = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(Lname.Text[i]).Contains(Alphabetrus[j]))
{
fam = true;
break;
}
}
if (fam == false)
{
MessageBox.Show("Поле фамилия должно содержать только русские символы");
break;
}
}
for (int i = 0; i < Fname.Text.Length; i++)//проверка имени
{
if (imya)
{
imya = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(Fname.Text[i]).Contains(Alphabetrus[j]))
{
imya = true;
break;
}
}
if (imya == false)
{
MessageBox.Show("Поле имя должно содержать только русские символы");
break;
}
}
for (int i = 0; i < Mname.Text.Length; i++)//проверка отчества
{
if (otch)
{
otch = false;
}
for (int j = 0; j < Alphabetrus.Count; j++)
{
if (Convert.ToString(Mname.Text[i]).Contains(Alphabetrus[j]))
{
otch = true;
break;
}
}
if (otch == false)
{
MessageBox.Show("Поле отчество должно содержать только русские символы");
break;
}
}
for (int i = 0; i < Email.Text.Length; i++)//проверка почту
{
if (email)
{
email = false;
}
if (Email.Text[i] >= 'A' && Email.Text[i] <= 'Z' || Email.Text[i] >= 'a' && Email.Text[i] <= 'z' || Email.Text.Contains("@") || Email.Text.Contains("."))
{
email = true;
break;
}
if (email == false)
{
MessageBox.Show("Поле электронная почта должно содержать только английские символы и знаки '@' и '.'");
break;
}
}
for (int i = 0; i < Phone.Text.Length; i++)//проверка номера телефона
{
if (num)
{
num = false;
}
for (int j = 0; j < NumberPhone.Count; j++)
{
if (Convert.ToString(Phone.Text[i]).Contains(NumberPhone[j]))
{
num = true;
break;
}
}
if (num == false)
{
MessageBox.Show("Поле номер телефона должно содержать только цифры (без знака + и 11 цифр)");
break;
}
}
for (int i = 0; i < Dr.Text.Length; i++)//проверка даты рождения
{
if (data)
{
data = false;
}
for (int j = 0; j < Date.Count; j++)
{
if (Convert.ToString(Dr.Text[i]).Contains(Date[j]))
{
data = true;
break;
}
}
if (data == false)
{
MessageBox.Show("Поле дата рождения должно содержать только цифры и знак '.''");
break;
}
}
if (fam && imya && otch && data && num && email && login && pas1 && pas2)
{
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();
}
else { MessageBox.Show("Неправильный формат"); }
}
else { MessageBox.Show("Все строки должны быть заполнены"); }
}
/*string login = Login.Text.Trim();
string pass = Pass.Password.Trim();
string pass2 = Pass2.Password.Trim();
string fname = Fname.Text.Trim();
string lname = Lname.Text.Trim();
string mname = Mname.Text.Trim();
string dr = Dr.Text.Trim();
string email = Email.Text.ToLower().Trim();
string phone = Phone.Text.Trim();
InfoAdm newInfoAdm = new InfoAdm()
{
Login = Login.Text,
Password = Pass.Password,
LName = Lname.Text,
FName = Fname.Text,
MName = Mname.Text,
Dr = Dr.SelectedDate,
Email = Email.Text,
Phone = Phone.Text
};
int count = 0;
if (login.Length < 5)
{
Login.ToolTip = "Логин не должен быть меньше 5-ти символов";
Login.Background = Brushes.DarkRed;
count += 1;
}
else if (pass.Length < 5)
{
Pass.ToolTip = "Пароль не должен быть меньше 5-ти символов";
Pass.Background = Brushes.DarkRed;
count += 1;
}
else if (pass != pass2)
{
Pass2.ToolTip = "Пароль не должен быть меньше 5-ти символов";
Pass2.Background = Brushes.DarkRed;
count += 1;
}
else if (lname.Length < 2)
{
Pass.ToolTip = "Фамилия не должна быть меньше 2-х символов";
Pass.Background = Brushes.DarkRed;
count += 1;
}
else if (fname.Length < 2)
{
Pass.ToolTip = "Имя не должно быть меньше 2-х символов";
Pass.Background = Brushes.DarkRed;
count += 1;
}
else if(mname.Length < 5)
{
Pass.ToolTip = "Отчество не должно быть меньше 5-ти символов";
Pass.Background = Brushes.DarkRed;
count += 1;
}
else if(Dr.Text.Length==0)
{
Dr.ToolTip = "Дата введена не коректно";
Dr.Background = Brushes.Gray;
count += 1;
}
else if (email.Length < 5 || !email.Contains("@") || !email.Contains("."))
{
Email.ToolTip = "Пароль не должен быть меньше 5-ти символов";
Email.Background = Brushes.DarkRed;
count += 1;
}
else if(phone.Length <= 10)
{
Pass.ToolTip = "Номер телефона не должнен быть меньше 11-ти символов";
Pass.Background = Brushes.DarkRed;
count += 1;
}
else if (db.InfoRab.Select(item => item.Login).Contains(Login.Text))
{
MessageBox.Show("Такой логин уже существует в системе");
count += 1;
}
if (count > 10 && count < 0)
{
MessageBox.Show("Заполните данные коректно");
count = 0;
}
else if (count < 0)
{
db.InfoAdm.Add(newInfoAdm);
db.SaveChanges();
MessageBox.Show("Вы успешно зарегестрировались");
Auth au = new Auth();
au.Show();
Close();
}*/
}
}