using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WorkFlowCheck.Common.DTO
{
    public class UserChangePassword2FADTO
    {
        public int UserId { get; set; }
        [DisplayName("Felhasználó")]
        public string UserName { get; set; } = null!;

        [DisplayName("Régi jelszó")]
        public string OldPassword { get; set; } = null!;

        [Required(ErrorMessage = "A jelszó kötelező.")]
        [RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{6,}$", ErrorMessage = "Az új jelszónak legalább 6 karakter hosszúnak kell lennie, és tartalmaznia kell kis- és nagybetűt, számot és speciális karaktert.")]
        [DisplayName("Új jelszó")]
        public string NewPassword1 { get; set; } = null!;

        [Required(ErrorMessage = "A jelszó kötelező.")]
        [RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{6,}$", ErrorMessage = "Az új jelszónak legalább 6 karakter hosszúnak kell lennie, és tartalmaznia kell kis- és nagybetűt, számot és speciális karaktert.")]
        [DisplayName("Jelszó megerősítése")]
        public string NewPassword2 { get; set; } = null!;

        [DisplayName("Ellenőrző kód")]
        public string Code { get; set; } = null!;
        public string Token2FA { get; set; } = null!;
    }
}
