From d6b16a62f5dcb578c6aa6135b4e9d04d9397f791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B0=D1=88=D0=B8=D0=BD=20=D0=9C=D0=B0=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D0=BC?= Date: Thu, 18 May 2023 18:19:52 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=D1=87=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessLogics/HeadwaiterLogic.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Hotel/HotelBusinessLogic/BusinessLogics/HeadwaiterLogic.cs b/Hotel/HotelBusinessLogic/BusinessLogics/HeadwaiterLogic.cs index 0733463..38403cf 100644 --- a/Hotel/HotelBusinessLogic/BusinessLogics/HeadwaiterLogic.cs +++ b/Hotel/HotelBusinessLogic/BusinessLogics/HeadwaiterLogic.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; namespace HotelBusinessLogic.BusinessLogics @@ -140,6 +141,11 @@ namespace HotelBusinessLogic.BusinessLogics throw new ArgumentNullException("Нет номера телефона метродотеля", nameof(model.HeadwaiterNumber)); } + if (model.HeadwaiterEmail.Length > _loginMaxLength || !Regex.IsMatch(model.HeadwaiterEmail, @"([a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+)")) + { + throw new Exception($"В качестве логина должна быть указана почта и иметь длинну не более {_loginMaxLength} символов"); + } + if (string.IsNullOrEmpty(model.HeadwaiterEmail)) { throw new ArgumentNullException("Нет почты метродотеля", nameof(model.HeadwaiterEmail)); @@ -150,21 +156,17 @@ namespace HotelBusinessLogic.BusinessLogics throw new ArgumentNullException("Нет пароля метродотеля", nameof(model.HeadwaiterPassword)); } - if (model.HeadwaiterPassword.Length < _passwordMinLength) + if (model.HeadwaiterPassword.Length > _passwordMaxLength || model.HeadwaiterPassword.Length < _passwordMinLength + || !Regex.IsMatch(model.HeadwaiterPassword, @"^((\w+\d+\W+)|(\w+\W+\d+)|(\d+\w+\W+)|(\d+\W+\w+)|(\W+\w+\d+)|(\W+\d+\w+))[\w\d\W]*$")) { - throw new ArgumentNullException("Пароль слишком короткий", nameof(model.HeadwaiterPassword)); - } - - if (model.HeadwaiterPassword.Length > _passwordMaxLength) - { - throw new ArgumentNullException("Пароль слишком длинный", nameof(model.HeadwaiterPassword)); + throw new Exception($"Пароль длиной от {_passwordMinLength} до {_passwordMaxLength} должен состоять из цифр, букв и небуквенных символов"); } _logger.LogInformation("Headwaiter. HeadwaiterFIO: {HeadwaiterFIO}. HeadwaiterLogin: {HeadwaiterLogin}. Id: {Id}", model.HeadwaiterFIO, model.HeadwaiterLogin, model.Id); var element = _headwaiterStorage.GetElement(new HeadwaiterSearchModel { - HeadwaiterLogin = model.HeadwaiterLogin + HeadwaiterEmail = model.HeadwaiterEmail }); if (element != null && element.Id != model.Id)