From d6d14ca2f2e02889d69ad6e452e4e1d1f99058ae Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Tue, 7 Mar 2023 00:04:20 +0500 Subject: [PATCH] change dtos (auth,event,company,measure,message,userRole,well,welloperation) and delete validators --- AsbCloudApp/Data/AuthDto.cs | 10 ++++++-- AsbCloudApp/Data/CompanyDto.cs | 4 +++- AsbCloudApp/Data/MeasureDto.cs | 4 ++++ AsbCloudApp/Data/MessageDto.cs | 3 +++ AsbCloudApp/Data/SAUB/EventDto.cs | 7 +++++- AsbCloudApp/Data/UserRoleDto.cs | 1 + AsbCloudApp/Data/WellDto.cs | 4 +++- AsbCloudApp/Data/WellOperationDto.cs | 5 ++-- .../Validators/AuthDtoValidator.cs | 18 -------------- .../Validators/EventDtoValidator.cs | 16 ------------- .../Validators/MeasureDtoValidator.cs | 18 -------------- .../Validators/MessageDtoValidator.cs | 11 +++++---- .../UserRegistrationDtoValidator.cs | 24 +++++++++---------- .../Validators/UserRoleDtoValidator.cs | 14 ----------- .../Validators/WellDtoValidator.cs | 16 ------------- .../Validators/WellOperationDtoValidator.cs | 16 ------------- 16 files changed, 50 insertions(+), 121 deletions(-) delete mode 100644 AsbCloudInfrastructure/Validators/AuthDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/EventDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/WellDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/WellOperationDtoValidator.cs diff --git a/AsbCloudApp/Data/AuthDto.cs b/AsbCloudApp/Data/AuthDto.cs index 6b3d42ad..c6a95e23 100644 --- a/AsbCloudApp/Data/AuthDto.cs +++ b/AsbCloudApp/Data/AuthDto.cs @@ -1,18 +1,24 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// /// DTO для авторизации /// public class AuthDto - { + { /// /// Имя пользователя для входа /// + [Required] + [StringLength(50, MinimumLength = 1)] public string Login { get; set; } = null!; /// /// Пароль пользователя для входа /// + [Required] + [StringLength(50, MinimumLength = 1)] public string Password { get; set; } = null!; } } diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs index 0349013c..6f4012c4 100644 --- a/AsbCloudApp/Data/CompanyDto.cs +++ b/AsbCloudApp/Data/CompanyDto.cs @@ -14,16 +14,18 @@ namespace AsbCloudApp.Data /// Название /// [Required] + [StringLength(50, MinimumLength = 1)] public string Caption { get; set; } = null!; /// /// ИД типа компании - /// + /// public int IdCompanyType { get; set; } /// /// Название типа компании /// + [StringLength(30, MinimumLength = 1)] public string CompanyTypeCaption { get; set; } = null!; } } diff --git a/AsbCloudApp/Data/MeasureDto.cs b/AsbCloudApp/Data/MeasureDto.cs index b19abdcc..bdfafbbf 100644 --- a/AsbCloudApp/Data/MeasureDto.cs +++ b/AsbCloudApp/Data/MeasureDto.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data { @@ -12,16 +13,19 @@ namespace AsbCloudApp.Data public int Id { get; set; } /// + [Range(1, int.MaxValue)] public int IdWell { get; set; } /// /// Id категории замера /// + [Range(1, int.MaxValue)] public int IdCategory { get; set; } /// /// название категории замера /// + [StringLength(120, MinimumLength = 1)] public string CategoryName { get; set; } = string.Empty; /// diff --git a/AsbCloudApp/Data/MessageDto.cs b/AsbCloudApp/Data/MessageDto.cs index b8d930c5..c7819ddd 100644 --- a/AsbCloudApp/Data/MessageDto.cs +++ b/AsbCloudApp/Data/MessageDto.cs @@ -1,4 +1,5 @@ using System; +using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data { @@ -18,6 +19,7 @@ namespace AsbCloudApp.Data /// /// категория события /// + [Range(1, int.MaxValue)] public int CategoryId { get; set; } /// @@ -33,6 +35,7 @@ namespace AsbCloudApp.Data /// /// текст сообщения /// + [StringLength(400, MinimumLength = 1)] public string Message { get; set; } = string.Empty; } } diff --git a/AsbCloudApp/Data/SAUB/EventDto.cs b/AsbCloudApp/Data/SAUB/EventDto.cs index 94b16aa7..ce02c061 100644 --- a/AsbCloudApp/Data/SAUB/EventDto.cs +++ b/AsbCloudApp/Data/SAUB/EventDto.cs @@ -1,4 +1,6 @@ -namespace AsbCloudApp.Data.SAUB +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data.SAUB { /// /// Описание шаблона события панели оператора @@ -8,6 +10,7 @@ /// /// id события /// + public int Id { get; set; } /// @@ -18,6 +21,7 @@ /// /// id категории события /// + [Range(1, int.MaxValue)] public int IdCategory { get; set; } /// @@ -28,6 +32,7 @@ /// /// тип определения наступления события /// + [Range(1, int.MaxValue)] public int EventType { get; set; } /// diff --git a/AsbCloudApp/Data/UserRoleDto.cs b/AsbCloudApp/Data/UserRoleDto.cs index 069db593..9140b577 100644 --- a/AsbCloudApp/Data/UserRoleDto.cs +++ b/AsbCloudApp/Data/UserRoleDto.cs @@ -16,6 +16,7 @@ namespace AsbCloudApp.Data /// название /// [Required] + [StringLength(50, MinimumLength = 1)] public string Caption { get; set; } = null!; /// diff --git a/AsbCloudApp/Data/WellDto.cs b/AsbCloudApp/Data/WellDto.cs index ec1d4540..4670bd83 100644 --- a/AsbCloudApp/Data/WellDto.cs +++ b/AsbCloudApp/Data/WellDto.cs @@ -10,10 +10,12 @@ namespace AsbCloudApp.Data /// public class WellDto : WellInfoDto, IMapPoint, IId { - /// + /// + [Range(-90, 90)] public double? Latitude { get; set; } /// + [Range(-180, 180)] public double? Longitude { get; set; } /// diff --git a/AsbCloudApp/Data/WellOperationDto.cs b/AsbCloudApp/Data/WellOperationDto.cs index 5e7a917f..c2de3b64 100644 --- a/AsbCloudApp/Data/WellOperationDto.cs +++ b/AsbCloudApp/Data/WellOperationDto.cs @@ -7,12 +7,13 @@ namespace AsbCloudApp.Data /// Операции на скважине (заведенные пользователем) /// public class WellOperationDto : IId, IWellRelated - { + { /// public int Id { get; set; } /// [Required] + [Range(1, int.MaxValue)] public int IdWell { get; set; } /// @@ -90,7 +91,7 @@ namespace AsbCloudApp.Data /// /// Полезный комментарий /// - [StringLength(8192)] + [StringLength(4096)] public string? Comment { get; set; } } } diff --git a/AsbCloudInfrastructure/Validators/AuthDtoValidator.cs b/AsbCloudInfrastructure/Validators/AuthDtoValidator.cs deleted file mode 100644 index febbc992..00000000 --- a/AsbCloudInfrastructure/Validators/AuthDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class AuthDtoValidator : AbstractValidator - { - public AuthDtoValidator() - { - RuleFor(x => x.Login).NotNull().WithMessage("Логин не должен быть пустым"); - RuleFor(x => x.Login).NotEmpty().WithMessage("Логин не должен быть пустым"); - RuleFor(x => x.Login).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов"); - RuleFor(x => x.Password).NotNull().WithMessage("Пароль не должен быть пустым"); - RuleFor(x => x.Password).NotEmpty().WithMessage("Пароль не должен быть пустым"); - RuleFor(x => x.Password).Length(0, 50).WithMessage("Допустимая длина пароля от 1 до 50 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/EventDtoValidator.cs b/AsbCloudInfrastructure/Validators/EventDtoValidator.cs deleted file mode 100644 index 7c532d76..00000000 --- a/AsbCloudInfrastructure/Validators/EventDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data.SAUB; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class EventDtoValidator : AbstractValidator - { - public EventDtoValidator() - { - RuleFor(x => x.IdCategory).GreaterThan(0) - .WithMessage("Id категории события не может быть отрицательным"); - RuleFor(x => x.EventType).GreaterThan(0) - .WithMessage("Id типа события не может быть отрицательным"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs b/AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs deleted file mode 100644 index 3998d515..00000000 --- a/AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class MeasureDtoValidator : AbstractValidator - { - public MeasureDtoValidator() - { - RuleFor(x => x.IdWell).GreaterThan(0) - .WithMessage("Id скважины не может быть меньше 1"); - RuleFor(x => x.IdCategory).GreaterThan(0) - .WithMessage("Id категории не может быть меньше 1"); - RuleFor(x => x.CategoryName).MaximumLength(120) - .WithMessage("Название категории не может быть больше 120 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs b/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs index dff52f4a..31c84b34 100644 --- a/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs +++ b/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs @@ -5,14 +5,17 @@ namespace AsbCloudInfrastructure.Validators { public class MessageDtoValidator : AbstractValidator { + + //TODO: в модели дто сообщения отсутствует поле Id скважины + // скорее всего опечатка т.к. используется глубина в правиле валидатора + //в других валидаторах парамтр глубины идет рэнжированный от...до + public MessageDtoValidator() { - RuleFor(x => x.CategoryId).GreaterThan(0) - .WithMessage("Id категории не может быть ниже 1"); + RuleFor(x => x.WellDepth).GreaterThan(-1) .WithMessage("Id скважины не может быть ниже 1"); - RuleFor(x => x.Message).Length(1, 400) - .WithMessage("Допустимая длина текста сообщения от 1 до 400 символов"); + } } } \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs b/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs index e80e59c7..6e1ea0f7 100644 --- a/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs +++ b/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs @@ -7,18 +7,18 @@ namespace AsbCloudInfrastructure.Validators { public UserRegistrationDtoValidator() { - RuleFor(x => x.Login).NotNull().WithMessage("Логин не должен быть пустым"); - RuleFor(x => x.Login).NotEmpty().WithMessage("Логин не должен быть пустым"); - RuleFor(x => x.Login).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов"); - RuleFor(x => x.Password).NotNull().WithMessage("Пароль не должен быть пустым"); - RuleFor(x => x.Password).NotEmpty().WithMessage("Пароль не должен быть пустым"); - RuleFor(x => x.Password).Length(0, 50).WithMessage("Допустимая длина Пароль от 1 до 50 символов"); - RuleFor(x => x.Name).Length(0, 50).WithMessage("Допустимая длина имени от 1 до 50 символов"); - RuleFor(x => x.Surname).Length(0, 50).WithMessage("Допустимая длина фамилии от 1 до 50 символов"); - RuleFor(x => x.Patronymic).Length(0, 50).WithMessage("Допустимая длина отчества от 1 до 50 символов"); - RuleFor(x => x.Email).Length(0, 260).WithMessage("Допустимая длина email от 1 до 260 символов"); - RuleFor(x => x.Phone).Length(0, 50).WithMessage("Допустимая длина телефона от 1 до 50 символов"); - RuleFor(x => x.Position).Length(0, 100).WithMessage("Допустимая длина должности от 1 до 100 символов"); + //RuleFor(x => x.Login).NotNull().WithMessage("Логин не должен быть пустым"); + //RuleFor(x => x.Login).NotEmpty().WithMessage("Логин не должен быть пустым"); + //RuleFor(x => x.Login).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов"); + //RuleFor(x => x.Password).NotNull().WithMessage("Пароль не должен быть пустым"); + //RuleFor(x => x.Password).NotEmpty().WithMessage("Пароль не должен быть пустым"); + //RuleFor(x => x.Password).Length(0, 50).WithMessage("Допустимая длина Пароль от 1 до 50 символов"); + //RuleFor(x => x.Name).Length(0, 50).WithMessage("Допустимая длина имени от 1 до 50 символов"); + //RuleFor(x => x.Surname).Length(0, 50).WithMessage("Допустимая длина фамилии от 1 до 50 символов"); + //RuleFor(x => x.Patronymic).Length(0, 50).WithMessage("Допустимая длина отчества от 1 до 50 символов"); + //RuleFor(x => x.Email).Length(0, 260).WithMessage("Допустимая длина email от 1 до 260 символов"); + //RuleFor(x => x.Phone).Length(0, 50).WithMessage("Допустимая длина телефона от 1 до 50 символов"); + //RuleFor(x => x.Position).Length(0, 100).WithMessage("Допустимая длина должности от 1 до 100 символов"); } } } \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs b/AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs deleted file mode 100644 index 3f5032f1..00000000 --- a/AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs +++ /dev/null @@ -1,14 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class UserRoleDtoValidator : AbstractValidator - { - public UserRoleDtoValidator() - { - RuleFor(x => x.Caption).Length(0, 50) - .WithMessage("Допустимая длина названия роли от 1 до 50 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/WellDtoValidator.cs b/AsbCloudInfrastructure/Validators/WellDtoValidator.cs deleted file mode 100644 index bc10ee05..00000000 --- a/AsbCloudInfrastructure/Validators/WellDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class WellDtoValidator : AbstractValidator - { - public WellDtoValidator() - { - RuleFor(x => x.Latitude).Must(l => l is null or <= 90 and >= -90) - .WithMessage("Допустимые значения широты от -90 до 90"); - RuleFor(x => x.Longitude).Must(l => l is null or <= 180 and >= -180) - .WithMessage("Допустимые значения долготы от -180 до 180"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/WellOperationDtoValidator.cs b/AsbCloudInfrastructure/Validators/WellOperationDtoValidator.cs deleted file mode 100644 index 12253c9e..00000000 --- a/AsbCloudInfrastructure/Validators/WellOperationDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class WellOperationDtoValidator : AbstractValidator - { - public WellOperationDtoValidator() - { - RuleFor(x => x.IdWell).GreaterThan(0) - .WithMessage("Id скважины не может быть меньше 1"); - RuleFor(x => x.Comment).MaximumLength(4096) - .WithMessage("Комментарий не может быть длиннее 4096 символов"); - } - } -} \ No newline at end of file