using Lada.Framework.Data.Domains.Hr;
using Lada.Framework.DTO;
using Ladaer.BackEnd.Infrastructures.DTO.Models.Cms;

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.Hr
{
    public class JobPostModel : BaseModel<int>
    {
        /// <summary>
        /// Ảnh đại diện
        /// </summary>
        public string Thumbnail { get; set; } = "";

        #region Thông tin chung
        /// <summary>
        /// Tên công việc / chức danh
        /// </summary>
        public string Title { get; set; } = "";

        /// <summary>
        /// Mô tả công việc
        /// </summary>
        public string Description { get; set; } = "";

        /// <summary>
        /// Yêu cầu kinh nghiệm (ví dụ: 2 năm c++)
        /// </summary>
        public string ExperienceRequirements { get; set; } = "";

        /// <summary>
        /// Địa chỉ làm việc
        /// </summary>
        public string WorkingAddress { get; set; } = "";

        /// <summary>
        /// Loại hình công việc
        /// </summary>
        public JobType JobType { get; set; }
        #endregion

        #region Lương


        /// <summary>
        /// Mức lương tối thiểu
        /// </summary>
        public decimal MinSalary { get; set; }

        /// <summary>
        /// Mức lương tối đa
        /// </summary>
        public decimal MaxSalary { get; set; }
        #endregion

        /// <summary>
        /// Phòng ban
        /// </summary>
        public string Department { get; set; }
        


        /// <summary>
        /// Vị trí ứng tuyển
        /// </summary>
        public string Position { get; set; }

        
        /// <summary>
        /// Ngày bắt đầu
        /// </summary>
        public DateTimeOffset StartDate { get; set; }

        /// <summary>
        /// Ngày kết thúc
        /// </summary>
        public DateTimeOffset EndDate { get; set; }

        /// <summary>
        /// Email tiếp nhận CV
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// Trạng thái tin tuyển dụng: mở / đóng
        /// </summary>
        public JobStatus JobStatus { get; set; }

        public List<JobPostTagModel> Tags { get; set; }
    }
}
