using Tiobon.Core.Model.Models;

namespace Tiobon.Core.Model.ViewModels.Extend;

public class CertificateDesignerData

{
    /// <summary>
    /// bgColor
    /// </summary>
    [Display(Name = "bgColor"), Description("bgColor"), MaxLength(32, ErrorMessage = "bgColor 不能超过 32 个字符")]
    public string bgColor { get; set; }

    /// <summary>
    /// bgImgSize
    /// </summary>
    [Display(Name = "bgImgSize"), Description("bgImgSize"), MaxLength(32, ErrorMessage = "bgImgSize 不能超过 32 个字符")]
    public string bgImgSize { get; set; }

    /// <summary>
    /// bgImgUrl
    /// </summary>
    [Display(Name = "bgImgUrl"), Description("bgImgUrl"), MaxLength(200, ErrorMessage = "bgImgUrl 不能超过 200 个字符")]
    public string bgImgUrl { get; set; }

    /// <summary>
    /// height
    /// </summary>
    public int? height { get; set; }

    /// <summary>
    /// opacity
    /// </summary>
    [Display(Name = "opacity"), Description("opacity"), Column(TypeName = "decimal(20,2)")]
    public decimal? opacity { get; set; }

    /// <summary>
    /// thumbnailImage
    /// </summary>
    [Display(Name = "thumbnailImage"), Description("thumbnailImage"), MaxLength(200, ErrorMessage = "thumbnailImage 不能超过 200 个字符")]
    public string thumbnailImage { get; set; }

    /// <summary>
    /// width
    /// </summary>
    public int? width { get; set; }
    public List<CertificateDesignerItem> containerItems { get; set; } = new List<CertificateDesignerItem>();
}

public class CertificateDesignerItem
{
    public string id { get; set; }
    /// <summary>
    /// certNoFixed
    /// </summary>
    [Display(Name = "certNoFixed"), Description("certNoFixed"), MaxLength(32, ErrorMessage = "certNoFixed 不能超过 32 个字符")]
    public string certNoFixed { get; set; }

    /// <summary>
    /// certNoRule
    /// </summary>
    [Display(Name = "certNoRule"), Description("certNoRule"), MaxLength(32, ErrorMessage = "certNoRule 不能超过 32 个字符")]
    public string certNoRule { get; set; }

    /// <summary>
    /// color
    /// </summary>
    [Display(Name = "color"), Description("color"), MaxLength(32, ErrorMessage = "color 不能超过 32 个字符")]
    public string color { get; set; }

    /// <summary>
    /// customDate
    /// </summary>
    public DateTime? customDate { get; set; }

    /// <summary>
    /// dateFormat
    /// </summary>
    [Display(Name = "dateFormat"), Description("dateFormat"), MaxLength(32, ErrorMessage = "dateFormat 不能超过 32 个字符")]
    public string dateFormat { get; set; }

    /// <summary>
    /// dateRule
    /// </summary>
    [Display(Name = "dateRule"), Description("dateRule"), MaxLength(32, ErrorMessage = "dateRule 不能超过 32 个字符")]
    public string dateRule { get; set; }

    /// <summary>
    /// elBgColor
    /// </summary>
    [Display(Name = "elBgColor"), Description("elBgColor"), MaxLength(32, ErrorMessage = "elBgColor 不能超过 32 个字符")]
    public string elBgColor { get; set; }

    /// <summary>
    /// field
    /// </summary>
    [Display(Name = "field"), Description("field"), MaxLength(32, ErrorMessage = "field 不能超过 32 个字符")]
    public string field { get; set; }

    /// <summary>
    /// fontSize
    /// </summary>
    public int? fontSize { get; set; }

    /// <summary>
    /// fontWeight
    /// </summary>
    public int? fontWeight { get; set; }

    /// <summary>
    /// height
    /// </summary>
    public decimal? height { get; set; }

    /// <summary>
    /// id1
    /// </summary>
    [Display(Name = "id1"), Description("id1"), MaxLength(64, ErrorMessage = "id1 不能超过 64 个字符")]
    public string id1 { get; set; }

    /// <summary>
    /// imageSize
    /// </summary>
    [Display(Name = "imageSize"), Description("imageSize"), MaxLength(32, ErrorMessage = "imageSize 不能超过 32 个字符")]
    public string imageSize { get; set; }

    /// <summary>
    /// imageUrl
    /// </summary>
    [Display(Name = "imageUrl"), Description("imageUrl"), MaxLength(128, ErrorMessage = "imageUrl 不能超过 128 个字符")]
    public string imageUrl { get; set; }

    /// <summary>
    /// left
    /// </summary>
    public decimal? left { get; set; }

    /// <summary>
    /// lineHeight
    /// </summary>
    public int? lineHeight { get; set; }

    /// <summary>
    /// padding
    /// </summary>
    public int? padding { get; set; }

    /// <summary>
    /// text
    /// </summary> 
    public string text { get; set; }

    /// <summary>
    /// top
    /// </summary>
    public decimal? top { get; set; }

    /// <summary>
    /// type
    /// </summary>
    [Display(Name = "type"), Description("type"), MaxLength(32, ErrorMessage = "type 不能超过 32 个字符")]
    public string type { get; set; }

    /// <summary>
    /// width
    /// </summary>
    public decimal? width { get; set; }

    /// <summary>
    /// zIndex
    /// </summary>
    public int? zIndex { get; set; }

    /// <summary>
    /// certificateBodyRule
    /// </summary>
    public string certificateBodyRule { get; set; }

    /// <summary>
    /// certificateBody
    /// </summary>
    public string certificateBody { get; set; }
    public string align { get; set; }
}
