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