/// <summary>
/// Token class
/// </summary>
[Index(nameof(AccessToken), IsUnique = true, Name = "Uk_DataModel_AccessToken")]
[Index(nameof(Status), Name = "Ix_DataModel_Status")]
[Index("Descripcion", Name = "UK_DataModel_Descripcion", IsUnique = true)]
public class DataModel
{
/// <summary>
/// Defgult constructor
/// </summary>
public DataModel()
{
UsernameChangeLimit = 10;
Id = Guid.NewGuid();
CreatedDate = DateTimeOffset.UtcNow.AddHours(-5);
Status = Status.Active;
ProfilePicture = Convert.FromBase64String("iVBORw0KGgo...");
}
/// <summary>
/// Expire Minutes property
/// </summary>
[Required]
[Range(1, 1440)]
public int ExpireMinutes { get; set; }
/// <summary>
/// Symmetric Security Key property
/// </summary>
[Required]
[ProtectedPersonalData]
public string SymmetricSecurityKey { get; set; }
/// <summary>
/// Id property
/// </summary>
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
/// <summary>
/// Profile Picture
/// </summary>
[Comment("ProfilePicture")]
[Display(Name = "Imagen usuario")]
[Required(ErrorMessage = "{0} requerido")]
public byte[] ProfilePicture { get; set; }
/// <summary>
/// First Name
/// </summary>
[PersonalData]
[Comment("Nombre")]
[Display(Name = "Nombre")]
[Required(ErrorMessage = "{0} requerido")]
[StringLength(50)]
[MinLength(3, ErrorMessage = "{0} mínimo {1} caracteres")]
[MaxLength(50, ErrorMessage = "{0} máximo {1} caracteres")]
public string FirstName { get; set; }
/// <summary>
/// Username Change Limit
/// </summary>
[Comment("UsernameChangeLimit")]
[Display(Name = "Límite cambio usuario")]
[Range(1, 20, ErrorMessage = "{0} rango entre {1} y {2}")]
public int UsernameChangeLimit { get; set; }
/// <summary>
/// Created Date property
/// </summary>
[Comment("CreatedDate")]
[Display(Name = "Fecha creación")]
[Required(ErrorMessage = "{0} requerido")]
[DataType(DataType.DateTime, ErrorMessage = "{0} formato fecha incorrecto")]
public DateTimeOffset CreatedDate { get; set; }
/// <summary>
/// Descripcion
/// </summary>
public string Descripcion { get; set; }
[Comment("Price")]
[Display(Name = "Precio")]
[Range(0.1, 999999999, ErrorMessage = "{0} rango entre {1} y {2}")]
public decimal Precio { get; set; }
}
No hay comentarios:
Publicar un comentario