Проверачки

This commit is contained in:
Кашин Максим 2023-05-18 18:19:52 +04:00
parent 560865010e
commit d6b16a62f5

View File

@ -8,6 +8,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace HotelBusinessLogic.BusinessLogics namespace HotelBusinessLogic.BusinessLogics
@ -140,6 +141,11 @@ namespace HotelBusinessLogic.BusinessLogics
throw new ArgumentNullException("Нет номера телефона метродотеля", nameof(model.HeadwaiterNumber)); 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)) if (string.IsNullOrEmpty(model.HeadwaiterEmail))
{ {
throw new ArgumentNullException("Нет почты метродотеля", nameof(model.HeadwaiterEmail)); throw new ArgumentNullException("Нет почты метродотеля", nameof(model.HeadwaiterEmail));
@ -150,21 +156,17 @@ namespace HotelBusinessLogic.BusinessLogics
throw new ArgumentNullException("Нет пароля метродотеля", nameof(model.HeadwaiterPassword)); 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)); throw new Exception($"Пароль длиной от {_passwordMinLength} до {_passwordMaxLength} должен состоять из цифр, букв и небуквенных символов");
}
if (model.HeadwaiterPassword.Length > _passwordMaxLength)
{
throw new ArgumentNullException("Пароль слишком длинный", nameof(model.HeadwaiterPassword));
} }
_logger.LogInformation("Headwaiter. HeadwaiterFIO: {HeadwaiterFIO}. HeadwaiterLogin: {HeadwaiterLogin}. Id: {Id}", model.HeadwaiterFIO, model.HeadwaiterLogin, model.Id); _logger.LogInformation("Headwaiter. HeadwaiterFIO: {HeadwaiterFIO}. HeadwaiterLogin: {HeadwaiterLogin}. Id: {Id}", model.HeadwaiterFIO, model.HeadwaiterLogin, model.Id);
var element = _headwaiterStorage.GetElement(new HeadwaiterSearchModel var element = _headwaiterStorage.GetElement(new HeadwaiterSearchModel
{ {
HeadwaiterLogin = model.HeadwaiterLogin HeadwaiterEmail = model.HeadwaiterEmail
}); });
if (element != null && element.Id != model.Id) if (element != null && element.Id != model.Id)