// Подключаемые библиотеки
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
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 Met_Fam
{
///
/// Логика взаимодействия для WindowReg.xaml
///
public partial class WindowReg : Window
{
Users users = new Users();
public User buffer;
public WindowReg()
{
InitializeComponent();
}
// Кнопка регистрации нового пользователя
private void Button_Click(object sender, RoutedEventArgs e)
{
List code = DataBase.BaseModel.User.ToList();
var lastItem = code.Last();
User user = new User()
{
ID_User = lastItem.ID_User + 1,
Surname_User = txtSuName.Text,
Name_User = txtName.Text,
Login_User = txtLogin.Text,
Password_User = txtPass.Password,
Phone_User = txtPhon.Text,
Address = txtAdres.Text,
ID_Role = 2,
};
// Регулярные выражения для ввода данных
Regex checkSurName = new Regex(@"^[А-я]+$");
Regex checkName = new Regex(@"^[А-я]+$");
Regex checkLogin = new Regex(@"\b\w{2,10}\b");
Regex checkPassword = new Regex(@"\b\w{2,10}\b");
Regex checkNumberPhone = new Regex("^((\\+?7|8))\\d{10}$");
// Проверка на соответствие регулярным выражениям
if (((!checkName.IsMatch(txtName.Text)) || (!checkSurName.IsMatch(txtSuName.Text)) || (!checkLogin.IsMatch(txtLogin.Text)) || (!checkPassword.IsMatch(txtPass.Password)) || (!checkNumberPhone.IsMatch(txtPhon.Text))))
{
MessageBox.Show("Ошибка ввода");
}
// Проверка на повторение данных
else
{
bool u = true;
foreach (var item in code)
{
if (txtLogin.Text == item.Login_User)
{
u = false;
MessageBox.Show("Такой пользователь уже существует");
break;
}
}
if (u)
{
// Добавление нового пользователя, сохранение изменений в БД, переход в магазин
try
{
DataBase.BaseModel.User.Add(user);
DataBase.BaseModel.SaveChanges();
DataBase.BaseModel = new MFSystemEntities();
new WindowShop(user).Show();
this.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
}