using MTWorkHR.Core.Entities.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Infrastructure.Entities
{
    public class Contract : FullAuditEntity, IHaveCompany
    {
        public string FirstName { get; set; }
        public string MiddleName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }

        public int Nationality { get; set; }
        public int LivingCountry { get; set; }
      
        public bool IsVisaNeeded { get; set; } = false;


        public string? EducationLevel { get; set; }
        public string? LinkedInLink { get; set; }
        public int? NoOfDependent { get; set; }
        //Job Details-----------------
        public string? SeniorityLevel { get; set; }
        public string? JobTitle { get; set; }
        public string? JobScope { get; set; }


        //Compensation----------------------


        public decimal? GrossAnnualBaseSalary { get; set; }

        public bool? AddSigningBonus { get; set; }
        public bool? AddAnnualVariableCompensation { get; set; }
        public bool? FixedAllowances { get; set; }
        public DateTime? StartDate { get; set; }


        public bool FullTime { get; set; } = true; //full-time that will be 40 hours , part-time will be add it manually
        public int EmployeeTypeHours { get; set; } = 40; //full-time that will be 40 hours , part-time will be add it manually

        public int PaidVacationDays { get; set; }
        public int SickDays { get; set; }
        public bool EmploymentTerms { get; set; }
        public int ProbationPeriod { get; set; }
        public int Gender { get; set; }
        public DateTime? DateOfBirth { get; set; }


        public bool IsSkilled { get; set; }
        public long CompanyId { get ; set; }
    }
}