From d6d14ca2f2e02889d69ad6e452e4e1d1f99058ae Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Tue, 7 Mar 2023 00:04:20 +0500 Subject: [PATCH 01/10] 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 From 9793280b28d7cb88bc08fb9cc58137854330a526 Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Tue, 7 Mar 2023 00:16:20 +0500 Subject: [PATCH 02/10] todo TimeDtoValidator --- AsbCloudInfrastructure/Validators/TimeDtoValidator.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs b/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs index e0c97233..00bdfeb0 100644 --- a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs +++ b/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs @@ -5,6 +5,11 @@ namespace AsbCloudInfrastructure.Validators { public class TimeDtoValidator : AbstractValidator { + + //TODO: в текущей реализации данные проверки регулируются в свойстве модели блоком set + // какая предпочтительнее? + + public TimeDtoValidator() { RuleFor(x => x.Hour) From 612fa19b109b0591ce2408fdf47912d120f5f96b Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Tue, 7 Mar 2023 00:36:09 +0500 Subject: [PATCH 03/10] add attrib's -ProcessMap,permissions and remove validators --- AsbCloudApp/Data/PermissionDto.cs | 8 ++++++-- AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs | 6 +++++- .../Validators/CompanyDtoValidator.cs | 16 ---------------- .../Validators/PermissionDtoValidator.cs | 16 ---------------- .../Validators/ProcessMapValidator.cs | 18 ------------------ 5 files changed, 11 insertions(+), 53 deletions(-) delete mode 100644 AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/ProcessMapValidator.cs diff --git a/AsbCloudApp/Data/PermissionDto.cs b/AsbCloudApp/Data/PermissionDto.cs index f4d02a2e..6bcaf46e 100644 --- a/AsbCloudApp/Data/PermissionDto.cs +++ b/AsbCloudApp/Data/PermissionDto.cs @@ -1,10 +1,12 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// /// Разрешение для группы пользователей сделать что-либо через web-api.
/// применяется как возможность доступа к Endpoint.
///
- public class PermissionDto : IId + public class PermissionDto : IId { /// public int Id { get; set; } @@ -12,11 +14,13 @@ /// /// Название /// + [StringLength(50, MinimumLength = 1)] public string Name { get; set; } = string.Empty; /// /// Описание /// + [StringLength(1024, MinimumLength = 1)] public string? Description { get; set; } } } \ No newline at end of file diff --git a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs index f76a98dd..2790b90e 100644 --- a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs +++ b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs @@ -1,16 +1,18 @@ using System; +using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.ProcessMap { /// /// РТК - /// + ///
public class ProcessMapDto : IId, IWellRelated { /// public int Id { get; set; } /// + [Range(1,int.MaxValue)] public int IdWell { get; set; } /// @@ -31,11 +33,13 @@ namespace AsbCloudApp.Data.ProcessMap /// /// Стартовая глубина /// + [Range(0,50000)] public double DepthStart { get; set; } /// /// Глубина окончания интервала /// + [Range(0, 50000)] public double DepthEnd { get; set; } /// diff --git a/AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs b/AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs deleted file mode 100644 index d8a7c952..00000000 --- a/AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class CompanyDtoValidator : AbstractValidator - { - public CompanyDtoValidator() - { - RuleFor(x => x.Caption).Length(1, 50) - .WithMessage("Допустимое имя компании от 1 до 50 символов"); - RuleFor(x => x.CompanyTypeCaption).Length(1, 30) - .WithMessage("Допустимое имя типа компании от 1 до 30 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs b/AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs deleted file mode 100644 index 3ca63f69..00000000 --- a/AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class PermissionDtoValidator : AbstractValidator - { - public PermissionDtoValidator() - { - RuleFor(x => x.Name).Length(1, 50) - .WithMessage("Допустимая длина названия разрешения от 1 до 50 символов"); - RuleFor(x => x.Description).Length(1, 1024) - .WithMessage("Допустимая длина описания от 1 до 1024 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/ProcessMapValidator.cs b/AsbCloudInfrastructure/Validators/ProcessMapValidator.cs deleted file mode 100644 index 661d01be..00000000 --- a/AsbCloudInfrastructure/Validators/ProcessMapValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data.ProcessMap; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class ProcessMapValidator : AbstractValidator - { - public ProcessMapValidator() - { - RuleFor(x => x.IdWell).GreaterThan(0) - .WithMessage("Id скважины не может быть меньше 1"); - RuleFor(x => x.DepthStart).GreaterThan(-1) - .WithMessage("Глубина не может быть отрицательной"); - RuleFor(x => x.DepthEnd).GreaterThan(-1) - .WithMessage("Глубина не может быть отрицательной"); - } - } -} \ No newline at end of file From 4d7ef61ab833c2f7c28f1c0c64d798c11f6854e7 Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 05:09:41 +0500 Subject: [PATCH 04/10] add error message --- AsbCloudApp/Data/AuthDto.cs | 8 ++++---- AsbCloudApp/Data/ClusterDto.cs | 2 ++ AsbCloudApp/Data/CompanyDto.cs | 4 ++-- AsbCloudApp/Data/FileInfoDto.cs | 13 +++++++++++- AsbCloudApp/Data/FileMarkDto.cs | 6 +++++- AsbCloudApp/Data/MapPointBaseDto.cs | 7 ++++++- AsbCloudApp/Data/MeasureDto.cs | 6 +++--- AsbCloudApp/Data/MessageDto.cs | 4 ++-- AsbCloudApp/Data/PermissionDto.cs | 4 ++-- AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs | 6 +++--- AsbCloudApp/Data/ReportPropertiesDto.cs | 10 +++++++++- AsbCloudApp/Data/SAUB/EventDto.cs | 4 ++-- AsbCloudApp/Data/UserRoleDto.cs | 2 +- AsbCloudApp/Data/WellDto.cs | 4 ++-- AsbCloudApp/Data/WellOperationDto.cs | 7 +++++-- .../Validators/ClusterDtoValidator.cs | 20 ------------------- .../Validators/DepositDtoValidator.cs | 18 ----------------- .../Validators/FileInfoDtoValidator.cs | 18 ----------------- .../Validators/FileMarkDtoValidator.cs | 18 ----------------- .../ReportPropertiesDtoValidator.cs | 16 --------------- 20 files changed, 60 insertions(+), 117 deletions(-) delete mode 100644 AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/DepositDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/FileInfoDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/ReportPropertiesDtoValidator.cs diff --git a/AsbCloudApp/Data/AuthDto.cs b/AsbCloudApp/Data/AuthDto.cs index c6a95e23..f232ee43 100644 --- a/AsbCloudApp/Data/AuthDto.cs +++ b/AsbCloudApp/Data/AuthDto.cs @@ -10,15 +10,15 @@ namespace AsbCloudApp.Data /// /// Имя пользователя для входа /// - [Required] - [StringLength(50, MinimumLength = 1)] + [Required(ErrorMessage = "Логин не должен быть пустым")] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")] public string Login { get; set; } = null!; /// /// Пароль пользователя для входа /// - [Required] - [StringLength(50, MinimumLength = 1)] + [Required(ErrorMessage = "Пароль не должен быть пустым")] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")] public string Password { get; set; } = null!; } } diff --git a/AsbCloudApp/Data/ClusterDto.cs b/AsbCloudApp/Data/ClusterDto.cs index d625c9c2..683cd445 100644 --- a/AsbCloudApp/Data/ClusterDto.cs +++ b/AsbCloudApp/Data/ClusterDto.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; namespace AsbCloudApp.Data @@ -11,6 +12,7 @@ namespace AsbCloudApp.Data /// /// ИД месторождения, необязательный /// + [Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")] public int IdDeposit { get; set; } /// diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs index 6f4012c4..dd263e8d 100644 --- a/AsbCloudApp/Data/CompanyDto.cs +++ b/AsbCloudApp/Data/CompanyDto.cs @@ -14,7 +14,7 @@ namespace AsbCloudApp.Data /// Название /// [Required] - [StringLength(50, MinimumLength = 1)] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 50 символов")] public string Caption { get; set; } = null!; /// @@ -25,7 +25,7 @@ namespace AsbCloudApp.Data /// /// Название типа компании /// - [StringLength(30, MinimumLength = 1)] + [StringLength(30, MinimumLength = 1, ErrorMessage = "Допустимое имя типа компании от 1 до 30 символов")] public string CompanyTypeCaption { get; set; } = null!; } } diff --git a/AsbCloudApp/Data/FileInfoDto.cs b/AsbCloudApp/Data/FileInfoDto.cs index 05dfa1ff..c9e91df4 100644 --- a/AsbCloudApp/Data/FileInfoDto.cs +++ b/AsbCloudApp/Data/FileInfoDto.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; namespace AsbCloudApp.Data @@ -13,11 +14,13 @@ namespace AsbCloudApp.Data public int Id { get; set; } /// + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } - + /// /// id категории файла /// + [Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")] public int IdCategory { get; set; } /// @@ -28,6 +31,7 @@ namespace AsbCloudApp.Data /// /// имя файла /// + [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")] public string Name { get; set; } = null!; /// @@ -54,5 +58,12 @@ namespace AsbCloudApp.Data /// список отметок файла /// public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); + + //RuleFor(x => x.IdWell).GreaterThan(0) + // .WithMessage("Id скважины не может быть меньше 1"); + //RuleFor(x => x.IdCategory).GreaterThan(0) + // .WithMessage("Id категории файла не может быть меньше 1"); + //RuleFor(x => x.Name).Length(1, 260) + // .WithMessage("Допустимое имя файла от 1 до 260 символов"); } } diff --git a/AsbCloudApp/Data/FileMarkDto.cs b/AsbCloudApp/Data/FileMarkDto.cs index 57139367..ca8b98cc 100644 --- a/AsbCloudApp/Data/FileMarkDto.cs +++ b/AsbCloudApp/Data/FileMarkDto.cs @@ -1,4 +1,5 @@ using System; +using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data { @@ -13,12 +14,14 @@ namespace AsbCloudApp.Data /// /// id /// + [Range(1, int.MaxValue, ErrorMessage = "Id 1")] public int IdFile { get; set; } /// /// 0 - /// 1 - /// + [Range(0, int.MaxValue, ErrorMessage = "Id 1")] public int IdMarkType { get; set; } /// @@ -26,10 +29,11 @@ namespace AsbCloudApp.Data /// . /// public DateTime DateCreated { get; set; } - + /// /// /// + [StringLength(4096, MinimumLength = 1, ErrorMessage = " 1 4096 ")] public string? Comment { get; set; } /// diff --git a/AsbCloudApp/Data/MapPointBaseDto.cs b/AsbCloudApp/Data/MapPointBaseDto.cs index 2a3a7ff0..b0567dba 100644 --- a/AsbCloudApp/Data/MapPointBaseDto.cs +++ b/AsbCloudApp/Data/MapPointBaseDto.cs @@ -1,4 +1,6 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// /// Точка на карте с названием @@ -11,12 +13,15 @@ /// /// Название /// + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия от 1 до 50 символов")] public string Caption { get; set; } = null!; /// + [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")] public double? Latitude { get; set; } /// + [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")] public double? Longitude { get; set; } /// diff --git a/AsbCloudApp/Data/MeasureDto.cs b/AsbCloudApp/Data/MeasureDto.cs index bdfafbbf..3be34bd9 100644 --- a/AsbCloudApp/Data/MeasureDto.cs +++ b/AsbCloudApp/Data/MeasureDto.cs @@ -13,19 +13,19 @@ namespace AsbCloudApp.Data public int Id { get; set; } /// - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// /// Id категории замера /// - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")] public int IdCategory { get; set; } /// /// название категории замера /// - [StringLength(120, MinimumLength = 1)] + [StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")] public string CategoryName { get; set; } = string.Empty; /// diff --git a/AsbCloudApp/Data/MessageDto.cs b/AsbCloudApp/Data/MessageDto.cs index c7819ddd..490897ed 100644 --- a/AsbCloudApp/Data/MessageDto.cs +++ b/AsbCloudApp/Data/MessageDto.cs @@ -19,7 +19,7 @@ namespace AsbCloudApp.Data /// /// категория события /// - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")] public int CategoryId { get; set; } /// @@ -35,7 +35,7 @@ namespace AsbCloudApp.Data /// /// текст сообщения /// - [StringLength(400, MinimumLength = 1)] + [StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")] public string Message { get; set; } = string.Empty; } } diff --git a/AsbCloudApp/Data/PermissionDto.cs b/AsbCloudApp/Data/PermissionDto.cs index 6bcaf46e..df4fa51b 100644 --- a/AsbCloudApp/Data/PermissionDto.cs +++ b/AsbCloudApp/Data/PermissionDto.cs @@ -14,13 +14,13 @@ namespace AsbCloudApp.Data /// /// Название /// - [StringLength(50, MinimumLength = 1)] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")] public string Name { get; set; } = string.Empty; /// /// Описание /// - [StringLength(1024, MinimumLength = 1)] + [StringLength(1024, MinimumLength = 1, ErrorMessage = "Допустимая длина описания от 1 до 1024 символов")] public string? Description { get; set; } } } \ No newline at end of file diff --git a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs index 2790b90e..17664ba0 100644 --- a/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs +++ b/AsbCloudApp/Data/ProcessMap/ProcessMapDto.cs @@ -12,7 +12,7 @@ namespace AsbCloudApp.Data.ProcessMap public int Id { get; set; } /// - [Range(1,int.MaxValue)] + [Range(1,int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// @@ -33,13 +33,13 @@ namespace AsbCloudApp.Data.ProcessMap /// /// Стартовая глубина /// - [Range(0,50000)] + [Range(0,50000,ErrorMessage = "Глубина не может быть отрицательной")] public double DepthStart { get; set; } /// /// Глубина окончания интервала /// - [Range(0, 50000)] + [Range(0, 50000, ErrorMessage = "Глубина не может быть отрицательной")] public double DepthEnd { get; set; } /// diff --git a/AsbCloudApp/Data/ReportPropertiesDto.cs b/AsbCloudApp/Data/ReportPropertiesDto.cs index 217f7598..b66592df 100644 --- a/AsbCloudApp/Data/ReportPropertiesDto.cs +++ b/AsbCloudApp/Data/ReportPropertiesDto.cs @@ -1,4 +1,5 @@ using System; +using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data { @@ -9,13 +10,15 @@ namespace AsbCloudApp.Data { /// public int Id { get; set; } - + /// + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")] public int IdWell { get; set; } /// /// название /// + [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")] public string Name { get; set; } = null!; /// @@ -47,5 +50,10 @@ namespace AsbCloudApp.Data /// формат файла /// public string Format { get; set; } = string.Empty; + + //RuleFor(x => x.Name).Length(1, 260) + // .WithMessage("Допустимая длина имени файла от 1 до 260 символов"); + //RuleFor(x => x.IdWell).GreaterThan(0) + // .WithMessage("Id скважины не может быть меньше 1"); } } diff --git a/AsbCloudApp/Data/SAUB/EventDto.cs b/AsbCloudApp/Data/SAUB/EventDto.cs index ce02c061..d8103d17 100644 --- a/AsbCloudApp/Data/SAUB/EventDto.cs +++ b/AsbCloudApp/Data/SAUB/EventDto.cs @@ -21,7 +21,7 @@ namespace AsbCloudApp.Data.SAUB /// /// id категории события /// - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")] public int IdCategory { get; set; } /// @@ -32,7 +32,7 @@ namespace AsbCloudApp.Data.SAUB /// /// тип определения наступления события /// - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")] public int EventType { get; set; } /// diff --git a/AsbCloudApp/Data/UserRoleDto.cs b/AsbCloudApp/Data/UserRoleDto.cs index 9140b577..75a95dc7 100644 --- a/AsbCloudApp/Data/UserRoleDto.cs +++ b/AsbCloudApp/Data/UserRoleDto.cs @@ -16,7 +16,7 @@ namespace AsbCloudApp.Data /// название /// [Required] - [StringLength(50, MinimumLength = 1)] + [StringLength(50, MinimumLength = 1,ErrorMessage = "Допустимая длина названия роли от 1 до 50 символов")] public string Caption { get; set; } = null!; /// diff --git a/AsbCloudApp/Data/WellDto.cs b/AsbCloudApp/Data/WellDto.cs index 4670bd83..4ffd262e 100644 --- a/AsbCloudApp/Data/WellDto.cs +++ b/AsbCloudApp/Data/WellDto.cs @@ -11,11 +11,11 @@ namespace AsbCloudApp.Data public class WellDto : WellInfoDto, IMapPoint, IId { /// - [Range(-90, 90)] + [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")] public double? Latitude { get; set; } /// - [Range(-180, 180)] + [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")] public double? Longitude { get; set; } /// diff --git a/AsbCloudApp/Data/WellOperationDto.cs b/AsbCloudApp/Data/WellOperationDto.cs index c2de3b64..48ff9e30 100644 --- a/AsbCloudApp/Data/WellOperationDto.cs +++ b/AsbCloudApp/Data/WellOperationDto.cs @@ -8,12 +8,15 @@ namespace AsbCloudApp.Data /// public class WellOperationDto : IId, IWellRelated { + + + /// public int Id { get; set; } /// [Required] - [Range(1, int.MaxValue)] + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// @@ -91,7 +94,7 @@ namespace AsbCloudApp.Data /// /// Полезный комментарий /// - [StringLength(4096)] + [StringLength(4096, ErrorMessage = "Комментарий не может быть длиннее 4096 символов")] public string? Comment { get; set; } } } diff --git a/AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs b/AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs deleted file mode 100644 index 88902c83..00000000 --- a/AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs +++ /dev/null @@ -1,20 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class ClusterDtoValidator : AbstractValidator - { - public ClusterDtoValidator() - { - RuleFor(x => x.Caption).Length(1, 50) - .WithMessage("Допустимая длина названия от 1 до 50 символов"); - 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"); - RuleFor(x => x.IdDeposit).GreaterThan(0) - .WithMessage("Id не может быть меньше 1"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/DepositDtoValidator.cs b/AsbCloudInfrastructure/Validators/DepositDtoValidator.cs deleted file mode 100644 index dc3dfae3..00000000 --- a/AsbCloudInfrastructure/Validators/DepositDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class DepositDtoValidator : AbstractValidator - { - public DepositDtoValidator() - { - RuleFor(x => x.Caption).Length(1, 50) - .WithMessage("Допустимая длина названия от 1 до 50 символов"); - 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/FileInfoDtoValidator.cs b/AsbCloudInfrastructure/Validators/FileInfoDtoValidator.cs deleted file mode 100644 index 364247d0..00000000 --- a/AsbCloudInfrastructure/Validators/FileInfoDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class FileInfoDtoValidator : AbstractValidator - { - public FileInfoDtoValidator() - { - RuleFor(x => x.IdWell).GreaterThan(0) - .WithMessage("Id скважины не может быть меньше 1"); - RuleFor(x => x.IdCategory).GreaterThan(0) - .WithMessage("Id категории файла не может быть меньше 1"); - RuleFor(x => x.Name).Length(1, 260) - .WithMessage("Допустимое имя файла от 1 до 260 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs b/AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs deleted file mode 100644 index d894815a..00000000 --- a/AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class FileMarkDtoValidator : AbstractValidator - { - public FileMarkDtoValidator() - { - RuleFor(x => x.IdFile).GreaterThan(0) - .WithMessage("Id файла не может быть ниже 1"); - RuleFor(x => x.IdMarkType).GreaterThan(0) - .WithMessage("Id категории действия с файлом не может быть ниже 1"); - RuleFor(x => x.Comment).MaximumLength(4096) - .WithMessage("Длина текста комментария не может быть выше 4096 символов"); - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/ReportPropertiesDtoValidator.cs b/AsbCloudInfrastructure/Validators/ReportPropertiesDtoValidator.cs deleted file mode 100644 index 344a7a95..00000000 --- a/AsbCloudInfrastructure/Validators/ReportPropertiesDtoValidator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class ReportPropertiesDtoValidator : AbstractValidator - { - public ReportPropertiesDtoValidator() - { - RuleFor(x => x.Name).Length(1, 260) - .WithMessage("Допустимая длина имени файла от 1 до 260 символов"); - RuleFor(x => x.IdWell).GreaterThan(0) - .WithMessage("Id скважины не может быть меньше 1"); - } - } -} \ No newline at end of file From 0540df26c43a103c02091234c71b97c2855dacab Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 05:42:54 +0500 Subject: [PATCH 05/10] edit validate user registration --- AsbCloudApp/Data/UserDto.cs | 11 ++++++--- AsbCloudApp/Data/UserRegistrationDto.cs | 6 ++++- .../UserRegistrationDtoValidator.cs | 24 ------------------- 3 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs diff --git a/AsbCloudApp/Data/UserDto.cs b/AsbCloudApp/Data/UserDto.cs index e988f7e4..bff9d61e 100644 --- a/AsbCloudApp/Data/UserDto.cs +++ b/AsbCloudApp/Data/UserDto.cs @@ -13,40 +13,45 @@ namespace AsbCloudApp.Data /// /// логин /// - [Required] - [StringLength(255, MinimumLength = 2)] + [Required(ErrorMessage = "Логин не должен быть пустым")] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")] public string Login { get; set; } = null!; /// /// Имя /// + [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина имени от 1 до 50 символов")] public string? Name { get; set; } /// /// Фамилия /// + [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина фамилии от 1 до 50 символов")] public string? Surname { get; set; } /// /// Отчество /// + [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина отчества от 1 до 50 символов")] public string? Patronymic { get; set; } /// /// Email /// [Required] - [StringLength(255, MinimumLength = 6)] + [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина email от 1 до 260 символов")] public string Email { get; set; } = null!; /// /// Phone /// + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина телефона от 1 до 50 символов")] public string? Phone { get; set; } /// /// Должность /// + [StringLength(100, MinimumLength = 1, ErrorMessage = "Допустимая длина должности от 1 до 100 символов")] public string? Position { get; set; } /// diff --git a/AsbCloudApp/Data/UserRegistrationDto.cs b/AsbCloudApp/Data/UserRegistrationDto.cs index b919f9cf..da17cc0c 100644 --- a/AsbCloudApp/Data/UserRegistrationDto.cs +++ b/AsbCloudApp/Data/UserRegistrationDto.cs @@ -1,4 +1,6 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// public class UserRegistrationDto : UserDto @@ -6,6 +8,8 @@ /// /// пароль, используется только при регистрации. /// + [Required(ErrorMessage = "Пароль не должен быть пустым")] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")] public string Password { get; set; } = null!; } } diff --git a/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs b/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs deleted file mode 100644 index 6e1ea0f7..00000000 --- a/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs +++ /dev/null @@ -1,24 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class UserRegistrationDtoValidator : AbstractValidator - { - 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 символов"); - } - } -} \ No newline at end of file From 65d846dba49adfde1218f082901431aece11df0f Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 05:48:43 +0500 Subject: [PATCH 06/10] dev changes --- AsbCloudApp/Data/CompanyDto.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs index dd263e8d..f827a4d3 100644 --- a/AsbCloudApp/Data/CompanyDto.cs +++ b/AsbCloudApp/Data/CompanyDto.cs @@ -26,6 +26,6 @@ namespace AsbCloudApp.Data /// Название типа компании /// [StringLength(30, MinimumLength = 1, ErrorMessage = "Допустимое имя типа компании от 1 до 30 символов")] - public string CompanyTypeCaption { get; set; } = null!; + public string? CompanyTypeCaption { get; set; } = null!; } } From fe25c1e962dc81a84fce1141d681ca430a7fa184 Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 05:53:48 +0500 Subject: [PATCH 07/10] edit message dto --- AsbCloudApp/Data/MessageDto.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/AsbCloudApp/Data/MessageDto.cs b/AsbCloudApp/Data/MessageDto.cs index 490897ed..0cdc70c4 100644 --- a/AsbCloudApp/Data/MessageDto.cs +++ b/AsbCloudApp/Data/MessageDto.cs @@ -25,6 +25,7 @@ namespace AsbCloudApp.Data /// /// глубина забоя, при котором событие возникло /// + [Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")] public double WellDepth { get; set; } /// From a35a89c7ffc0a99c14feb1c348909a374c034f3f Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 06:01:36 +0500 Subject: [PATCH 08/10] remove fluent validator --- .../AsbCloudInfrastructure.csproj | 1 - AsbCloudInfrastructure/DependencyInjection.cs | 10 ++----- .../Validators/DependencyInjection.cs | 30 ------------------- .../Validators/MessageDtoValidator.cs | 21 ------------- .../Validators/TimeDtoValidator.cs | 28 ----------------- ConsoleApp1/Program.cs | 5 +--- 6 files changed, 3 insertions(+), 92 deletions(-) delete mode 100644 AsbCloudInfrastructure/Validators/DependencyInjection.cs delete mode 100644 AsbCloudInfrastructure/Validators/MessageDtoValidator.cs delete mode 100644 AsbCloudInfrastructure/Validators/TimeDtoValidator.cs diff --git a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj index ffc380f4..3e0d80ab 100644 --- a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj +++ b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj @@ -39,7 +39,6 @@ - diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs index 2da84cc4..f74de38e 100644 --- a/AsbCloudInfrastructure/DependencyInjection.cs +++ b/AsbCloudInfrastructure/DependencyInjection.cs @@ -17,8 +17,6 @@ using AsbCloudInfrastructure.Services.SAUB; using AsbCloudInfrastructure.Services.Subsystems; using AsbCloudInfrastructure.Services.Trajectory; using AsbCloudInfrastructure.Services.WellOperationService; -using AsbCloudInfrastructure.Validators; -using FluentValidation.AspNetCore; using Mapster; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Caching.Memory; @@ -92,9 +90,7 @@ namespace AsbCloudInfrastructure #endif services.AddDbContext(options => options.UseNpgsql(configuration.GetConnectionString(connectionStringName))); - - // TODO: переместить FluentValidation в описание моделей - services.AddFluentValidationClientsideAdapters(); + services.AddMemoryCache(); services.AddScoped(provider => provider.GetService()); @@ -195,9 +191,7 @@ namespace AsbCloudInfrastructure services.AddTransient, WitsRecordRepository>(); services.AddTransient, WitsRecordRepository>(); services.AddTransient, WitsRecordRepository>(); - services.AddTransient, WitsRecordRepository>(); - - services.AddValidators(); + services.AddTransient, WitsRecordRepository>(); return services; } diff --git a/AsbCloudInfrastructure/Validators/DependencyInjection.cs b/AsbCloudInfrastructure/Validators/DependencyInjection.cs deleted file mode 100644 index d45dfed9..00000000 --- a/AsbCloudInfrastructure/Validators/DependencyInjection.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; - -namespace AsbCloudInfrastructure.Validators -{ - public static class DependencyInjection - { - public static IServiceCollection AddValidators(this IServiceCollection services) - { - // services.AddTransient, AuthDtoValidator>(); - // services.AddTransient, ClusterDtoValidator>(); - // services.AddTransient, CompanyDtoValidator>(); - // services.AddTransient, DepositDtoValidator>(); - // services.AddTransient, ProcessMapValidator>(); - // services.AddTransient, EventDtoValidator>(); - // services.AddTransient, FileInfoDtoValidator>(); - // services.AddTransient, FileMarkDtoValidator>(); - // services.AddTransient, MeasureDtoValidator>(); - // services.AddTransient, MessageDtoValidator>(); - // services.AddTransient, PermissionDtoValidator>(); - // services.AddTransient, ReportPropertiesDtoValidator>(); - // services.AddTransient, UserRegistrationDtoValidator>(); - // services.AddTransient, UserRoleDtoValidator>(); - // services.AddTransient, WellDtoValidator>(); - // services.AddTransient, WellOperationDtoValidator>(); - // TimeDtoValidator - - return services; - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs b/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs deleted file mode 100644 index 31c84b34..00000000 --- a/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs +++ /dev/null @@ -1,21 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class MessageDtoValidator : AbstractValidator - { - - //TODO: в модели дто сообщения отсутствует поле Id скважины - // скорее всего опечатка т.к. используется глубина в правиле валидатора - //в других валидаторах парамтр глубины идет рэнжированный от...до - - public MessageDtoValidator() - { - - RuleFor(x => x.WellDepth).GreaterThan(-1) - .WithMessage("Id скважины не может быть ниже 1"); - - } - } -} \ No newline at end of file diff --git a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs b/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs deleted file mode 100644 index 00bdfeb0..00000000 --- a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs +++ /dev/null @@ -1,28 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class TimeDtoValidator : AbstractValidator - { - - //TODO: в текущей реализации данные проверки регулируются в свойстве модели блоком set - // какая предпочтительнее? - - - public TimeDtoValidator() - { - RuleFor(x => x.Hour) - .InclusiveBetween(0, 23) - .WithMessage("hour should be in [0; 23]"); - - RuleFor(x => x.Minute) - .InclusiveBetween(0, 59) - .WithMessage("minute should be in [0; 59]"); - - RuleFor(x => x.Second) - .InclusiveBetween(0, 59) - .WithMessage("second should be in [0; 59]"); - } - } -} diff --git a/ConsoleApp1/Program.cs b/ConsoleApp1/Program.cs index 9d4ff2c6..15f086ae 100644 --- a/ConsoleApp1/Program.cs +++ b/ConsoleApp1/Program.cs @@ -18,10 +18,7 @@ namespace ConsoleApp1 static void Main(/*string[] args*/) { - var n = "-159.99"; - var s = "159.99s"; - var r1 = reg.IsMatch( n ); - var r2 = reg.IsMatch( s ); + } } } From 0750b0fc9ae5696520b6f79498e1c5431c352e3e Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 10:34:03 +0500 Subject: [PATCH 09/10] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D0=BC=D1=83=D1=81=D0=BE?= =?UTF-8?q?=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Data/FileInfoDto.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/AsbCloudApp/Data/FileInfoDto.cs b/AsbCloudApp/Data/FileInfoDto.cs index c9e91df4..1d5c0431 100644 --- a/AsbCloudApp/Data/FileInfoDto.cs +++ b/AsbCloudApp/Data/FileInfoDto.cs @@ -57,13 +57,6 @@ namespace AsbCloudApp.Data /// /// список отметок файла /// - public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); - - //RuleFor(x => x.IdWell).GreaterThan(0) - // .WithMessage("Id скважины не может быть меньше 1"); - //RuleFor(x => x.IdCategory).GreaterThan(0) - // .WithMessage("Id категории файла не может быть меньше 1"); - //RuleFor(x => x.Name).Length(1, 260) - // .WithMessage("Допустимое имя файла от 1 до 260 символов"); + public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); } } From 7de6d036b7402118a3529045b4e663c43c26a9a1 Mon Sep 17 00:00:00 2001 From: eugeniy_ivanov Date: Fri, 10 Mar 2023 13:40:05 +0500 Subject: [PATCH 10/10] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Data/AuthDto.cs | 2 +- AsbCloudApp/Data/CompanyDto.cs | 2 +- AsbCloudApp/Data/FileInfoDto.cs | 2 +- AsbCloudApp/Data/MessageDto.cs | 4 ++++ AsbCloudApp/Data/PermissionDto.cs | 2 +- AsbCloudApp/Data/ReportPropertiesDto.cs | 5 ----- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/AsbCloudApp/Data/AuthDto.cs b/AsbCloudApp/Data/AuthDto.cs index f232ee43..9369e4c1 100644 --- a/AsbCloudApp/Data/AuthDto.cs +++ b/AsbCloudApp/Data/AuthDto.cs @@ -6,7 +6,7 @@ namespace AsbCloudApp.Data /// DTO для авторизации /// public class AuthDto - { + { /// /// Имя пользователя для входа /// diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs index f827a4d3..61ae698c 100644 --- a/AsbCloudApp/Data/CompanyDto.cs +++ b/AsbCloudApp/Data/CompanyDto.cs @@ -19,7 +19,7 @@ namespace AsbCloudApp.Data /// /// ИД типа компании - /// + /// public int IdCompanyType { get; set; } /// diff --git a/AsbCloudApp/Data/FileInfoDto.cs b/AsbCloudApp/Data/FileInfoDto.cs index 1d5c0431..1be97623 100644 --- a/AsbCloudApp/Data/FileInfoDto.cs +++ b/AsbCloudApp/Data/FileInfoDto.cs @@ -57,6 +57,6 @@ namespace AsbCloudApp.Data /// /// список отметок файла /// - public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); + public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); } } diff --git a/AsbCloudApp/Data/MessageDto.cs b/AsbCloudApp/Data/MessageDto.cs index 0cdc70c4..c3f5def4 100644 --- a/AsbCloudApp/Data/MessageDto.cs +++ b/AsbCloudApp/Data/MessageDto.cs @@ -22,6 +22,10 @@ namespace AsbCloudApp.Data [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")] public int CategoryId { get; set; } + //TODO: в модели дто сообщения отсутствует поле Id скважины + // скорее всего опечатка т.к. используется глубина в правиле валидатора + //в других валидаторах парамтр глубины идет рэнжированный от...до + /// /// глубина забоя, при котором событие возникло /// diff --git a/AsbCloudApp/Data/PermissionDto.cs b/AsbCloudApp/Data/PermissionDto.cs index df4fa51b..d3fcf359 100644 --- a/AsbCloudApp/Data/PermissionDto.cs +++ b/AsbCloudApp/Data/PermissionDto.cs @@ -6,7 +6,7 @@ namespace AsbCloudApp.Data /// Разрешение для группы пользователей сделать что-либо через web-api.
/// применяется как возможность доступа к Endpoint.
///
- public class PermissionDto : IId + public class PermissionDto : IId { /// public int Id { get; set; } diff --git a/AsbCloudApp/Data/ReportPropertiesDto.cs b/AsbCloudApp/Data/ReportPropertiesDto.cs index b66592df..82caa77e 100644 --- a/AsbCloudApp/Data/ReportPropertiesDto.cs +++ b/AsbCloudApp/Data/ReportPropertiesDto.cs @@ -50,10 +50,5 @@ namespace AsbCloudApp.Data /// формат файла ///
public string Format { get; set; } = string.Empty; - - //RuleFor(x => x.Name).Length(1, 260) - // .WithMessage("Допустимая длина имени файла от 1 до 260 символов"); - //RuleFor(x => x.IdWell).GreaterThan(0) - // .WithMessage("Id скважины не может быть меньше 1"); } }