change dtos (auth,event,company,measure,message,userRole,well,welloperation)

and delete validators
This commit is contained in:
eugeniy_ivanov 2023-03-07 00:04:20 +05:00
parent 546ac8068e
commit d6d14ca2f2
16 changed files with 50 additions and 121 deletions

View File

@ -1,18 +1,24 @@
namespace AsbCloudApp.Data
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
{
/// <summary>
/// DTO для авторизации
/// </summary>
public class AuthDto
{
{
/// <summary>
/// Имя пользователя для входа
/// </summary>
[Required]
[StringLength(50, MinimumLength = 1)]
public string Login { get; set; } = null!;
/// <summary>
/// Пароль пользователя для входа
/// </summary>
[Required]
[StringLength(50, MinimumLength = 1)]
public string Password { get; set; } = null!;
}
}

View File

@ -14,16 +14,18 @@ namespace AsbCloudApp.Data
/// Название
/// </summary>
[Required]
[StringLength(50, MinimumLength = 1)]
public string Caption { get; set; } = null!;
/// <summary>
/// ИД типа компании
/// </summary>
/// </summary>
public int IdCompanyType { get; set; }
/// <summary>
/// Название типа компании
/// </summary>
[StringLength(30, MinimumLength = 1)]
public string CompanyTypeCaption { get; set; } = null!;
}
}

View File

@ -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; }
/// <inheritdoc/>
[Range(1, int.MaxValue)]
public int IdWell { get; set; }
/// <summary>
/// Id категории замера
/// </summary>
[Range(1, int.MaxValue)]
public int IdCategory { get; set; }
/// <summary>
/// название категории замера
/// </summary>
[StringLength(120, MinimumLength = 1)]
public string CategoryName { get; set; } = string.Empty;
/// <summary>

View File

@ -1,4 +1,5 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
{
@ -18,6 +19,7 @@ namespace AsbCloudApp.Data
/// <summary>
/// категория события
/// </summary>
[Range(1, int.MaxValue)]
public int CategoryId { get; set; }
/// <summary>
@ -33,6 +35,7 @@ namespace AsbCloudApp.Data
/// <summary>
/// текст сообщения
/// </summary>
[StringLength(400, MinimumLength = 1)]
public string Message { get; set; } = string.Empty;
}
}

View File

@ -1,4 +1,6 @@
namespace AsbCloudApp.Data.SAUB
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data.SAUB
{
/// <summary>
/// Описание шаблона события панели оператора
@ -8,6 +10,7 @@
/// <summary>
/// id события
/// </summary>
public int Id { get; set; }
/// <summary>
@ -18,6 +21,7 @@
/// <summary>
/// id категории события
/// </summary>
[Range(1, int.MaxValue)]
public int IdCategory { get; set; }
/// <summary>
@ -28,6 +32,7 @@
/// <summary>
/// тип определения наступления события
/// </summary>
[Range(1, int.MaxValue)]
public int EventType { get; set; }
/// <summary>

View File

@ -16,6 +16,7 @@ namespace AsbCloudApp.Data
/// название
/// </summary>
[Required]
[StringLength(50, MinimumLength = 1)]
public string Caption { get; set; } = null!;
/// <summary>

View File

@ -10,10 +10,12 @@ namespace AsbCloudApp.Data
/// </summary>
public class WellDto : WellInfoDto, IMapPoint, IId
{
/// <inheritdoc/>
/// <inheritdoc/>
[Range(-90, 90)]
public double? Latitude { get; set; }
/// <inheritdoc/>
[Range(-180, 180)]
public double? Longitude { get; set; }
/// <inheritdoc/>

View File

@ -7,12 +7,13 @@ namespace AsbCloudApp.Data
/// Операции на скважине (заведенные пользователем)
/// </summary>
public class WellOperationDto : IId, IWellRelated
{
{
/// <inheritdoc/>
public int Id { get; set; }
/// <inheritdoc/>
[Required]
[Range(1, int.MaxValue)]
public int IdWell { get; set; }
/// <summary>
@ -90,7 +91,7 @@ namespace AsbCloudApp.Data
/// <summary>
/// Полезный комментарий
/// </summary>
[StringLength(8192)]
[StringLength(4096)]
public string? Comment { get; set; }
}
}

View File

@ -1,18 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class AuthDtoValidator : AbstractValidator<AuthDto>
{
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 символов");
}
}
}

View File

@ -1,16 +0,0 @@
using AsbCloudApp.Data.SAUB;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class EventDtoValidator : AbstractValidator<EventDto>
{
public EventDtoValidator()
{
RuleFor(x => x.IdCategory).GreaterThan(0)
.WithMessage("Id категории события не может быть отрицательным");
RuleFor(x => x.EventType).GreaterThan(0)
.WithMessage("Id типа события не может быть отрицательным");
}
}
}

View File

@ -1,18 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class MeasureDtoValidator : AbstractValidator<MeasureDto>
{
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 символов");
}
}
}

View File

@ -5,14 +5,17 @@ namespace AsbCloudInfrastructure.Validators
{
public class MessageDtoValidator : AbstractValidator<MessageDto>
{
//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 символов");
}
}
}

View File

@ -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 символов");
}
}
}

View File

@ -1,14 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class UserRoleDtoValidator : AbstractValidator<UserRoleDto>
{
public UserRoleDtoValidator()
{
RuleFor(x => x.Caption).Length(0, 50)
.WithMessage("Допустимая длина названия роли от 1 до 50 символов");
}
}
}

View File

@ -1,16 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class WellDtoValidator : AbstractValidator<WellDto>
{
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");
}
}
}

View File

@ -1,16 +0,0 @@
using AsbCloudApp.Data;
using FluentValidation;
namespace AsbCloudInfrastructure.Validators
{
public class WellOperationDtoValidator : AbstractValidator<WellOperationDto>
{
public WellOperationDtoValidator()
{
RuleFor(x => x.IdWell).GreaterThan(0)
.WithMessage("Id скважины не может быть меньше 1");
RuleFor(x => x.Comment).MaximumLength(4096)
.WithMessage("Комментарий не может быть длиннее 4096 символов");
}
}
}