using System.ComponentModel.DataAnnotations;

namespace MemberCenter.Web.Models.Profile;

public sealed class ProfileViewModel
{
    [Required]
    [StringLength(100)]
    public string LastName { get; set; } = string.Empty;

    [Required]
    [StringLength(100)]
    public string FirstName { get; set; } = string.Empty;

    [StringLength(100)]
    public string? NickName { get; set; }

    [StringLength(50)]
    public string? MobilePhone { get; set; }

    [StringLength(50)]
    public string? LandlinePhone { get; set; }

    [DataType(DataType.Date)]
    public DateOnly? DateOfBirth { get; set; }

    [Required]
    public string Gender { get; set; } = "unspecified";

    [StringLength(200)]
    public string? CompanyName { get; set; }

    [StringLength(200)]
    public string? Department { get; set; }

    [StringLength(200)]
    public string? JobTitle { get; set; }

    [StringLength(50)]
    public string? CompanyPhone { get; set; }

    [StringLength(32)]
    public string? TaxId { get; set; }

    [StringLength(200)]
    public string? InvoiceTitle { get; set; }

    [StringLength(1000)]
    public string? Remark { get; set; }

    public string Email { get; set; } = string.Empty;
    public bool EmailConfirmed { get; set; }
}
