Files
PIBD-23_Coursework_Bank/TheBank/BankDatabase/Migrations/BankDbContextModelSnapshot.cs

560 lines
18 KiB
C#

// <auto-generated />
using System;
using BankDatabase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace BankDatabase.Migrations
{
[DbContext(typeof(BankDbContext))]
partial class BankDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("BankDatabase.Models.Clerk", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Login")
.IsRequired()
.HasColumnType("text");
b.Property<string>("MiddleName")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Surname")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Email")
.IsUnique();
b.HasIndex("Login")
.IsUnique();
b.HasIndex("PhoneNumber")
.IsUnique();
b.ToTable("Clerks");
});
modelBuilder.Entity("BankDatabase.Models.Client", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<decimal>("Balance")
.HasColumnType("numeric");
b.Property<string>("ClerkId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Surname")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClerkId");
b.ToTable("Clients");
});
modelBuilder.Entity("BankDatabase.Models.ClientCreditProgram", b =>
{
b.Property<string>("ClientId")
.HasColumnType("text");
b.Property<string>("CreditProgramId")
.HasColumnType("text");
b.HasKey("ClientId", "CreditProgramId");
b.HasIndex("CreditProgramId");
b.ToTable("CreditProgramClients");
});
modelBuilder.Entity("BankDatabase.Models.CreditProgram", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<decimal>("Cost")
.HasColumnType("numeric");
b.Property<decimal>("MaxCost")
.HasColumnType("numeric");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("PeriodId")
.IsRequired()
.HasColumnType("text");
b.Property<string>("StorekeeperId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.HasIndex("PeriodId");
b.HasIndex("StorekeeperId");
b.ToTable("CreditPrograms");
});
modelBuilder.Entity("BankDatabase.Models.CreditProgramCurrency", b =>
{
b.Property<string>("CreditProgramId")
.HasColumnType("text");
b.Property<string>("CurrencyId")
.HasColumnType("text");
b.HasKey("CreditProgramId", "CurrencyId");
b.HasIndex("CurrencyId");
b.ToTable("CurrencyCreditPrograms");
});
modelBuilder.Entity("BankDatabase.Models.Currency", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("Abbreviation")
.IsRequired()
.HasColumnType("text");
b.Property<decimal>("Cost")
.HasColumnType("numeric");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("StorekeeperId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Abbreviation")
.IsUnique();
b.HasIndex("StorekeeperId");
b.ToTable("Currencies");
});
modelBuilder.Entity("BankDatabase.Models.Deposit", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("ClerkId")
.IsRequired()
.HasColumnType("text");
b.Property<decimal>("Cost")
.HasColumnType("numeric");
b.Property<float>("InterestRate")
.HasColumnType("real");
b.Property<int>("Period")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("ClerkId");
b.ToTable("Deposits");
});
modelBuilder.Entity("BankDatabase.Models.DepositClient", b =>
{
b.Property<string>("DepositId")
.HasColumnType("text");
b.Property<string>("ClientId")
.HasColumnType("text");
b.HasKey("DepositId", "ClientId");
b.HasIndex("ClientId");
b.ToTable("DepositClients");
});
modelBuilder.Entity("BankDatabase.Models.DepositCurrency", b =>
{
b.Property<string>("DepositId")
.HasColumnType("text");
b.Property<string>("CurrencyId")
.HasColumnType("text");
b.HasKey("DepositId", "CurrencyId");
b.HasIndex("CurrencyId");
b.ToTable("DepositCurrencies");
});
modelBuilder.Entity("BankDatabase.Models.Period", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<DateTime>("EndTime")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("StartTime")
.HasColumnType("timestamp with time zone");
b.Property<string>("StorekeeperId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("StorekeeperId");
b.ToTable("Periods");
});
modelBuilder.Entity("BankDatabase.Models.Replenishment", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<decimal>("Amount")
.HasColumnType("numeric");
b.Property<string>("ClerkId")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone");
b.Property<string>("DepositId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClerkId");
b.HasIndex("DepositId");
b.ToTable("Replenishments");
});
modelBuilder.Entity("BankDatabase.Models.Storekeeper", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Login")
.IsRequired()
.HasColumnType("text");
b.Property<string>("MiddleName")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("text");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Surname")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Email")
.IsUnique();
b.HasIndex("Login")
.IsUnique();
b.HasIndex("PhoneNumber")
.IsUnique();
b.ToTable("Storekeepers");
});
modelBuilder.Entity("BankDatabase.Models.Client", b =>
{
b.HasOne("BankDatabase.Models.Clerk", "Clerk")
.WithMany("Clients")
.HasForeignKey("ClerkId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Clerk");
});
modelBuilder.Entity("BankDatabase.Models.ClientCreditProgram", b =>
{
b.HasOne("BankDatabase.Models.Client", "Client")
.WithMany("CreditProgramClients")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BankDatabase.Models.CreditProgram", "CreditProgram")
.WithMany("CreditProgramClients")
.HasForeignKey("CreditProgramId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
b.Navigation("CreditProgram");
});
modelBuilder.Entity("BankDatabase.Models.CreditProgram", b =>
{
b.HasOne("BankDatabase.Models.Period", "Period")
.WithMany("CreditPrograms")
.HasForeignKey("PeriodId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BankDatabase.Models.Storekeeper", "Storekeeper")
.WithMany("CreditPrograms")
.HasForeignKey("StorekeeperId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Period");
b.Navigation("Storekeeper");
});
modelBuilder.Entity("BankDatabase.Models.CreditProgramCurrency", b =>
{
b.HasOne("BankDatabase.Models.CreditProgram", "CreditProgram")
.WithMany("CurrencyCreditPrograms")
.HasForeignKey("CreditProgramId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BankDatabase.Models.Currency", "Currency")
.WithMany("CurrencyCreditPrograms")
.HasForeignKey("CurrencyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CreditProgram");
b.Navigation("Currency");
});
modelBuilder.Entity("BankDatabase.Models.Currency", b =>
{
b.HasOne("BankDatabase.Models.Storekeeper", "Storekeeper")
.WithMany("Currencies")
.HasForeignKey("StorekeeperId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Storekeeper");
});
modelBuilder.Entity("BankDatabase.Models.Deposit", b =>
{
b.HasOne("BankDatabase.Models.Clerk", "Clerk")
.WithMany("Deposits")
.HasForeignKey("ClerkId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Clerk");
});
modelBuilder.Entity("BankDatabase.Models.DepositClient", b =>
{
b.HasOne("BankDatabase.Models.Client", "Client")
.WithMany("DepositClients")
.HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BankDatabase.Models.Deposit", "Deposit")
.WithMany("DepositClients")
.HasForeignKey("DepositId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Client");
b.Navigation("Deposit");
});
modelBuilder.Entity("BankDatabase.Models.DepositCurrency", b =>
{
b.HasOne("BankDatabase.Models.Currency", "Currency")
.WithMany("DepositCurrencies")
.HasForeignKey("CurrencyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BankDatabase.Models.Deposit", "Deposit")
.WithMany("DepositCurrencies")
.HasForeignKey("DepositId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Currency");
b.Navigation("Deposit");
});
modelBuilder.Entity("BankDatabase.Models.Period", b =>
{
b.HasOne("BankDatabase.Models.Storekeeper", "Storekeeper")
.WithMany("Periods")
.HasForeignKey("StorekeeperId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Storekeeper");
});
modelBuilder.Entity("BankDatabase.Models.Replenishment", b =>
{
b.HasOne("BankDatabase.Models.Clerk", "Clerk")
.WithMany("Replenishments")
.HasForeignKey("ClerkId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.HasOne("BankDatabase.Models.Deposit", "Deposit")
.WithMany("Replenishments")
.HasForeignKey("DepositId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Clerk");
b.Navigation("Deposit");
});
modelBuilder.Entity("BankDatabase.Models.Clerk", b =>
{
b.Navigation("Clients");
b.Navigation("Deposits");
b.Navigation("Replenishments");
});
modelBuilder.Entity("BankDatabase.Models.Client", b =>
{
b.Navigation("CreditProgramClients");
b.Navigation("DepositClients");
});
modelBuilder.Entity("BankDatabase.Models.CreditProgram", b =>
{
b.Navigation("CreditProgramClients");
b.Navigation("CurrencyCreditPrograms");
});
modelBuilder.Entity("BankDatabase.Models.Currency", b =>
{
b.Navigation("CurrencyCreditPrograms");
b.Navigation("DepositCurrencies");
});
modelBuilder.Entity("BankDatabase.Models.Deposit", b =>
{
b.Navigation("DepositClients");
b.Navigation("DepositCurrencies");
b.Navigation("Replenishments");
});
modelBuilder.Entity("BankDatabase.Models.Period", b =>
{
b.Navigation("CreditPrograms");
});
modelBuilder.Entity("BankDatabase.Models.Storekeeper", b =>
{
b.Navigation("CreditPrograms");
b.Navigation("Currencies");
b.Navigation("Periods");
});
#pragma warning restore 612, 618
}
}
}