Prvi commit

This commit is contained in:
David Štaleker
2023-05-12 09:00:07 +02:00
parent d3ffe93e42
commit 03b92525d7
14757 changed files with 9251133 additions and 53 deletions

View File

@@ -0,0 +1,170 @@
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.Transport;
using EveryThing.Models.Vehicle;
using Microsoft.AspNetCore.Http;
using EveryThing.Models.CodeTable;
namespace EveryThing.Models.CodeTable
{
public class CodeTableCompany
{
[Key]
public int IdCompany { get; set; }
[NotMapped]
public IFormFile Logo { get; set; }
[Display(Name = "Logotip ime datoteke")]
public string LogoFileName { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Kratek naziv")]
public string ShortTitle { get; set; }
[Required]
[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; }
[Required]
[Display(Name = "Davčna številka")]
public string TaxNumber { get; set; }
[Required]
[Display(Name = "Matična številka")]
public string RegistrationNumber { get; set; }
[Display(Name = "E-poštni naslov")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
[Display(Name= "Banka")]
public string Bank { get; set; }
[Required]
[Display(Name = "IBAN")]
public string Iban { get; set; }
[Required]
[Display(Name = "SWIFT/BIC")]
public string SwiftBic { get; set; }
[Required]
[Display(Name = "Direktor")]
public string Ceo { get; set; }
[Display(Name = "Telefon")]
public string Phone { get; set; }
[Required]
public bool Active { get; set; }
// ForeignKey
public CodeTableCountry Country { get; set; }
// Partner
[InverseProperty("Company")]
public virtual ICollection<CodeTablePartner> CompanyPartner { get; set; }
// Partner
[InverseProperty("Company")]
public virtual ICollection<TransportLoadingOrder> CompanyTransportLoadingOrder { get; set; }
// Employee
[InverseProperty("Company")]
public virtual ICollection<CodeTableEmployee> CompanyEmployee { get; set; }
// Departement
[InverseProperty("Company")]
public virtual ICollection<CodeTableDepartement> CompanyDepartement { get; set; }
// Job
[InverseProperty("Company")]
public virtual ICollection<CodeTableJob> CompanyJob { get; set; }
// Vehicle
[InverseProperty("Company")]
public virtual ICollection<Vehicle.Vehicle> CompanyVehicle { get; set; }
// VehicleType
[InverseProperty("Company")]
public virtual ICollection<VehicleType> CompanyVehicleType { get; set; }
// VehicleMake
[InverseProperty("Company")]
public virtual ICollection<VehicleMake> CompanyVehicleMake { get; set; }
// VehicleGroup
[InverseProperty("Company")]
public virtual ICollection<VehicleGroup> CompanyVehicleGroup { get; set; }
// VehicleFuelType
[InverseProperty("Company")]
public virtual ICollection<VehicleFuelType> CompanyVehicleFuelType { get; set; }
// VehicleFuelingCard
[InverseProperty("Company")]
public virtual ICollection<VehicleFuelingCard> CompanyVehicleFuelingCard { get; set; }
// IdentityApplicationUser
[InverseProperty("Company")]
public virtual ICollection<IdentityApplicationUser> CompanyIdentityApplicationUser { get; set; }
// Note
[InverseProperty("Company")]
public virtual ICollection<GeneralNote> CompanyNote { get; set; }
// VehicleBreakdown
[InverseProperty("Company")]
public virtual ICollection<VehicleBreakdown> CompanyVehicleBreakdown { get; set; }
// File
[InverseProperty("Company")]
public virtual ICollection<File> CompanyFile { get; set; }
// PrePostText
[InverseProperty("Company")]
public virtual ICollection<CodeTablePrePostText> CompanyPrePostText { get; set; }
// Project
[InverseProperty("Company")]
public virtual ICollection<Project.Project> CompanyProject { get; set; }
// CodeTableItem
[InverseProperty("Company")]
public virtual ICollection<CodeTableItem> CompanyItem { get; set; }
// Invoice
[InverseProperty("Company")]
public virtual ICollection<Invoice.Invoice> CompanyInvoice { get; set; }
}
}

View File

@@ -0,0 +1,52 @@
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;
namespace EveryThing.Models.CodeTable
{
public class CodeTableCountry
{
[Key]
public int IdCountry { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
[Display(Name = "Koda države")]
public string Code { get; set; }
[Required]
[Display(Name = "Slovenski naziv")]
public string TranslationSlovenian { get; set; }
// Partner
[InverseProperty("Country")]
public virtual ICollection<CodeTablePartner> CountryPartner { get; set; }
//Employee
[InverseProperty("Citizenship")]
public virtual ICollection<CodeTableEmployee> CountryEmployeeCitizenship { get; set; }
//Employee
[InverseProperty("Country")]
public virtual ICollection<CodeTableEmployee> CountryEmployeeCountry { get; set; }
//Employee
[InverseProperty("TemporaryCountry")]
public virtual ICollection<CodeTableEmployee> CountryEmployeeTemporaryCountry { get; set; }
//Company
[InverseProperty("Country")]
public virtual ICollection<CodeTableCompany> CountryCompany { get; set; }
//VehicleFueling
[InverseProperty("Country")]
public virtual ICollection<VehicleFueling> CountryVehicleFueling { get; set; }
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models.CodeTable
{
public class CodeTableDepartement
{
[Key]
public int IdDepartement { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Employee
[InverseProperty("Departement")]
public virtual ICollection<CodeTableEmployee> DepartementEmployee { get; set; }
//Vehicle
[InverseProperty("Departement")]
public virtual ICollection<Vehicle.Vehicle> DepartementVehicle { get; set; }
}
}

View File

@@ -0,0 +1,180 @@
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; }
}
}

View File

@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using EveryThing.Models.Project;
namespace EveryThing.Models.CodeTable
{
public enum CodeTableItemType
{
[Display(Name = "Produkt")]
Product = 0,
[Display(Name = "Material")]
Material = 1
}
public class CodeTableItem
{
[Key]
public int IdItem { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Required]
[Display(Name = "Aktiven")]
public bool Active { get; set; }
[Required]
[Display(Name = "Tip")]
public CodeTableItemType CodeTableItemType { get; set; } = CodeTableItemType.Product;
// ForeignKey
public CodeTableCompany Company { get; set; }
// ProjectPartItem
[InverseProperty("Item")]
public virtual ICollection<ProjectPartItem> ItemProjectPartItem { get; set; }
// ProjectPartItem
[InverseProperty("Material")]
public virtual ICollection<ProjectPartItem> ItemProjectPartItemMaterial { get; set; }
// InoviceItem
[InverseProperty("Item")]
public virtual ICollection<Invoice.InvoiceItem> InvoiceItem { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models.CodeTable
{
public class CodeTableJob
{
[Key]
public int IdJob { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Employee
[InverseProperty("Job")]
public virtual ICollection<CodeTableEmployee> JobEmployee { get; set; }
}
}

View File

@@ -0,0 +1,100 @@
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.Project;
using EveryThing.Models.Transport;
namespace EveryThing.Models.CodeTable
{
public class CodeTablePartner
{
[Key]
public int IdPartner { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
[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; }
[Display(Name = "Davčna številka")]
public string TaxNumber { get; set; }
[Display(Name = "Matična številka")]
public string RegistrationNumber { get; set; }
[Display(Name = "E-poštni naslov")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
[Display(Name = "Aktiven")]
public bool Active { get; set; }
[Required]
[Display(Name = "Kupec")]
public bool Buyer { get; set; } = false;
[Required]
[Display(Name = "Dobavitelj")]
public bool Supplier { get; set; } = false;
// ForeingKey
public CodeTableCountry Country { get; set; }
public CodeTableCompany Company { get; set; }
// TransportLoadingOrderLoad
[InverseProperty("Loading")]
public virtual ICollection<TransportLoadingOrderLoadUnload> PartnerTransportLoadingOrderLoad { get; set; }
// TransportLoadingOrderUnload
[InverseProperty("Unloading")]
public virtual ICollection<TransportLoadingOrderLoadUnload> PartnerTransportLoadingOrderUnload { get; set; }
// TransportLoadingOrderLoad
[InverseProperty("Partner")]
public virtual ICollection<TransportLoadingOrder> PartnerTransportLoadingOrder { get; set; }
// ProjectPartItem
[InverseProperty("MaterialSupplier")]
public virtual ICollection<ProjectPartItem> PartnerProjectPartItem { get; set; }
// InvoicePart
[InverseProperty("Partner")]
public virtual ICollection<Invoice.Invoice> Invoice { get; set; }
// Project
[InverseProperty("Partner")]
public virtual ICollection<Project.Project> PartnerProject { get; set; }
}
}

View File

@@ -0,0 +1,31 @@
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.CodeTable;
namespace EveryThing.Models.CodeTable
{
public class CodeTablePrePostText
{
[Key]
public int IdPrePostText { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Vrsta")]
public string Type { get; set; }
[Required]
[Display(Name = "Vsebina")]
public string Content { get; set; }
// ForeingKey
public CodeTableCompany Company { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models
{
public class Document
{
[Key]
public int IdDocument { get; set; }
[Required]
[ForeignKey("DocumentType")]
public int IdDocumentTypeFk { get; set; }
[Required]
public int IdReferenceFk { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum poteka")]
public DateTime? ExpirationDate { get; set; }
[Display(Name = "Številka")]
public string Number { get; set; }
[Display(Name = "Referenca")]
public string Reference { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public DocumentType DocumentType { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
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.CodeTable;
namespace EveryThing.Models
{
public enum DocumentTypeReference
{
Vehicle = 0,
Employee = 1
}
public class DocumentType
{
[Key]
public int IdDocumentType { get; set; }
[ForeignKey("Company")]
public int? IdCompanyFk { get; set; }
[Required]
public DocumentTypeReference DocumentTypeReference { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Document
[InverseProperty("DocumentType")]
public virtual ICollection<Document> DocumentTypeDocument { get; set; }
}
}

70
EveryThing/Models/File.cs Normal file
View File

@@ -0,0 +1,70 @@
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.CodeTable;
namespace EveryThing.Models
{
public enum FileType
{
Vehicle = 0,
VehicleIssue = 1,
VehicleIncident = 2,
VehicleFuelingCard = 3,
VehicleFueling = 4,
VehicleBreakdown = 5,
Document = 6,
Note = 7,
Project = 8,
ProjectPart = 9,
ProjectPartItem = 10,
CodeTableItem = 11
}
public class File
{
[Key]
public int IdFile { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
public FileType FileType { get; set; }
[Required]
public int IdReferenceFk { get; set; }
[Required]
public string Guid { get; set; }
[Required]
public string Extension { get; set; }
[Required]
public string Salt { get; set; }
[Required]
public string Iv { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH:mm:ss}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum dodajanja")]
public DateTime DateOfUpload { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
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.CodeTable;
namespace EveryThing.Models
{
public enum GeneralNoteStatus
{
[Display(Name = "Na čakanju")]
Pending = 0,
[Display(Name = "V teku")]
Processing = 1,
[Display(Name = "Obdelano")]
Fixed = 2
}
public class GeneralNote
{
[Key]
public int IdNote { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required(ErrorMessage = "Izbira stanja je obvezna")]
[Display(Name = "Status")]
public GeneralNoteStatus Status { get; set; }
[ForeignKey("Employee")]
[Display(Name = "Delavec")]
public int? IdEmployeeFk { get; set; }
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int? IdVehicleFk { get; set; }
[Required(ErrorMessage = "Polje datum vnosa je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum vnosa")]
public DateTime DateSubmitted { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum opomnika")]
public DateTime? DateReminder { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public Vehicle.Vehicle Vehicle { get; set; }
public CodeTableCompany Company { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
namespace EveryThing.Models
{
public class IdentityApplicationRole : IdentityRole<int>
{
[Required]
public string Description { get; set; }
[Required]
public bool Active { get; set; }
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using EveryThing.Models.CodeTable;
namespace EveryThing.Models
{
public class IdentityApplicationUser : IdentityUser<int>
{
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Surname { get; set; }
[Required]
public DateTime DateCreated { get; set; }
[Required]
public DateTime DateValidUntil { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
}
}

View File

@@ -0,0 +1,143 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Reflection;
using EveryThing.Models.CodeTable;
namespace EveryThing.Models.Invoice
{
public class Invoice
{
public class InvoiceStateAttribute : Attribute
{
public string AllowedTypes { get; set; } = "0,1,2,3";
}
public enum InvoiceType
{
[Display(Name = "Račun", ShortName = "Racun")]
Invoice = 0,
[Display(Name = "Naročilo", ShortName = "Narocilo")]
Order = 1,
[Display(Name = "Dobavnica", ShortName = "Dobavnica")]
DeliveryNote = 2,
[Display(Name = "Naročilo kupca", ShortName = "Narocilo")]
BuyersOrder = 3,
}
public enum InvoiceState
{
[Display(Name = "Nov")]
[InvoiceState]
New = 0,
[Display(Name = "Povpraševanje")]
[InvoiceState(AllowedTypes = "1")]
Inquiry = 1,
[Display(Name = "Ponudba")]
[InvoiceState(AllowedTypes = "3")]
Offer = 2,
[Display(Name = "Potrjen")]
[InvoiceState]
Confirmed = 10,
[Display(Name = "Potrditev naročila")]
[InvoiceState(AllowedTypes = "3")]
OfferConfirmation = 15,
[Display(Name = "Zaprt")]
[InvoiceState]
Closed = 20
}
[Key]
public int IdInvoice { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Datum")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime Date { get; set; }
[Required]
[Display(Name = "Tip")]
public InvoiceType Type { get; set; }
[Required]
[Display(Name = "Status")]
public InvoiceState State { get; set; } = InvoiceState.New;
[Required]
[ForeignKey("Partner")]
[Display(Name = "Partner")]
public int? IdPartnerFk { get; set; }
[Required]
public int InvoiceNumber { get; set; }
[Required]
public int InvoiceYear { get; set; }
[Display(Name = "Uvodno besedilo")]
public string PreText { get; set; }
[Display(Name = "Zaključno besedilo")]
public string PostText { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
[Display(Name = "Številka naročila kupca")]
public string BuyersOrderNumber { get; set; }
/// <summary>
/// Dobavnica/racun => datum odpreme
/// Narocilo => dobavni rok
/// </summary>
[Display(Name = "Datum odpreme")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? DateOfDispatch { get; set; }
[NotMapped]
public string InvoiceNumberFormatted => $"{InvoiceYear}-{InvoiceNumber}";
[NotMapped]
public string InvoiceTypeString
{
get
{
if (Type == InvoiceType.BuyersOrder && State == InvoiceState.Offer)
{
return "Ponudba";
}
if (Type == InvoiceType.BuyersOrder && State == InvoiceState.OfferConfirmation)
{
return "Potrditev_narocila";
}
if (Type == InvoiceType.Order && State == InvoiceState.Inquiry)
{
return "Povprasevanje";
}
return Type.GetType().GetMember(Type.ToString()).First().GetCustomAttribute<DisplayAttribute>()?.ShortName;
}
}
[NotMapped]
public string InvoiceNumberFull => $"{InvoiceTypeString}-{InvoiceNumberFormatted}";
// ForeignKey
public CodeTableCompany Company { get; set; }
public CodeTablePartner Partner { get; set; }
// InvoicePart
[InverseProperty("Invoice")]
public virtual ICollection<InvoiceItem> InvoiceInvoiceItem { get; set; }
}
}

View File

@@ -0,0 +1,80 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using static EveryThing.Models.Invoice.Invoice;
namespace EveryThing.Models.Invoice
{
public class InvoiceItem
{
public enum InvoiceItemState
{
[Display(Name = "Novo")]
New = 0,
[Display(Name = "Potrjeno")]
Confirmed = 10,
[Display(Name = "Zaprto")]
Closed = 50
}
[Key]
public int IdInvoiceItem { get; set; }
[Required]
[ForeignKey("Invoice")]
public int IdInvoiceFk { get; set; }
[ForeignKey("ProjectPartItem")]
public int? IdProjectPartItem { get; set; }
[ForeignKey("Item")]
[Display(Name = "Artikel")]
public int? IdItemFk { get; set; }
[ForeignKey("InvoiceItemJoin")]
[Display(Name = "Pozicija")]
public int? IdInvoiceItemJoinFk { get; set; }
[Display(Name = "Opis pozicije")]
public string ItemDescription { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
[Display(Name = "Količina")]
[DisplayFormat(DataFormatString = "{0:#,###,##0.00}", ApplyFormatInEditMode = true)]
public double Quantity { get; set; }
[Display(Name = "Cena")]
[DisplayFormat(DataFormatString = "{0:#,###,##0.00}", ApplyFormatInEditMode = true)]
public double Price { get; set; }
[Display(Name = "Rabat")]
[DisplayFormat(DataFormatString = "{0:#,###,##0.00}", ApplyFormatInEditMode = true)]
public double Discount { get; set; }
[Display(Name = "DDV")]
public double Tax { get; set; }
[Required]
[Display(Name = "Status")]
public InvoiceItemState State { get; set; } = InvoiceItemState.New;
[NotMapped]
[Display(Name = "Skupaj")]
[DisplayFormat(DataFormatString = "{0:#,###,##0.00}", ApplyFormatInEditMode = true)]
public double TotalValue => Math.Round((Price * (100 - Discount) / 100) * Quantity, 2);
// ForeignKey
public Invoice Invoice { get; set; }
public Project.ProjectPartItem ProjectPartItem { get; set; }
public CodeTable.CodeTableItem Item { get; set; }
/// <summary>
/// Povezana pozicija fakture, npr ko se iz dob naredi racun
/// </summary>
public InvoiceItem InvoiceItemJoin { get; set; }
}
}

View File

@@ -0,0 +1,85 @@
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.CodeTable;
namespace EveryThing.Models.Project
{
public enum ProjectStatus
{
[Display(Name = "Odprt")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključen")]
Finished = 2,
[Display(Name = "Ponudba")]
Offer = 10
}
public class Project
{
[Key]
public int IdProject { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Partner")]
[ForeignKey("Partner")]
public int IdPartnerFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Številka naročila kupca")]
public string BuyersOrderNumber { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Required]
public int ProjectNumber { get; set; } = 0;
[Required]
public int ProjectYear { get; set; } = 0;
[Required]
[Display(Name = "Status")]
public ProjectStatus Status { get; set; } = ProjectStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[NotMapped]
[Display(Name = "Številka projekta")]
public string ProjectNumberFormatted => $"{ProjectYear}-{ProjectNumber:D4}";
[NotMapped]
[Display(Name = "Prvi dobavni rok")]
public DateTime? FirstDeliveryDate { get; set; }
[NotMapped]
[Display(Name = "Prvi dobavni rok")]
public string FirstDeliveryDateString => FirstDeliveryDate == null || (DateTime)FirstDeliveryDate == DateTime.MaxValue
? ""
: ((DateTime)FirstDeliveryDate).ToString("dd.MM.yyyy");
// ForeignKey
public CodeTableCompany Company { get; set; }
public CodeTablePartner Partner { get; set; }
// ProjectPart
[InverseProperty("Project")]
public virtual ICollection<ProjectPart> ProjectProjectPart { get; set; }
}
}

View File

@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models.Project
{
public enum ProjectPartStatus
{
[Display(Name = "Odprto")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključeno")]
Finished = 2,
[Display(Name = "Odpremljeno")]
Shipped = 3
}
public class ProjectPart
{
[Key]
public int IdProjectPart { get; set; }
[Required]
[ForeignKey("Project")]
public int IdProjectFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Required]
[Display(Name = "Status")]
public ProjectPartStatus Status { get; set; } = ProjectPartStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[Display(Name = "Datum odpreme")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ShippedDate { get; set; }
[Display(Name = "Pot načrtov")]
public string PathOfPlans { get; set; }
[Required]
public int ProjectPartNumber { get; set; } = 0;
[NotMapped]
public string ProjectPartNumberFormatted => (Project != null ? Project.ProjectNumberFormatted : "") + $"-{ProjectPartNumber:D4}";
// ForeignKey
public Project Project { get; set; }
// ProjectPartItem
[InverseProperty("ProjectPart")]
public virtual ICollection<ProjectPartItem> ProjectPartProjectPartItem { get; set; }
}
}

View File

@@ -0,0 +1,164 @@
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.CodeTable;
using EveryThing.Models.Invoice;
namespace EveryThing.Models.Project
{
public enum ProjectPartItemStatus
{
[Display(Name = "Odprto")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključeno")]
Finished = 2,
[Display(Name = "Odpremljeno")]
Shipped = 3
}
public class ProjectPartItem
{
[Key]
public int IdProjectPartItem { get; set; }
[Required]
[ForeignKey("ProjectPart")]
public int IdProjectPartFk { get; set; }
[ForeignKey("Item")]
[Display(Name = "Artikel")]
public int? IdItemFk { get; set; }
[Required]
[Display(Name = "Število kosov")]
public float NumberOfItems { get; set; }
[Display(Name = "Število kompletov")]
public float NumberOfSets { get; set; }
[ForeignKey("Material")]
[Display(Name = "Material")]
public int? IdMaterialFk { get; set; }
[Display(Name = "Dimenzije surovca")]
public string MaterialDimensions { get; set; }
[Required]
[ForeignKey("MaterialSupplier")]
[Display(Name = "Dobavitelj materiala")]
public int? IdMaterialSupplierFk { get; set; }
[Display(Name = "Cena - Material")]
public float MaterialPrice { get; set; }
[Display(Name = "Cena - Delo")]
public float WorkPrice { get; set; }
[Display(Name = "Prodajna cena")]
public float SellingPrice { get; set; } = 0;
[Display(Name = "Število kosov - Zaključeno")]
public float NumberOfItemsFinished { get; set; }
[NotMapped]
[Display(Name = "Vrednost - Delo")]
public double WorkValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(WorkPrice);
set => WorkPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "Vrednost - Delo")]
public double MaterialValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(MaterialPrice);
set => MaterialPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "Vrednost - cena")]
public double CostPrice=> Convert.ToDouble(WorkPrice) + Convert.ToDouble(MaterialPrice);
[NotMapped]
[Display(Name = "Vrednost - strošek")]
public double CostValue => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(CostPrice);
[NotMapped]
[Display(Name = "Prodajna vrednost")]
public double SellingValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(SellingPrice);
set => SellingPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPrice
{
get => SellingPrice - (MaterialPrice + WorkPrice);
set => SellingPrice = Convert.ToSingle(value + (MaterialPrice + WorkPrice));
}
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPriceValue => SellingValue - (MaterialValue + WorkValue);
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPricePercentage =>
(Convert.ToDouble(MaterialValue) + Convert.ToDouble(WorkValue)) == 0
? 100
: ((SellingValue / (MaterialValue + WorkValue) - 1) * 100);
[Required]
[Display(Name = "Status")]
public ProjectPartItemStatus Status { get; set; } = ProjectPartItemStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[Display(Name = "Datum odpreme")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ShippingDate { get; set; }
[Display(Name = "Dobavni rok")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? DeliveryDate { get; set; }
[Display(Name = "Spremenjeno")]
public DateTime DateModified { get; set; } = DateTime.Now;
[Required]
public int ProjectPartItemNumber { get; set; } = 0;
[NotMapped]
public string ProjectPartNumberFormatted => (ProjectPart != null ? ProjectPart.ProjectPartNumberFormatted : "") + $"-{ProjectPartItemNumber:D4}";
// ForeignKey
public ProjectPart ProjectPart { get; set; }
public CodeTablePartner MaterialSupplier { get; set; }
public CodeTableItem Item { get; set; }
public CodeTableItem Material { get; set; }
//Invoice item
[InverseProperty("ProjectPartItem")]
public virtual ICollection<InvoiceItem> InvoiceItem { get; set; }
}
}

View File

@@ -0,0 +1,69 @@
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.CodeTable;
namespace EveryThing.Models.Transport
{
public class TransportLoadingOrder
{
[Key]
public int IdTransportLoadingOrder { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[ForeignKey("Partner")]
[Display(Name = "Prevoznik - Partner")]
[Required]
public int IdPartnerFk { get; set; }
[Required]
public int OrderNumber { get; set; }
[Required]
public int OrderYear { get; set; }
[Required]
[Display(Name = "Kraj naloga")]
public string OrderCity { get; set; }
[Required]
[Display(Name = "Datum naloga")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime OrderDate { get; set; }
[Display(Name = "Uvodno besedilo")]
public string PreText { get; set; }
[Display(Name = "Zaključno besedilo")]
public string PostText { get; set; }
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo iz šifranta")]
public int? IdVehicleFk { get; set; }
[Display(Name = "Vozilo")]
public string VehicleText { get; set; }
[Display(Name = "Znesek")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N}")]
public float Total { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
// ForeignKey
public CodeTableCompany Company { get; set; }
public Vehicle.Vehicle Vehicle { get; set; }
public CodeTablePartner Partner { get; set; }
// TransportOrderLoadUnload
[InverseProperty("TransportLoadingOrder")]
public virtual ICollection<TransportLoadingOrderLoadUnload> TransportLoadingOrderLoadUnload { get; set; }
}
}

View File

@@ -0,0 +1,73 @@
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.CodeTable;
namespace EveryThing.Models.Transport
{
public class TransportLoadingOrderLoadUnload
{
[Key]
public int IdTransportLoadingOrderLoadUnload { get; set; }
[Required]
[ForeignKey("TransportLoadingOrder")]
public int IdTransportLoadingOrderFk { get; set; }
// Loading data
[Display(Name = "Naklad - Partner")]
[ForeignKey("Loading")]
public int? IdLoadingFk { get; set; }
[Display(Name = "Naslov naklada")]
public string LoadingText { get; set; }
[Display(Name = "Naklad - Od")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH\\:mm}", ApplyFormatInEditMode = true)]
public DateTime? LoadingDateFrom { get; set; }
[Display(Name = "Naklad - Do")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH\\:mm}", ApplyFormatInEditMode = true)]
public DateTime? LoadingDateTo { get; set; }
[Display(Name = "Referenca naklada")]
public string LoadingReference { get; set; }
[Display(Name = "Opomba naklada")]
public string LoadingNote { get; set; }
// Unloading data
[Display(Name = "Razklad - Partner")]
[ForeignKey("Unloading")]
public int? IdUnloadingFk { get; set; }
[Display(Name = "Naslov razklada")]
public string UnloadingText { get; set; }
[Display(Name = "Razklad - Od")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH\\:mm}", ApplyFormatInEditMode = true)]
public DateTime? UnloadingDateFrom { get; set; }
[Display(Name = "Razklad - Do")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH\\:mm}", ApplyFormatInEditMode = true)]
public DateTime? UnloadingDateTo { get; set; }
[Display(Name = "Referenca razklada")]
public string UnloadingReference { get; set; }
[Display(Name = "Opomba razklada")]
public string UnloadingNote { get; set; }
// Cargo
[Display(Name = "Opis tovora")]
public string CargoDescription { get; set; }
// ForeignKey
public CodeTablePartner Loading { get; set; }
public CodeTablePartner Unloading { get; set; }
public TransportLoadingOrder TransportLoadingOrder { get; set; }
}
}

View File

@@ -0,0 +1,156 @@
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; }
//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; }
}
}

View File

@@ -0,0 +1,47 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleBreakdown
{
[Key]
public int IdVehicleBreakdown { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Required(ErrorMessage = "Polje datum okvare je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum okvare")]
public DateTime DateBreakdown { get; set; }
[Display(Name = "Referenčna številka")]
public string Reference { get; set; }
[Display(Name = "Število kilometrov")]
public int Meter { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public CodeTableCompany Company { get; set; }
}
}

View File

@@ -0,0 +1,53 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleDrive
{
[Key]
public int IdVehicleDrive { get; set; }
[Required]
[ForeignKey("Employee")]
[Display(Name = "Voznik")]
public int IdEmployeeFk { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Required(ErrorMessage = "Polje datum začetka je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum začetka")]
public DateTime DateStart { get; set; }
[Required(ErrorMessage = "Polje datum konca je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum začetka")]
public DateTime DateEnd { get; set; }
[Required]
[Display(Name = "Začetek")]
public int MileageStart { get; set; }
[Required]
[Display(Name = "Konec")]
public int MileageEnd { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public Vehicle Vehicle { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleDriver
{
[Key]
public int IdVehicleDriver { get; set; }
[Required]
[ForeignKey("Employee")]
[Display(Name = "Voznik")]
public int IdEmployeeFk { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public Vehicle Vehicle { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleFuelType
{
[Key]
public int IdVehicleFuelType { get; set; }
[ForeignKey("Company")]
public int? IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Vehicle
[InverseProperty("VehicleFuelType")]
public virtual ICollection<Vehicle> VehicleFuelTypeVehicle { get; set; }
//VehicleFueling
[InverseProperty("VehicleFuelType")]
public virtual ICollection<VehicleFueling> VehicleFuelTypeVehicleFueling { get; set; }
}
}

View File

@@ -0,0 +1,87 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleFueling
{
[Key]
public int IdVehicleFueling { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Required]
[ForeignKey("Employee")]
[Display(Name = "Voznik")]
public int IdEmployeeFk { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum polnjenja")]
public DateTime DateOfFueling { get; set; }
[ForeignKey("VehicleFuelingCard")]
[Display(Name = "Kartica")]
public int? IdVehicleFuelingCardFk { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum računa")]
public DateTime? FuelingCardInvoiceDate { get; set; }
[Display(Name = "Številka računa")]
public string FuelingCardInvoiceNumber { get; set; }
[Required]
[ForeignKey("VehicleFuelType")]
[Display(Name = "Tip goriva")]
public int IdVehicleFuelTypeFk { get; set; }
[Required]
[Display(Name = "Količina [l]")]
public double Quantity { get; set; }
[Required]
[Display(Name = "Staje števca [km]")]
public int Mileage { get; set; }
[Required]
[Display(Name = "Polno točenje")]
public bool FullTank { get; set; }
[Required]
[Display(Name = "Znesek")]
public double Amount { get; set; } //TODO: Unit cost; Total cost
[ForeignKey("Country")]
[Display(Name = "Država")]
public int IdCountryFk { get; set; }
[Display(Name = "Mesto")]
public string City { get; set; }
[Display(Name = "Referenca")]
public string Reference { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public Vehicle Vehicle { get; set; }
public CodeTableEmployee Employee { get; set; }
public CodeTableCountry Country { get; set; }
public VehicleFuelingCard VehicleFuelingCard { get; set; }
public VehicleFuelType VehicleFuelType { get; set; }
//TODO: Fuel source (bencingka, n/a, zaloga)
}
}

View File

@@ -0,0 +1,47 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleFuelingCard
{
[Key]
public int IdFuelingCard { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum veljavnosti")]
public DateTime DateOfExpiry { get; set; }
[Required]
[Display(Name = "Številka kartice")]
public string CardNumber { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//VehicleFueling
[InverseProperty("VehicleFuelingCard")]
public virtual ICollection<VehicleFueling> VehicleFuelingCardVehicleFueling { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleGroup
{
[Key]
public int IdVehicleGroup { get; set; }
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Vehicle
[InverseProperty("VehicleGroup")]
public virtual ICollection<Vehicle> VehicleGroupVehicle { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleIncident
{
[Key]
public int IdVehicleIncident { get; set; }
[Required]
[ForeignKey("Employee")]
[Display(Name = "Voznik")]
public int IdEmployeeFk { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum")]
public DateTime Date { get; set; }
[Display(Name = "Referenčna številka")]
public string Reference { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public Vehicle Vehicle { get; set; }
}
}

View File

@@ -0,0 +1,79 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public enum VehicleIssuePriority
{
[Display(Name = "(1) Zelo nizko")]
VeryLow = 0,
[Display(Name = "(2) Nizko")]
Low = 1,
[Display(Name = "(3) Normalno")]
Normal = 2,
[Display(Name = "(4) Urgentno")]
Urgent = 3,
[Display(Name = "(5) Kritično")]
Critical = 4
}
public enum VehicleIssueStatus
{
[Display(Name = "Na čakanju")]
Pending = 0,
[Display(Name = "V teku")]
Processing = 1,
[Display(Name = "Urejeno")]
Fixed = 2
}
public class VehicleIssue
{
[Key]
public int IdVehicleIssue { get; set; }
[Required(ErrorMessage = "Izbira prioritete je obvezna")]
[Display(Name = "Prioriteta")]
public VehicleIssuePriority Priority { get; set; }
[Required(ErrorMessage = "Izbira stanja je obvezna")]
[Display(Name = "Status")]
public VehicleIssueStatus Status { get; set; }
[ForeignKey("Employee")]
[Display(Name = "Prijavil")]
public int? IdEmployeeFk { get; set; }
[Required]
[ForeignKey("Vehicle")]
[Display(Name = "Vozilo")]
public int IdVehicleFk { get; set; }
[Required(ErrorMessage = "Polje datum prijave je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum prijave")]
public DateTime DateReported { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public CodeTableEmployee Employee { get; set; }
public Vehicle Vehicle { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleMake
{
[Key]
public int IdVehicleMake { get; set; }
[ForeignKey("Company")]
public int? IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Vehicle
[InverseProperty("VehicleMake")]
public virtual ICollection<Vehicle> VehicleMakeVehicle { get; set; }
}
}

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models.Vehicle
{
public class VehicleMeterReading
{
[Key]
public int IdVehicle { get; set; }
[Required]
[ForeignKey("Vehicle")]
public int IdVehicleFk { get; set; }
[Required]
[ForeignKey("Kilometrov")]
public int Mileage { get; set; }
[Display(Name = "Ustvarjeno")]
public string CreatedBy { get; set; }
[Required(ErrorMessage = "Polje datum vnosa je obvezno")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Datum vnosa")]
public DateTime DateAdded { get; set; }
[Display(Name = "Opomba")]
public string Note { get; set; }
//ForeignKey
public Vehicle Vehicle { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
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.CodeTable;
namespace EveryThing.Models.Vehicle
{
public class VehicleType
{
[Key]
public int IdVehicleType { get; set; }
[ForeignKey("Company")]
public int? IdCompanyFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Required]
public bool Active { get; set; }
//ForeignKey
public CodeTableCompany Company { get; set; }
//Vehicle
[InverseProperty("VehicleType")]
public virtual ICollection<Vehicle> VehicleTypeVehicle { get; set; }
}
}