Files
everything2/EveryThing/Models/CodeTable/CodeTableEmployee.cs
David Štaleker 03b92525d7 Prvi commit
2023-05-12 09:00:07 +02:00

181 lines
5.2 KiB
C#

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<VehicleFueling> EmployeeVehicleFueling { get; set; }
//Incident
[InverseProperty("Employee")]
public virtual ICollection<VehicleIncident> EmployeeIncident { get; set; }
//Issue
[InverseProperty("Employee")]
public virtual ICollection<VehicleIssue> EmployeeIssue { get; set; }
//Note
[InverseProperty("Employee")]
public virtual ICollection<GeneralNote> EmployeeNote { get; set; }
//VehicleBreakdown
[InverseProperty("Employee")]
public virtual ICollection<VehicleBreakdown> EmployeeVehicleBreakdown { get; set; }
//VehicleDriver
[InverseProperty("Employee")]
public virtual ICollection<VehicleDriver> EmployeeVehicleDriver { get; set; }
//VehicleDrive
[InverseProperty("Employee")]
public virtual ICollection<VehicleDrive> EmployeeVehicleDrive { get; set; }
}
}