Files
everything2/EveryThing/Data/ApplicationDbContext.cs
David Štaleker d0fa4db3d8 Klavzule
2023-06-23 10:10:25 +02:00

123 lines
7.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using EveryThing.Models;
using EveryThing.Models.Transport;
using EveryThing.Models.Vehicle;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using EveryThing.Models.CodeTable;
using EveryThing.Models.Invoice;
namespace EveryThing.Data
{
public class ApplicationDbContext : IdentityDbContext<IdentityApplicationUser, IdentityApplicationRole, int>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<CodeTableEmployee> CodeTableEmployees { get; set; }
public DbSet<CodeTableCountry> CodeTableCountries { get; set; }
public DbSet<CodeTableCompany> CodeTableCompanies { get; set; }
public DbSet<Vehicle> Vehicles { get; set; }
public DbSet<VehicleIssue> VehicleIssues { get; set; }
public DbSet<VehicleBreakdown> VehicleBreakdowns { get; set; }
public DbSet<VehicleDriver> VehicleDrivers { get; set; }
public DbSet<VehicleDrive> VehicleDrives { get; set; }
public DbSet<VehicleFueling> VehicleFuelings { get; set; }
public DbSet<VehicleFuelingCard> VehicleFuelingCards { get; set; }
public DbSet<VehicleFuelType> VehicleFuelTypes { get; set; }
public DbSet<VehicleGroup> VehicleGroups { get; set; }
public DbSet<VehicleIncident> VehicleIncidents { get; set; }
public DbSet<VehicleMake> VehicleMakes { get; set; }
public DbSet<VehicleMeterReading> VehicleMeterReadings { get; set; }
public DbSet<VehicleType> VehicleTypes { get; set; }
public DbSet<GeneralNote> GeneralNotes { get; set; }
public DbSet<CodeTableDepartement> CodeTableDepartements { get; set; }
public DbSet<Document> Documents { get; set; }
public DbSet<DocumentType> DocumentTypes { get; set; }
public DbSet<File> Files { get; set; }
public DbSet<CodeTableJob> CodeTableJobs { get; set; }
public DbSet<TransportLoadingOrder> TransportLoadingOrders {get; set; }
public DbSet<TransportLoadingOrderLoadUnload> TransportLoadingOrderLoadUnloads { get; set; }
public DbSet<CodeTablePartner> CodeTablePartners { get; set; }
public DbSet<CodeTableItem> CodeTableItems { get; set; }
public DbSet<Invoice> Invoices { get; set; }
public DbSet<InvoiceItem> InvoiceItems { get; set; }
public DbSet<CodeTablePrePostText> CodeTablePrePostText { get; set; }
public DbSet<CodeTablePrePostTextLink> CodeTablePrePostTextLink { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Sprememba imen tabel in stolpcev v Identity
modelBuilder.Entity<IdentityApplicationUser>(entity =>
{
entity.ToTable("IdentityUser");
entity.Property(e => e.Id).HasColumnName("IdUser");
});
modelBuilder.Entity<IdentityApplicationRole>(entity =>
{
entity.ToTable("IdentityRole");
entity.Property(e => e.Id).HasColumnName("IdRole");
});
modelBuilder.Entity<IdentityUserRole<int>>(entity =>
{
entity.ToTable("IdentityUserRoles");
entity.Property(e => e.UserId).HasColumnName("IdUserFk");
entity.Property(e => e.RoleId).HasColumnName("IdRoleFk");
});
modelBuilder.Entity<IdentityUserClaim<int>>(entity =>
{
entity.ToTable("IdentityUserClaims");
entity.Property(e => e.Id).HasColumnName("IdUserClaim");
entity.Property(e => e.UserId).HasColumnName("IdUserFk");
});
modelBuilder.Entity<IdentityUserLogin<int>>(entity =>
{
entity.ToTable("IdentityUserLogins");
entity.Property(e => e.UserId).HasColumnName("IdUserFk");
});
modelBuilder.Entity<IdentityUserToken<int>>(entity =>
{
entity.ToTable("IdentityUserTokens");
entity.Property(e => e.UserId).HasColumnName("IdUserFk");
});
modelBuilder.Entity<IdentityRoleClaim<int>>(entity =>
{
entity.ToTable("IdentityRoleClaims");
entity.Property(e => e.Id).HasColumnName("IdRoleClaim");
entity.Property(e => e.RoleId).HasColumnName("IdRoleFk");
});
//Relacije
modelBuilder.Entity<CodeTableCountry>().HasMany(t => t.CountryCompany).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCountry>().HasMany(t => t.CountryEmployeeCountry).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCountry>().HasMany(t => t.CountryEmployeeCitizenship).WithOne(t => t.Citizenship).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCountry>().HasMany(t => t.CountryEmployeeTemporaryCountry).WithOne(t => t.TemporaryCountry).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCountry>().HasMany(t => t.CountryPartner).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyPartner).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyTransportLoadingOrder).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyEmployee).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyPrePostText).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyItem).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableCompany>().HasMany(t => t.CompanyInvoice).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<CodeTableJob>().HasMany(t => t.JobEmployee).WithOne(t => t.Job).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleNote).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleDriver).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleDrive).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleFueling).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleIncident).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleIssue).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleVehicleMeterReading).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Vehicle>().HasMany(t => t.VehicleTransportLoadingOrder).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Invoice>().HasMany(t => t.InvoiceInvoiceItem).WithOne(t => t.Invoice).OnDelete(DeleteBehavior.Restrict);
}
}
}