diff --git a/AsbCloudApp/Data/AuthDto.cs b/AsbCloudApp/Data/AuthDto.cs index 6b3d42ad..9369e4c1 100644 --- a/AsbCloudApp/Data/AuthDto.cs +++ b/AsbCloudApp/Data/AuthDto.cs @@ -1,4 +1,6 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// /// DTO для авторизации @@ -8,11 +10,15 @@ /// /// Имя пользователя для входа /// + [Required(ErrorMessage = "Логин не должен быть пустым")] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")] public string Login { get; set; } = null!; /// /// Пароль пользователя для входа /// + [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 d54908b9..61ae698c 100644 --- a/AsbCloudApp/Data/CompanyDto.cs +++ b/AsbCloudApp/Data/CompanyDto.cs @@ -14,6 +14,7 @@ namespace AsbCloudApp.Data /// Название /// [Required] + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 50 символов")] public string Caption { get; set; } = null!; /// @@ -24,6 +25,7 @@ namespace AsbCloudApp.Data /// /// Название типа компании /// - public string? CompanyTypeCaption { get; set; } + [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..1be97623 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!; /// 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 b19abdcc..3be34bd9 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, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// /// Id категории замера /// + [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")] public int IdCategory { get; set; } /// /// название категории замера /// + [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 b8d930c5..c3f5def4 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,11 +19,17 @@ namespace AsbCloudApp.Data /// /// категория события /// + [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")] public int CategoryId { get; set; } + //TODO: в модели дто сообщения отсутствует поле Id скважины + // скорее всего опечатка т.к. используется глубина в правиле валидатора + //в других валидаторах парамтр глубины идет рэнжированный от...до + /// /// глубина забоя, при котором событие возникло /// + [Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")] public double WellDepth { get; set; } /// @@ -33,6 +40,7 @@ namespace AsbCloudApp.Data /// /// текст сообщения /// + [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 f4d02a2e..d3fcf359 100644 --- a/AsbCloudApp/Data/PermissionDto.cs +++ b/AsbCloudApp/Data/PermissionDto.cs @@ -1,4 +1,6 @@ -namespace AsbCloudApp.Data +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data { /// /// Разрешение для группы пользователей сделать что-либо через web-api.
@@ -12,11 +14,13 @@ /// /// Название /// + [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")] public string Name { get; set; } = string.Empty; /// /// Описание /// + [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 f76a98dd..17664ba0 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, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// @@ -31,11 +33,13 @@ namespace AsbCloudApp.Data.ProcessMap /// /// Стартовая глубина /// + [Range(0,50000,ErrorMessage = "Глубина не может быть отрицательной")] public double DepthStart { get; set; } /// /// Глубина окончания интервала /// + [Range(0, 50000, ErrorMessage = "Глубина не может быть отрицательной")] public double DepthEnd { get; set; } /// diff --git a/AsbCloudApp/Data/ReportPropertiesDto.cs b/AsbCloudApp/Data/ReportPropertiesDto.cs index 217f7598..82caa77e 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!; /// diff --git a/AsbCloudApp/Data/SAUB/EventDto.cs b/AsbCloudApp/Data/SAUB/EventDto.cs index 94b16aa7..d8103d17 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, ErrorMessage = "Id категории события не может быть отрицательным")] public int IdCategory { get; set; } /// @@ -28,6 +32,7 @@ /// /// тип определения наступления события /// + [Range(1, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")] public int EventType { get; set; } /// 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/AsbCloudApp/Data/UserRoleDto.cs b/AsbCloudApp/Data/UserRoleDto.cs index 069db593..75a95dc7 100644 --- a/AsbCloudApp/Data/UserRoleDto.cs +++ b/AsbCloudApp/Data/UserRoleDto.cs @@ -16,6 +16,7 @@ namespace AsbCloudApp.Data /// название /// [Required] + [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 ec1d4540..4ffd262e 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, ErrorMessage = "Допустимые значения широты от -90 до 90")] public double? Latitude { get; set; } /// + [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")] public double? Longitude { get; set; } /// diff --git a/AsbCloudApp/Data/WellOperationDto.cs b/AsbCloudApp/Data/WellOperationDto.cs index 5e7a917f..48ff9e30 100644 --- a/AsbCloudApp/Data/WellOperationDto.cs +++ b/AsbCloudApp/Data/WellOperationDto.cs @@ -7,12 +7,16 @@ namespace AsbCloudApp.Data /// Операции на скважине (заведенные пользователем) /// public class WellOperationDto : IId, IWellRelated - { + { + + + /// public int Id { get; set; } /// [Required] + [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// @@ -90,7 +94,7 @@ namespace AsbCloudApp.Data /// /// Полезный комментарий /// - [StringLength(8192)] + [StringLength(4096, ErrorMessage = "Комментарий не может быть длиннее 4096 символов")] public string? Comment { get; set; } } } 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/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/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/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/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/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/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/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/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 deleted file mode 100644 index dff52f4a..00000000 --- a/AsbCloudInfrastructure/Validators/MessageDtoValidator.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class MessageDtoValidator : AbstractValidator - { - 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/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 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 diff --git a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs b/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs deleted file mode 100644 index e0c97233..00000000 --- a/AsbCloudInfrastructure/Validators/TimeDtoValidator.cs +++ /dev/null @@ -1,23 +0,0 @@ -using AsbCloudApp.Data; -using FluentValidation; - -namespace AsbCloudInfrastructure.Validators -{ - public class TimeDtoValidator : AbstractValidator - { - 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/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs b/AsbCloudInfrastructure/Validators/UserRegistrationDtoValidator.cs deleted file mode 100644 index e80e59c7..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 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 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 ); + } } }