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

namespace AipGateway.API.Domain.Entities
{
    [Table("TB_AIP_LABEL")]
    public class TbAipLabel
    {
        [Key]
        //[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int LabelId { get; set; }

        [StringLength(255)]
        public string LabelGuid { get; set; } = string.Empty;

        [StringLength(255)]
        public string LabelName { get; set; } = string.Empty;


        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public DateTime CreatedAt { get; set; } = DateTime.Now;
        public bool UseYn { get; set; }
        
        [StringLength(512)]
        public string? LabelDesc { get; set; }
        public DateTime? DeletedAt { get; set; }

        public override string ToString()
        {
            return "TbAipLabel{ LabelId: " + LabelId + ", LabelGuid: " + LabelGuid + ", LabelName: " + LabelName + ", CreatedAt: " + CreatedAt +
                ", UseYn: " + UseYn + ", LabelDesc: " + LabelDesc + ", DeletedAt: " + DeletedAt + "}";
        }

    }
}
