//
using System;
using EmployeeManager.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace EmployeeManager.Migrations
{
[DbContext(typeof(ApplicationConext))]
partial class ApplicationConextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.10")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("EmployeeManager.Model.Employee", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Bid")
.HasColumnType("real");
b.Property("EndJob")
.HasColumnType("timestamp with time zone");
b.Property("NameJob")
.IsRequired()
.HasColumnType("text");
b.Property("PartTimeJob")
.HasColumnType("text");
b.Property("PhysicalPersonsId")
.HasColumnType("integer");
b.Property("StartJob")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("PhysicalPersonsId");
b.ToTable("Employees");
});
modelBuilder.Entity("EmployeeManager.Model.PhysicalPerson", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("Address")
.IsRequired()
.HasColumnType("text");
b.Property("Birthday")
.HasColumnType("timestamp with time zone");
b.Property("Gender")
.IsRequired()
.HasColumnType("text");
b.Property("NamePhysicalPersons")
.IsRequired()
.HasColumnType("text");
b.Property("PatronomicPhysicalPersons")
.IsRequired()
.HasColumnType("text");
b.Property("SurnamePhysicalPersons")
.IsRequired()
.HasColumnType("text");
b.Property("Telephone")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("PhysicalPersons");
});
modelBuilder.Entity("EmployeeManager.Model.Salary", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("CountHours")
.HasColumnType("integer");
b.Property("Date")
.HasColumnType("timestamp with time zone");
b.Property("EmployeeId")
.HasColumnType("integer");
b.Property("Passed")
.HasColumnType("boolean");
b.Property("Premium")
.HasColumnType("real");
b.Property("PriceHour")
.HasColumnType("real");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.ToTable("Salaries");
});
modelBuilder.Entity("EmployeeManager.Model.Vacation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("EmployeeId")
.HasColumnType("integer");
b.Property("EndData")
.HasColumnType("timestamp with time zone");
b.Property("Passed")
.HasColumnType("boolean");
b.Property("StartData")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.ToTable("Vacations");
});
modelBuilder.Entity("EmployeeManager.Model.Employee", b =>
{
b.HasOne("EmployeeManager.Model.PhysicalPerson", "PhysicalPersons")
.WithMany("Employees")
.HasForeignKey("PhysicalPersonsId");
b.Navigation("PhysicalPersons");
});
modelBuilder.Entity("EmployeeManager.Model.Salary", b =>
{
b.HasOne("EmployeeManager.Model.Employee", "Employees")
.WithMany("Salarys")
.HasForeignKey("EmployeeId");
b.Navigation("Employees");
});
modelBuilder.Entity("EmployeeManager.Model.Vacation", b =>
{
b.HasOne("EmployeeManager.Model.Employee", "Employees")
.WithMany("Vacations")
.HasForeignKey("EmployeeId");
b.Navigation("Employees");
});
modelBuilder.Entity("EmployeeManager.Model.Employee", b =>
{
b.Navigation("Salarys");
b.Navigation("Vacations");
});
modelBuilder.Entity("EmployeeManager.Model.PhysicalPerson", b =>
{
b.Navigation("Employees");
});
#pragma warning restore 612, 618
}
}
}