using System.ComponentModel.DataAnnotations;
using CodeLiturgy.Data.Application.Users;
namespace CodeLiturgy.Data.Auth.Context.Users;
///
///
///
public class RegisterRequest
{
///
/// Email
///
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
///
/// Password
///
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
///
/// Username
///
public string Username { get; set; }
///
/// ConfirmPassword
///
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
///
/// ConfirmPassword
///
[DataType(DataType.PhoneNumber)]
[Display(Name = "Phone Number")]
public string PhoneNumber { get; set; }
///
/// Convert RegisterViewModel to ApplicationUser
///
///
public ApplicationUser ToUser()
{
var newUser = new ApplicationUser();
newUser.Email = Email;
newUser.PasswordHash = Password;
newUser.UserName = Username;
newUser.PhoneNumber = PhoneNumber;
return newUser;
}
}