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

namespace DataAccessLayer.Entities
{
    public class Employee : EntityBase
    {
        [Required]
        [StringLength(20)]
        public string FirstName { get; set; }
        [Required]
        [StringLength(100)]
        public string LastName { get; set; }
        [StringLength(15)]
        public string TitleBefore { get; set; }
        [StringLength(15)]
        public string TitleAfter { get; set; }
        [StringLength(11)]
        [Required]
        public string NationalId { get; set; }
        [StringLength(50)]
        [Required]
        public string Street { get; set; }
        [StringLength(30)]
        [Required]
        public string City { get; set; }
        [Required]
        public int ZIPCode { get; set; }
        [StringLength(13)]
        public string PhoneNumber { get; set; }
        [StringLength(30)]
        public string Email { get; set; }
        [Required]
        public DateTime DateOfBirth { get; set; }
        [Required]
        public DateTime DateJoined { get; set; }
        [Required]
        public int EmployeePositionId { get; set; }
        public virtual EmployeePosition EmployeePosition { get; set; }
        [Required]
        public int DepartmentId { get; set; }
        public virtual Department Department { get; set; }
        public User User { get; set; }
    }
}
