namespace TaxBaik.Application.DTOs;

using System.ComponentModel.DataAnnotations;

public class SubmitInquiryDto
{
    [Required(ErrorMessage = "이름을 입력하세요.")]
    [StringLength(ValidationRules.NameMaxLength, ErrorMessage = "이름은 최대 100자까지 입력 가능합니다.")]
    public string Name { get; set; } = string.Empty;

    [Required(ErrorMessage = "전화번호를 입력하세요.")]
    [RegularExpression(
        ValidationRules.KoreanPhonePattern,
        ErrorMessage = "올바른 전화번호 형식이 아닙니다.")]
    public string Phone { get; set; } = string.Empty;

    [EmailAddress(ErrorMessage = "올바른 이메일 형식이 아닙니다.")]
    public string? Email { get; set; }

    [StringLength(ValidationRules.ServiceTypeMaxLength, ErrorMessage = "상담분야는 최대 50자까지 입력 가능합니다.")]
    public string ServiceType { get; set; } = string.Empty;

    [Required(ErrorMessage = "문의 내용을 입력하세요.")]
    [StringLength(ValidationRules.MessageMaxLength, MinimumLength = ValidationRules.MessageMinLength, ErrorMessage = "문의 내용은 최소 10자, 최대 5000자까지 입력 가능합니다.")]
    public string Message { get; set; } = string.Empty;

    public bool SuppressNotification { get; set; }
}
