using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Threading.Tasks; using EveryThing.Models.Vehicle; using Microsoft.AspNetCore.Http; namespace EveryThing.Models.CodeTable { public enum CodeTableEmployeeGender { [Display(Name = "Moški")] Male = 0, [Display(Name = "Ženska")] Female = 1 } public class CodeTableEmployee { [Key] public int IdEmployee { get; set; } [Required] [ForeignKey("Company")] public int IdCompanyFk { get; set; } [NotMapped] public IFormFile ProfileImage { get; set; } [Required] [Display(Name = "Ime")] public string FirstName { get; set; } [Required] [Display(Name = "Priimek")] public string LastName { get; set; } [Required] [Display(Name = "Spol")] public CodeTableEmployee Gender { get; set; } [Required] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)] [Display(Name = "Datum rojstva")] public DateTime BirthDate { get; set; } [ForeignKey("Job")] [Display(Name = "Delovno mesto")] public int IdJobFk { get; set; } [ForeignKey("Departement")] [Display(Name = "Oddelek")] public int IdDepartementFk { get; set; } [ForeignKey("Country")] [Display(Name = "Država")] public int IdCountryFk { get; set; } [Required] [Display(Name = "Mesto")] public string City { get; set; } [Required] [Display(Name = "Ulica")] public string Street { get; set; } [Required] [Display(Name = "Hišna št.")] public string HouseNumber { get; set; } [Required] [Display(Name = "Poštna številka")] public int PostNumber { get; set; } [Required] [Display(Name = "Pošta")] public string Post { get; set; } [ForeignKey("TemporaryCountry")] [Display(Name = "Država")] public int? IdTemporaryCountryFk { get; set; } [Display(Name = "Mesto")] public string TemporaryCity { get; set; } [Display(Name = "Ulica")] public string TemporaryStreet { get; set; } [Display(Name = "Hišna št.")] public string TemporaryHouseNumber { get; set; } [Display(Name = "Poštna številka")] public int TemporaryPostNumber { get; set; } [Display(Name = "Pošta")] public string TemporaryPost { get; set; } [Required] [ForeignKey("Citizenship")] [Display(Name = "Državljanstvo")] public int IdCitizenshipFk { get; set; } [Required] [Display(Name = "Številka EMŠO")] public string CitizenIdNumber { get; set; } [Display(Name = "Telefon")] public string Telephone { get; set; } [Display(Name = "Mobilni telefon")] public string MobileTelephone { get; set; } [Display(Name = "E-poštni naslov")] [DataType(DataType.EmailAddress)] public string Email { get; set; } [Required] [Display(Name = "Davčna številka")] public int TaxNumber { get; set; } [Required] [Display(Name = "Bančni račun")] public string BankAccount { get; set; } [Required] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)] [Display(Name = "Datum zaposlitve")] public DateTime EmploymentDate { get; set; } [Display(Name = "Urna postavka")] public float HourlyWage { get; set; } = 0; [Display(Name = "Opomba")] public string Note { get; set; } [Required] public bool Active { get; set; } //ForeignKey public CodeTableCountry Citizenship { get; set; } public CodeTableCompany Company { get; set; } public CodeTableCountry Country { get; set; } public CodeTableCountry TemporaryCountry { get; set; } public CodeTableJob Job { get; set; } public CodeTableDepartement Departement { get; set; } //VehicleFueling [InverseProperty("Employee")] public virtual ICollection EmployeeVehicleFueling { get; set; } //Incident [InverseProperty("Employee")] public virtual ICollection EmployeeIncident { get; set; } //Issue [InverseProperty("Employee")] public virtual ICollection EmployeeIssue { get; set; } //Note [InverseProperty("Employee")] public virtual ICollection EmployeeNote { get; set; } //VehicleBreakdown [InverseProperty("Employee")] public virtual ICollection EmployeeVehicleBreakdown { get; set; } //VehicleDriver [InverseProperty("Employee")] public virtual ICollection EmployeeVehicleDriver { get; set; } //VehicleDrive [InverseProperty("Employee")] public virtual ICollection EmployeeVehicleDrive { get; set; } } }