public void EditCurrentUserTelephone() { RefreshContext(); var receivedTelephone = (string)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (!String.IsNullOrEmpty(receivedTelephone)) { if (receivedTelephone.Length != 13 || !Regex.IsMatch(receivedTelephone, "^\\+[0-9]*$")) { Session.SendErrorMessage("Неверный формат номера!"); return; } } else { receivedTelephone = null; } CurrentUser.Telephone = receivedTelephone; AutodealersContext.Update(CurrentUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Delete() { RefreshContext(); var receivedUser = (User)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var deleteUser = AutodealersContext.User.FirstOrDefault(u => u.UserId == receivedUser.UserId); if (deleteUser != null) { if (deleteUser.UserId == CurrentUser.UserId && deleteUser.SuperUser) { Session.SendErrorMessage("Невозможно удалить текущего администратора. Сделайте это через другого адмнинистратора."); } else { var deals = AutodealersContext.Deal.Where(d => d.UserId == deleteUser.UserId).ToList(); foreach (var d in deals) { var admin = AutodealersContext.User.ToList().FirstOrDefault(u => u.SuperUser); if (admin != null) { d.UserId = admin.UserId; } } AutodealersContext.User.Remove(deleteUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } } else { Session.SendErrorMessage("Пользователь не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void EditCurrentUserSurname() { RefreshContext(); var receivedSurname = (string)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (!String.IsNullOrEmpty(receivedSurname)) { if (receivedSurname.Length < 2) { Session.SendErrorMessage("Фамилия должна иметь минимум 2 символа!"); return; } if (receivedSurname.Length > 20) { Session.SendErrorMessage("Фамилия должна иметь максимум 20 символов!"); return; } if (!Regex.IsMatch(receivedSurname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Фамилия содержит недопустимые символы!"); return; } receivedSurname = Char.ToUpper(receivedSurname[0]) + receivedSurname.Substring(1); } else { receivedSurname = null; } CurrentUser.Surname = receivedSurname; AutodealersContext.Update(CurrentUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void BuyCar() { RefreshContext(); var receivedCar = (Car)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (receivedCar != null) { var boughtCar = AutodealersContext.Car.FirstOrDefault(c => c.CarId == receivedCar.CarId); if (boughtCar != null) { var deal = new Deal(); deal.CarId = boughtCar.CarId; deal.Amount = boughtCar.Price; deal.UserId = Session.UserController.CurrentUser.UserId; boughtCar.IsSold = true; AutodealersContext.Deal.Add(deal); AutodealersContext.SaveChanges(); Session.SendSuccessfulMessage("Вы успешно приобрели автомобиль!"); } else { Session.SendErrorMessage("Автомобиль не найден!"); } } else { Session.SendErrorMessage("Ошибка получения!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void BanUnbanUser() { RefreshContext(); var receivedUser = (User)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var banUnbanUser = AutodealersContext.User.FirstOrDefault(u => u.UserId == receivedUser.UserId); if (banUnbanUser != null) { if (banUnbanUser.UserId == CurrentUser.UserId && banUnbanUser.SuperUser) { Session.SendErrorMessage("Невозможно заблокировать текущего администратора. Сделайте это через другого адмнистратора."); } else { banUnbanUser.BanStatus = !banUnbanUser.BanStatus; AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } } else { Session.SendErrorMessage("Пользователь не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Delete() { RefreshContext(); var receivedAutodealer = (Autodealer)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var deleteAutodealer = AutodealersContext.Autodealer.FirstOrDefault(a => a.AutodealerId == receivedAutodealer.AutodealerId); if (deleteAutodealer != null) { if (deleteAutodealer.AutodealerId != CurrentAutodealer.AutodealerId) { AutodealersContext.Autodealer.Remove(deleteAutodealer); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Невозможно удалить текущий автосалон!"); } } else { Session.SendErrorMessage("Пользователь не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void EditCurrentUserPassword() { RefreshContext(); var receivedPassword = (string)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (receivedPassword.Length < 8) { Session.SendErrorMessage("Пароль должен состоять минимум из 8 символов!"); return; } if (receivedPassword.Length > 20) { Session.SendErrorMessage("Пароль должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(receivedPassword, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Пароль содержит недопустимые символы!"); return; } CurrentUser.Password = receivedPassword; AutodealersContext.Update(CurrentUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Delete() { RefreshContext(); var receivedCar = (Car)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var deleteCar = AutodealersContext.Car.FirstOrDefault(c => c.CarId == receivedCar.CarId); if (deleteCar != null) { AutodealersContext.Car.Remove(deleteCar); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Автомобиль не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Edit() { RefreshContext(); var receivedCar = (Car)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var editCar = AutodealersContext.Car.FirstOrDefault(c => c.CarId == receivedCar.CarId); if (editCar != null) { if (String.IsNullOrEmpty(receivedCar.Brand)) { Session.SendErrorMessage("Марка не установлена!"); return; } if (!Regex.IsMatch(receivedCar.Brand, "^[A-Za-zА-Яа-я- ]+$")) { Session.SendErrorMessage("Марка введена некорректно!"); return; } if (receivedCar.Brand.Length > 30) { Session.SendErrorMessage("Марка должна состоять максимум из 30 символов!"); return; } if (String.IsNullOrEmpty(receivedCar.Model)) { Session.SendErrorMessage("Модель не установлена!"); return; } if (!Regex.IsMatch(receivedCar.Model, "^[A-Za-zА-Яа-я0-9- ]+$")) { Session.SendErrorMessage("Модель введена некорректно!"); return; } if (receivedCar.Model.Length > 30) { Session.SendErrorMessage("Модель должна состоять максимум из 30 символов!"); return; } if (receivedCar.BodyType == 0) { Session.SendErrorMessage("Тип кузова не выбран!"); return; } if (receivedCar.EngineType == 0) { Session.SendErrorMessage("Тип двигателя не выбран!"); return; } if (receivedCar.TransmissionType == 0) { Session.SendErrorMessage("Тип КПП не выбран!"); return; } if (receivedCar.WheelDriveType == 0) { Session.SendErrorMessage("Тип привода не выбран!"); return; } if (receivedCar.BodyColor == 0) { Session.SendErrorMessage("Цвет кузова не выбран!"); return; } if (receivedCar.InteriorMaterial == 0) { Session.SendErrorMessage("Материал салона не выбран!"); return; } if (receivedCar.InteriorColor == 0) { Session.SendErrorMessage("Цвет салона не выбран!"); return; } if (receivedCar.Price < 1) { Session.SendErrorMessage("Цена должна быть больше нуля!"); return; } editCar.Model = receivedCar.Model; editCar.YearOfIssue = receivedCar.YearOfIssue; editCar.BodyType = receivedCar.BodyType; editCar.EngineVolume = receivedCar.EngineVolume; editCar.EngineType = receivedCar.EngineType; editCar.TransmissionType = receivedCar.TransmissionType; editCar.WheelDriveType = receivedCar.WheelDriveType; editCar.Mileage = receivedCar.Mileage; editCar.BodyColor = receivedCar.BodyColor; editCar.InteriorMaterial = receivedCar.InteriorMaterial; editCar.InteriorColor = receivedCar.InteriorColor; editCar.Price = receivedCar.Price; editCar.Brand = Char.ToUpper(receivedCar.Brand[0]) + receivedCar.Brand.Substring(1); editCar.Model = Char.ToUpper(receivedCar.Model[0]) + receivedCar.Model.Substring(1); editCar.AllowanceOrDiscount = editCar.Price * CalcuateOdd(); editCar.Price += editCar.AllowanceOrDiscount; AutodealersContext.Car.Update(editCar); AutodealersContext.SaveChanges(); Session.SendSuccessfulMessage($"Надбавка к цене - {editCar.AllowanceOrDiscount.ToString("C", CultureInfo.CreateSpecificCulture("en-US"))}\nОкончательная цена - {editCar.Price.ToString("C", CultureInfo.CreateSpecificCulture("en-US"))}"); } else { Session.SendErrorMessage("Автомобиль не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Edit() { RefreshContext(); var receivedAutodealer = (Autodealer)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var editAutodealer = AutodealersContext.Autodealer.FirstOrDefault(a => a.AutodealerId == receivedAutodealer.AutodealerId); if (editAutodealer != null) { if (!Regex.IsMatch(receivedAutodealer.Title, "^[A-Za-zА-Яа-я0-9 ]+$")) { Session.SendErrorMessage("Название введено некорректно!"); return; } if (receivedAutodealer.Title.Length > 100) { Session.SendErrorMessage("Название автосалона должно состоять максимум из 100 символов!"); return; } if (!Regex.IsMatch(receivedAutodealer.City, "^[A-Za-zА-Яа-я]+$")) { Session.SendErrorMessage("Город введен некорректно!"); return; } if (receivedAutodealer.City.Length > 50) { Session.SendErrorMessage("Название города должно состоять максимум из 50 символов!"); return; } if (receivedAutodealer.Address != "") { if (!Regex.IsMatch(receivedAutodealer.Address, "^[A-Za-zА-Яа-я0-9 .,]+$")) { Session.SendErrorMessage("Адрес введен некорректно!"); return; } if (receivedAutodealer.Address.Length > 50) { Session.SendErrorMessage("Адрес должен состоять максимум из 50 символов!"); return; } } else { receivedAutodealer.Address = null; } editAutodealer.Title = receivedAutodealer.Title; editAutodealer.WorkingHours = receivedAutodealer.WorkingHours; editAutodealer.City = receivedAutodealer.City; editAutodealer.Address = receivedAutodealer.Address; AutodealersContext.Autodealer.Update(editAutodealer); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Автосалон не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Add() { RefreshContext(); var receivedAutodealer = (Autodealer)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { if (Session.AutodealerController.CurrentAutodealer != null) { if (receivedAutodealer != null) { if (!Regex.IsMatch(receivedAutodealer.Title, "^[A-Za-zА-Яа-я0-9 -]+$")) { Session.SendErrorMessage("Название введено некорректно!"); return; } if (receivedAutodealer.Title.Length > 100) { Session.SendErrorMessage("Название автосалона должно состоять максимум из 100 символов!"); return; } if (!Regex.IsMatch(receivedAutodealer.City, "^[A-Za-zА-Яа-я]+$")) { Session.SendErrorMessage("Город введен некорректно!"); return; } if (receivedAutodealer.City.Length > 50) { Session.SendErrorMessage("Название города должно состоять максимум из 50 символов!"); return; } if (receivedAutodealer.Address != "") { if (!Regex.IsMatch(receivedAutodealer.Address, "^[A-Za-zА-Яа-я0-9 .,-]+$")) { Session.SendErrorMessage("Адрес введен некорректно!"); return; } if (receivedAutodealer.Address.Length > 50) { Session.SendErrorMessage("Адрес должен состоять максимум из 50 символов!"); return; } } else { receivedAutodealer.Address = null; } var autodealer = new Autodealer { Title = receivedAutodealer.Title, WorkingHours = receivedAutodealer.WorkingHours, City = receivedAutodealer.City, Address = receivedAutodealer.Address }; AutodealersContext.Autodealer.Add(autodealer); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); AutodealersContext.Statistics.Add(new Statistics { AutodealerId = autodealer.AutodealerId, Month = (Month)DateTime.Now.Month, Year = DateTime.Now.Year }); AutodealersContext.SaveChanges(); } else { Session.SendErrorMessage("Сделка не найдена!"); } } else { Session.SendErrorMessage("Автосалон не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
//TODO Переделать регистрацию public void Register() { RefreshContext(); string username = (string)_BinaryFormatter.Deserialize(_NetworkStream); string password = (string)_BinaryFormatter.Deserialize(_NetworkStream); string firstname = (string)_BinaryFormatter.Deserialize(_NetworkStream); string surname = (string)_BinaryFormatter.Deserialize(_NetworkStream); string telephone = (string)_BinaryFormatter.Deserialize(_NetworkStream); var user = AutodealersContext.User.FirstOrDefault(u => u.Username == username); if (user != null) { Session.SendErrorMessage("Пользователь с таким логином уже существует!"); return; } if (username.Length < 5) { Session.SendErrorMessage("Логин должен состоять минимум из 5 символов!"); return; } if (username.Length > 20) { Session.SendErrorMessage("Логин должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(username, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Логин содержит недопустимые символы!"); return; } if (password.Length < 8) { Session.SendErrorMessage("Пароль должен состоять минимум из 8 символов!"); return; } if (password.Length > 20) { Session.SendErrorMessage("Пароль должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(password, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Пароль содержит недопустимые символы!"); return; } if (firstname != "Имя") { if (firstname.Length < 2) { Session.SendErrorMessage("Имя должно состоять минимум из 2 символов!"); return; } if (firstname.Length > 20) { Session.SendErrorMessage("Имя должно состоять максимум из 20 символов"); return; } if (!Regex.IsMatch(firstname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Имя содержит недопустимые символы!"); return; } } else { firstname = null; } if (surname != "Фамилия") { if (surname.Length < 2) { Session.SendErrorMessage("Фамилия должна состоять минимум из 2 символов!"); return; } if (surname.Length > 20) { Session.SendErrorMessage("Фамилия должна состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(surname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Фамилия содержит недопустимые символы!"); return; } } else { surname = null; } if (telephone != "Телефон") { if (telephone.Length != 13 || !Regex.IsMatch(telephone, "^\\+[0-9]*$")) { Session.SendErrorMessage("Неверный формат номера!"); return; } } else { telephone = null; } user = new User { Username = username, Password = password, Firstname = firstname, Surname = surname, Telephone = telephone }; AutodealersContext.User.Add(user); AutodealersContext.SaveChanges(); Session.SendSuccessfulMessage("Вы успешно зарегистрировались!"); RefreshContext(); }
public void Edit() { RefreshContext(); var receivedUser = (User)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var editUser = AutodealersContext.User.FirstOrDefault(u => u.UserId == receivedUser.UserId); if (editUser != null) { if (editUser.UserId == CurrentUser.UserId && editUser.SuperUser != receivedUser.SuperUser) { Session.SendErrorMessage("Не возможно изменить права самому себе. Сделайте это через другого администратора!"); } else if (editUser.UserId == CurrentUser.UserId && editUser.BanStatus != receivedUser.BanStatus) { Session.SendErrorMessage("Не возможно заблокировать самого себя. Сделайте это через другого администратора!"); } else { if (editUser.Username != receivedUser.Username) { var user = AutodealersContext.User.FirstOrDefault(u => u.Username == receivedUser.Username); if (user != null) { Session.SendErrorMessage("Пользователь с таким логином уже существует!"); return; } } if (receivedUser.Username.Length < 5) { Session.SendErrorMessage("Логин должен состоять минимум из 5 символов!"); return; } if (receivedUser.Username.Length > 20) { Session.SendErrorMessage("Логин должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(receivedUser.Username, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Логин содержит недопустимые символы!"); return; } if (receivedUser.Password.Length < 8) { Session.SendErrorMessage("Пароль должен состоять минимум из 8 символов!"); return; } if (receivedUser.Password.Length > 20) { Session.SendErrorMessage("Пароль должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(receivedUser.Password, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Пароль содержит недопустимые символы!"); return; } if (!String.IsNullOrEmpty(receivedUser.Firstname)) { if (receivedUser.Firstname.Length < 2) { Session.SendErrorMessage("Имя должно состоять минимум из 2 символов!"); return; } if (receivedUser.Firstname.Length > 20) { Session.SendErrorMessage("Имя должно состоять максимум из 20 символов!"); } if (!Regex.IsMatch(receivedUser.Firstname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Имя содержит недопустимые символы!"); return; } } else { receivedUser.Firstname = null; } if (!String.IsNullOrEmpty(receivedUser.Surname)) { if (receivedUser.Surname.Length < 2) { Session.SendErrorMessage("Фамилия должна состоять минимум из 2 символов!"); return; } if (receivedUser.Surname.Length > 20) { Session.SendErrorMessage("Фамилия должна состоять максимум из 20 символов!"); } if (!Regex.IsMatch(receivedUser.Surname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Фамилия содержит недопустимые символы!"); return; } } else { receivedUser.Surname = null; } if (!String.IsNullOrEmpty(receivedUser.Telephone)) { if (receivedUser.Telephone.Length != 13 || !Regex.IsMatch(receivedUser.Telephone, "^\\+[0-9]*$")) { Session.SendErrorMessage("Неверный формат номера!"); return; } } else { receivedUser.Telephone = null; } editUser.Username = receivedUser.Username; editUser.Password = receivedUser.Password; editUser.Firstname = receivedUser.Firstname; editUser.Surname = receivedUser.Surname; editUser.Telephone = receivedUser.Telephone; editUser.SuperUser = receivedUser.SuperUser; editUser.BanStatus = receivedUser.BanStatus; AutodealersContext.Update(editUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } } else { Session.SendErrorMessage("Пользователь не найден!"); } } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void EditCurrentUserUsername() { RefreshContext(); var receivedUsername = (string)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (CurrentUser.Username != receivedUsername) { var user = AutodealersContext.User.FirstOrDefault(u => u.Username == receivedUsername); if (user != null) { Session.SendErrorMessage("Пользователь с таким логином уже существует!"); return; } if (receivedUsername.Length < 5) { Session.SendErrorMessage("Логин должен состоять минимум из 5 символов!"); return; } if (receivedUsername.Length > 20) { Session.SendErrorMessage("Логин должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(receivedUsername, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Логин содержит недопустимые символы!"); return; } CurrentUser.Username = receivedUsername; AutodealersContext.Update(CurrentUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { if (receivedUsername.Length < 5) { Session.SendErrorMessage("Логин должен состоять минимум из 5 символов!"); return; } if (receivedUsername.Length > 20) { Session.SendErrorMessage("Логин должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(receivedUsername, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Логин содержит недопустимые символы!"); return; } CurrentUser.Username = receivedUsername; AutodealersContext.Update(CurrentUser); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }
public void Add() { RefreshContext(); var user = (User)_BinaryFormatter.Deserialize(_NetworkStream); if (Session.UserController.IsAuthorized) { if (Session.UserController.CurrentUser.SuperUser) { var findResult = AutodealersContext.User.FirstOrDefault(u => u.Username == user.Username); if (findResult != null) { Session.SendErrorMessage("Пользователь с таким логином уже существует!"); return; } if (user.Username.Length < 5) { Session.SendErrorMessage("Логин должен состоять минимум из 5 символов!"); return; } if (user.Username.Length > 20) { Session.SendErrorMessage("Логин должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(user.Username, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Логин содержит недопустимые символы!"); return; } if (user.Password.Length < 8) { Session.SendErrorMessage("Пароль должен состоять минимум из 8 символов!"); return; } if (user.Password.Length > 20) { Session.SendErrorMessage("Пароль должен состоять максимум из 20 символов!"); return; } if (!Regex.IsMatch(user.Password, "^[a-zA-Z0-9]+$")) { Session.SendErrorMessage("Пароль содержит недопустимые символы!"); return; } if (!String.IsNullOrEmpty(user.Firstname)) { if (user.Firstname.Length < 2) { Session.SendErrorMessage("Имя должно состоять минимум из 2 символов!"); return; } if (user.Firstname.Length > 20) { Session.SendErrorMessage("Имя должно состоять максимум из 20 символов"); return; } if (!Regex.IsMatch(user.Firstname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Имя содержит недопустимые символы!"); return; } user.Firstname = Char.ToUpper(user.Firstname[0]) + user.Firstname.Substring(1); } else { user.Firstname = null; } if (!String.IsNullOrEmpty(user.Surname)) { if (user.Surname.Length < 2) { Session.SendErrorMessage("Фамилия должна иметь минимум 2 символа!"); return; } if (user.Surname.Length > 20) { Session.SendErrorMessage("Фамилия должна иметь максимум 20 символов!"); return; } if (!Regex.IsMatch(user.Surname, "^[a-zA-Zа-яА-Я]+$")) { Session.SendErrorMessage("Фамилия содержит недопустимые символы!"); return; } user.Surname = Char.ToUpper(user.Surname[0]) + user.Surname.Substring(1); } else { user.Surname = null; } if (!String.IsNullOrEmpty(user.Telephone)) { if (user.Telephone.Length != 13 || !Regex.IsMatch(user.Telephone, "^\\+[0-9]*$")) { Session.SendErrorMessage("Неверный формат номера!"); return; } } else { user.Telephone = null; } AutodealersContext.User.Add(user); AutodealersContext.SaveChanges(); _BinaryFormatter.Serialize(_NetworkStream, MessageType.Success); } else { Session.SendErrorMessage("Для этого действия требуются права администратора!"); } } else { Session.SendErrorMessage("Для этого действия требуется авторизация!"); } RefreshContext(); }