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 { public ApplicationDbContext(DbContextOptions options) : base(options) { } public DbSet CodeTableEmployees { get; set; } public DbSet CodeTableCountries { get; set; } public DbSet CodeTableCompanies { get; set; } public DbSet Vehicles { get; set; } public DbSet VehicleIssues { get; set; } public DbSet VehicleBreakdowns { get; set; } public DbSet VehicleDrivers { get; set; } public DbSet VehicleDrives { get; set; } public DbSet VehicleFuelings { get; set; } public DbSet VehicleFuelingCards { get; set; } public DbSet VehicleFuelTypes { get; set; } public DbSet VehicleGroups { get; set; } public DbSet VehicleIncidents { get; set; } public DbSet VehicleMakes { get; set; } public DbSet VehicleMeterReadings { get; set; } public DbSet VehicleTypes { get; set; } public DbSet GeneralNotes { get; set; } public DbSet CodeTableDepartements { get; set; } public DbSet Documents { get; set; } public DbSet DocumentTypes { get; set; } public DbSet Files { get; set; } public DbSet CodeTableJobs { get; set; } public DbSet TransportLoadingOrders {get; set; } public DbSet TransportLoadingOrderLoadUnloads { get; set; } public DbSet CodeTablePartners { get; set; } public DbSet CodeTableItems { get; set; } public DbSet Invoices { get; set; } public DbSet InvoiceItems { get; set; } public DbSet CodeTablePrePostText { get; set; } public DbSet CodeTablePrePostTextLink { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // Sprememba imen tabel in stolpcev v Identity modelBuilder.Entity(entity => { entity.ToTable("IdentityUser"); entity.Property(e => e.Id).HasColumnName("IdUser"); }); modelBuilder.Entity(entity => { entity.ToTable("IdentityRole"); entity.Property(e => e.Id).HasColumnName("IdRole"); }); modelBuilder.Entity>(entity => { entity.ToTable("IdentityUserRoles"); entity.Property(e => e.UserId).HasColumnName("IdUserFk"); entity.Property(e => e.RoleId).HasColumnName("IdRoleFk"); }); modelBuilder.Entity>(entity => { entity.ToTable("IdentityUserClaims"); entity.Property(e => e.Id).HasColumnName("IdUserClaim"); entity.Property(e => e.UserId).HasColumnName("IdUserFk"); }); modelBuilder.Entity>(entity => { entity.ToTable("IdentityUserLogins"); entity.Property(e => e.UserId).HasColumnName("IdUserFk"); }); modelBuilder.Entity>(entity => { entity.ToTable("IdentityUserTokens"); entity.Property(e => e.UserId).HasColumnName("IdUserFk"); }); modelBuilder.Entity>(entity => { entity.ToTable("IdentityRoleClaims"); entity.Property(e => e.Id).HasColumnName("IdRoleClaim"); entity.Property(e => e.RoleId).HasColumnName("IdRoleFk"); }); //Relacije modelBuilder.Entity().HasMany(t => t.CountryCompany).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CountryEmployeeCountry).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CountryEmployeeCitizenship).WithOne(t => t.Citizenship).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CountryEmployeeTemporaryCountry).WithOne(t => t.TemporaryCountry).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CountryPartner).WithOne(t => t.Country).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyPartner).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyTransportLoadingOrder).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyEmployee).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyPrePostText).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyItem).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.CompanyInvoice).WithOne(t => t.Company).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.JobEmployee).WithOne(t => t.Job).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleNote).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleDriver).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleDrive).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleFueling).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleIncident).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleIssue).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleVehicleMeterReading).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.VehicleTransportLoadingOrder).WithOne(t => t.Vehicle).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity().HasMany(t => t.InvoiceInvoiceItem).WithOne(t => t.Invoice).OnDelete(DeleteBehavior.Restrict); } } }