159 lines
4.9 KiB
C#
159 lines
4.9 KiB
C#
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using EveryThing.Models.Transport;
|
|
using Microsoft.AspNetCore.Http;
|
|
using EveryThing.Models.CodeTable;
|
|
|
|
namespace EveryThing.Models.Vehicle
|
|
{
|
|
public enum VehicleMeterType
|
|
{
|
|
[Display(Name = "Kilometri")]
|
|
Km = 0,
|
|
|
|
[Display(Name = "Milje")]
|
|
Miles = 1,
|
|
|
|
[Display(Name = "Ure")]
|
|
Hrs = 2
|
|
}
|
|
|
|
public class Vehicle
|
|
{
|
|
[Key]
|
|
public int IdVehicle { get; set; }
|
|
|
|
[Required]
|
|
[ForeignKey("Company")]
|
|
public int IdCompanyFk { get; set; }
|
|
|
|
[Required]
|
|
[ForeignKey("VehicleType")]
|
|
[Display(Name = "Tip vozila")]
|
|
public int IdVehicleTypeFk { get; set; }
|
|
|
|
[ForeignKey("VehicleMake")]
|
|
[Display(Name = "Znamka")]
|
|
public int? IdMakeFk { get; set; }
|
|
|
|
[Display(Name = "Model")]
|
|
public string Model { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Letnik")]
|
|
public int Year { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Številka VIN")]
|
|
public string VinNumber { get; set; }
|
|
|
|
[Display(Name = "Številka motorja")]
|
|
public string EngineNumber { get; set; }
|
|
|
|
[ForeignKey("VehicleFuelType")]
|
|
[Display(Name = "Vrsta goriva")]
|
|
public int? IdFuelTypeFk { get; set; }
|
|
|
|
[ForeignKey("Departement")]
|
|
[Display(Name = "Oddelek")]
|
|
public int? IdDepartementFk { get; set; }
|
|
|
|
[ForeignKey("VehicleGroup")]
|
|
[Display(Name = "Skupina")]
|
|
public int? IdVehicleGroupFk { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Naziv")]
|
|
public string Title { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Vrsta števca")]
|
|
public VehicleMeterType VehicleMeterType { get; set; } = VehicleMeterType.Km;
|
|
|
|
[Display(Name = "Opomba")]
|
|
public string Note { get; set; }
|
|
|
|
[NotMapped]
|
|
public IFormFile Image { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Registrska številka")]
|
|
public string RegistrationNumber { get; set; }
|
|
|
|
[NotMapped] public string DisplayName => $"{Title} ({RegistrationNumber})";
|
|
|
|
//TODO: Manjkajo polja
|
|
|
|
//[Required]
|
|
//[Display(Name = "Datum veljavnosti registracije")]
|
|
//public DateTime RegistrationExpiry { get; set; }
|
|
|
|
//[ForeignKey("Partner")]
|
|
//[Display(Name = "Zavarovalnica")]
|
|
//public int IdInsurancePartnerFk { get; set; }
|
|
|
|
//[Display(Name = "Datum veljavnosti zavarovanja")]
|
|
//public DateTime? InsuranceExpiry { get; set; }
|
|
|
|
//[Display(Name = "Referenčna številka zavarovanja")]
|
|
//public string InsuranceReference { get; set; }
|
|
|
|
//[Display(Name = "Opomba zavarovanja")]
|
|
//public string InsuranceNote { get; set; }
|
|
|
|
//[Display(Name = "Datum veljavnosti tehničnega pregleda")]
|
|
//public DateTime TechnicalInspectionExpiry { get; set; }
|
|
|
|
//[Display(Name = "Referenčna tehničnega pregleda")]
|
|
//public string TechnicalInspectionReference { get; set; }
|
|
|
|
//[Display(Name = "Opomba tehničnega pregleda")]
|
|
//public string TechnicalInspectionNote { get; set; }
|
|
|
|
[Required]
|
|
[Display(Name = "Aktiven")]
|
|
public bool Active { get; set; }
|
|
|
|
// ForeignKey
|
|
public CodeTableCompany Company { get; set; }
|
|
public VehicleType VehicleType { get; set; }
|
|
public VehicleMake VehicleMake { get; set; }
|
|
public CodeTableDepartement Departement { get; set; }
|
|
public VehicleGroup VehicleGroup { get; set; }
|
|
public VehicleFuelType VehicleFuelType { get; set; }
|
|
|
|
// VehicleFueling
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleFueling> VehicleVehicleFueling { get; set; }
|
|
|
|
// VehicleIncident
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleIncident> VehicleVehicleIncident { get; set; }
|
|
|
|
// VehicleIssue
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleIssue> VehicleVehicleIssue { get; set; }
|
|
|
|
// Note
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<GeneralNote> VehicleNote { get; set; }
|
|
|
|
// VehicleDriver
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleDriver> VehicleVehicleDriver { get; set; }
|
|
|
|
// VehicleMeterReading
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleMeterReading> VehicleVehicleMeterReading { get; set; }
|
|
|
|
// VehicleDrive
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<VehicleDrive> VehicleVehicleDrive { get; set; }
|
|
|
|
// VehicleTransportLoadingOrder
|
|
[InverseProperty("Vehicle")]
|
|
public virtual ICollection<TransportLoadingOrder> VehicleTransportLoadingOrder { get; set; }
|
|
}
|
|
}
|