Проверачки

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.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)