using System.ComponentModel.DataAnnotations;

namespace Persistence.Models;

/// <summary>
/// Модель параметра
/// </summary>
public class ParameterDto
{
	/// <summary>
	/// Дискриминатор системы
	/// </summary>
	[Range(0, int.MaxValue, ErrorMessage = "Дискриминатор системы не может быть меньше 0")]
	public int DiscriminatorId { get; set; }

	/// <summary>
	/// Id параметра
	/// </summary>
	[Range(0, int.MaxValue, ErrorMessage = "Id параметра не может быть меньше 0")]
	public int ParameterId { get; set; }

	/// <summary>
	/// Значение параметра в виде строки
	/// </summary>
	[StringLength(256, MinimumLength = 1, ErrorMessage = "Допустимая длина значения параметра от 1 до 256 символов")]
	public required string Value { get; set; }

	/// <summary>
	/// Временная отметка
	/// </summary>
	public DateTimeOffset Timestamp { get; set; }
}