From b9010f51343112c6bc20987a7e165a07c7f8056d Mon Sep 17 00:00:00 2001 From: mborzyszkowski Date: Tue, 4 Aug 2020 19:26:10 +0200 Subject: [PATCH] next VOL3 --- .../Controllers/AdminController.cs | 107 +-- src/InternshipSystem.Api/Startup.cs | 2 +- src/InternshipSystem.Core/Entity/Company.cs | 5 +- src/InternshipSystem.Core/Entity/Edition.cs | 2 +- .../UglyOrmArtifacts/EditionSubject.cs | 5 +- .../DatabaseFiller.cs | 611 ++++++++-------- .../InternshipDbContext.cs | 8 +- .../20200804152816_Init.Designer.cs | 692 ------------------ .../Migrations/20200804152816_Init.cs | 497 ------------- .../InternshipDbContextModelSnapshot.cs | 690 ----------------- 10 files changed, 349 insertions(+), 2270 deletions(-) delete mode 100644 src/InternshipSystem.Repository/Migrations/20200804152816_Init.Designer.cs delete mode 100644 src/InternshipSystem.Repository/Migrations/20200804152816_Init.cs delete mode 100644 src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs diff --git a/src/InternshipSystem.Api/Controllers/AdminController.cs b/src/InternshipSystem.Api/Controllers/AdminController.cs index 5c7c6b3..25f5408 100644 --- a/src/InternshipSystem.Api/Controllers/AdminController.cs +++ b/src/InternshipSystem.Api/Controllers/AdminController.cs @@ -1,68 +1,39 @@ -// using System.Threading.Tasks; -// using InternshipSystem.Repository; -// using Microsoft.AspNetCore.Mvc; -// -// namespace InternshipSystem.Api.Controllers -// { -// [ApiController] -// [Route("admin")] -// public class AdminController : ControllerBase -// { -// public AdminController(DatabaseFiller fillerService) -// { -// FillerService = fillerService; -// } -// -// public DatabaseFiller FillerService { get; } -// -// -// [HttpPost("fill")] -// public async Task Fill() { -// await FillerService.FillCompany(); -// await FillerService.FillStudents(); -// await FillerService.FillSubjects(); -// await FillerService.FillInternshipTypes(); -// await FillerService.FillEditions(); -// await FillerService.FillInternShips(); -// return Ok(); -// } -// -// // [HttpPost("fill/companies")] -// // public async Task FillCompaniesAsync() -// // { -// // await FillerService.FillCompany(); -// // return Ok(); -// // } -// // -// // [HttpPost("fill/students")] -// // public async Task FillStudentsAsync() { -// // await FillerService.FillStudents(); -// // return Ok(); -// // } -// // -// // [HttpPost("fill/subjects")] -// // public async Task FillSubjectsAsync() -// // { -// // await FillerService.FillSubjects(); -// // return Ok(); -// // } -// // -// // [HttpPost("fill/internshiptypes")] -// // public async Task FillInternshipTypesAsync() { -// // await FillerService.FillInternshipTypes(); -// // return Ok(); -// // } -// // -// // [HttpPost("fill/editions")] -// // public async Task FillEditionsAsync() { -// // await FillerService.FillEditions(); -// // return Ok(); -// // } -// // -// // [HttpPost("fill/internships")] -// // public async Task FillInternShipsAsync() { -// // await FillerService.FillInternShips(); -// // return Ok(); -// // } -// } -// } \ No newline at end of file +using System.Threading.Tasks; +using InternshipSystem.Repository; +using Microsoft.AspNetCore.Mvc; + +namespace InternshipSystem.Api.Controllers +{ + [ApiController] + [Route("admin")] + public class AdminController : ControllerBase + { + public AdminController(DatabaseFiller fillerService) + { + FillerService = fillerService; + } + + public DatabaseFiller FillerService { get; } + + + [HttpPost("fill")] + public async Task Fill() { + await FillerService.FillCompanies(); + await FillerService.FillEditions(); + return Ok(); + } + + [HttpPost("fill/companies")] + public async Task FillCompaniesAsync() + { + await FillerService.FillCompanies(); + return Ok(); + } + + [HttpPost("fill/editions")] + public async Task FillEditionsAsync() { + await FillerService.FillEditions(); + return Ok(); + } + } +} \ No newline at end of file diff --git a/src/InternshipSystem.Api/Startup.cs b/src/InternshipSystem.Api/Startup.cs index 71e2992..aa5f0c8 100644 --- a/src/InternshipSystem.Api/Startup.cs +++ b/src/InternshipSystem.Api/Startup.cs @@ -29,7 +29,7 @@ namespace InternshipSystem.Api var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath); }) - // .AddScoped() + .AddScoped() .AddControllers() ; diff --git a/src/InternshipSystem.Core/Entity/Company.cs b/src/InternshipSystem.Core/Entity/Company.cs index 0d69b13..74dab1b 100644 --- a/src/InternshipSystem.Core/Entity/Company.cs +++ b/src/InternshipSystem.Core/Entity/Company.cs @@ -1,5 +1,5 @@ -using System.Collections.Generic; -using System.Linq; +using System; +using System.Collections.Generic; namespace InternshipSystem.Core { @@ -10,6 +10,7 @@ namespace InternshipSystem.Core public string Name { get; set; } public RangeOfActivity Range { get; set; } public List Branches { get; set; } + public Uri SiteAddress { get; set; } public Company CreateCompany(Nip nip, RangeOfActivity range, string name) { diff --git a/src/InternshipSystem.Core/Entity/Edition.cs b/src/InternshipSystem.Core/Entity/Edition.cs index 47c9242..165b31c 100644 --- a/src/InternshipSystem.Core/Entity/Edition.cs +++ b/src/InternshipSystem.Core/Entity/Edition.cs @@ -7,7 +7,7 @@ namespace InternshipSystem.Core { public class Edition { - public long Id { get; set; } + public Guid Id { get; set; } public DateTime EditionStart { get; set; } public DateTime EditionFinish { get; set; } public DateTime ReportingStart { get; set; } diff --git a/src/InternshipSystem.Core/UglyOrmArtifacts/EditionSubject.cs b/src/InternshipSystem.Core/UglyOrmArtifacts/EditionSubject.cs index 3514514..8754bf4 100644 --- a/src/InternshipSystem.Core/UglyOrmArtifacts/EditionSubject.cs +++ b/src/InternshipSystem.Core/UglyOrmArtifacts/EditionSubject.cs @@ -1,10 +1,11 @@ -using InternshipSystem.Core.Entity.Internship; +using System; +using InternshipSystem.Core.Entity.Internship; namespace InternshipSystem.Core.UglyOrmArtifacts { public class EditionSubject { - public long EditionId { get; set; } + public Guid EditionId { get; set; } public Edition Edition { get; set; } public long InternshipSubjectId { get; set; } public InternshipSubject Subject { get; set; } diff --git a/src/InternshipSystem.Repository/DatabaseFiller.cs b/src/InternshipSystem.Repository/DatabaseFiller.cs index 5ba2337..bee6e4b 100644 --- a/src/InternshipSystem.Repository/DatabaseFiller.cs +++ b/src/InternshipSystem.Repository/DatabaseFiller.cs @@ -1,313 +1,298 @@ -// using System; -// using System.Collections.Generic; -// using System.Collections.Immutable; -// using System.Linq; -// using System.Threading.Tasks; -// using InternshipSystem.Core; -// using InternshipSystem.Core.Entity.Internship; -// using InternshipSystem.Core.UglyOrmArtifacts; -// using InternshipSystem.Repository.Model; -// using Microsoft.EntityFrameworkCore; -// -// namespace InternshipSystem.Repository -// { -// public class DatabaseFiller -// { -// public DatabaseFiller(InternshipDbContext context) -// { -// Context = context; -// } -// -// public InternshipDbContext Context { get; } -// -// public async Task FillCompany() -// { -// var companies = new List -// { -// new CompanyReadModel -// { -// Name = "Intel", -// SiteAddress = new Uri("https://www.intel.com/content/www/us/en/jobs/locations/poland.html"), -// Nip = "9570752316", -// Range = RangeOfActivity.International, -// Branches = new List -// { -// new BranchOfficeReadModel -// { -// City = "Gdańsk", -// Street = "ul. Słowackiego", -// Building = "173", -// PostalCode = "80-298", -// Country = "Poland", -// }, -// new BranchOfficeReadModel -// { -// City = "Gdańsk", -// Street = "Jana z Kolna", -// Building = "11", -// PostalCode = "80-001", -// Country = "Poland", -// }, -// new BranchOfficeReadModel -// { -// City = "Boston", -// Street = "State St", -// Building = "53", -// PostalCode = "MA 02109", -// Country = "Stany Zjednoczone", -// } -// } -// }, -// new CompanyReadModel -// { -// Name = "Asseco Poland", -// SiteAddress = new Uri("http://pl.asseco.com"), -// Nip = "5842068320", -// Range = RangeOfActivity.National, -// Branches = new List -// { -// new BranchOfficeReadModel -// { -// City = "Gdańsk", -// Street = "ul. Podolska", -// Building = "21", -// PostalCode = "81-321", -// Country = "Poland" -// }, -// new BranchOfficeReadModel -// { -// City = "Wrocław", -// Street = "Traugutta", -// Building = "1/7", -// PostalCode = "50-449", -// Country = "Poland" -// } -// } -// } -// }; -// await Context.Companies.AddRangeAsync(companies); -// await Context.SaveChangesAsync(); -// } -// -// public async Task FillStudents() -// { -// var interns = new List -// { -// new Student -// { -// FirstName = "Jan", -// LastName = "Kowalski", -// AlbumNumber = 123456, -// Email = "s123456@student.pg.edu.pl", -// Semester = 4, -// }, -// new Student -// { -// FirstName = "Adam", -// LastName = "Kołek", -// AlbumNumber = 102137, -// Email = "s102137@student.pg.edu.pl", -// Semester = 6, -// } -// }; -// await Context.Students.AddRangeAsync(interns); -// await Context.SaveChangesAsync(); -// } -// -// public async Task FillInternshipTypes() -// { -// var internshipTypes = new List -// { -// new InternshipType -// { -// Type = "FreeInternship", -// Description = "Praktyka bezpłatna", -// }, -// new InternshipType -// { -// Type = "GraduateInternship" -// }, -// new InternshipType -// { -// Type = "FreeApprenticeship" -// }, -// new InternshipType -// { -// Type = "PaidApprenticeship", -// Description = "np. przemysłowy" -// }, -// new InternshipType -// { -// Type = "ForeignInternship", -// Description = "np. IAESTE, ERASMUS" -// }, -// new InternshipType -// { -// Type = "UOP" -// }, -// new InternshipType -// { -// Type = "UD" -// }, -// new InternshipType -// { -// Type = "UZ" -// }, -// new InternshipType -// { -// Type = "Other", -// Description = "Należy wprowadzić samodzielnie" -// } -// }; -// await Context.InternshipTypes.AddRangeAsync(internshipTypes); -// await Context.SaveChangesAsync(); -// } -// -// public async Task FillSubjects() -// { -// var subjects = new List -// { -// new InternshipSubject -// { -// Description = "Modelowanie baz danych" -// }, -// new InternshipSubject -// { -// Description = "Oprogramowywanie kart graficznych" -// }, -// new InternshipSubject -// { -// Description = "Projektowanie UI" -// } -// }; -// await Context.Subjects.AddRangeAsync(subjects); -// await Context.SaveChangesAsync(); -// } -// -// public async Task FillEditions() -// { -// var editions = new List -// { -// new EditionReadModel -// { -// EditionStart = new DateTime(2000, 5, 10), -// EditionFinish = new DateTime(2000, 11, 10), -// ReportingStart = new DateTime(2000, 9, 30), -// AvailableSubjects = new List -// { -// new EditionSubject -// { -// InternshipId = Context.Subjects -// .First(i => i.Description.Equals("Modelowanie baz danych")) -// .Id, -// }, -// new EditionSubject -// { -// InternshipId = Context.Subjects -// .First(i => i.Description.Equals("Oprogramowywanie kart graficznych")) -// .Id -// }, -// new EditionSubject -// { -// InternshipId = Context.Subjects -// .First(i => i.Description.Equals("Projektowanie UI")) -// .Id -// } -// }.ToImmutableList(), -// Course = new Course -// { -// Name = "Informatyka", -// } -// } -// }; -// await Context.Editions.AddRangeAsync(editions); -// await Context.SaveChangesAsync(); -// } -// -// public async Task FillInternShips() -// { -// var intenrships = new List -// { -// new InternshipReadModel -// { -// Student = Context.Students.First(i => i.AlbumNumber.Equals(123456)), -// InternshipRegistration = new InternshipRegistrationReadModel() -// { -// Company = Context.Companies.First(c => c.Nip.Equals("9570752316")), //Intel -// Type = Context.InternshipTypes.First(t => t.Type.Equals("UOP")), -// Start = new DateTime(2000, 7, 1), -// End = new DateTime(2000, 8, 30), -// State = DocumentState.Submitted, -// BranchAddress = -// Context.Companies -// .Include(c => c.Branches) -// .First(c => c.Nip.Equals("9570752316")) -// .Branches -// .First(), -// }, -// InternshipProgram = new InternshipProgramReadModel() -// { -// FirstName = "Horacy", -// LastName = "Wościcki", -// Email = "howos@intel.com", -// PhoneNumber = "605-555-555", -// ChosenSubjects = new List -// { -// new ProgramSubject -// { -// InternshipSubjectId = -// Context.Subjects -// .First(s => s.Description.Equals("Projektowanie UI")) -// .Id -// }, -// new ProgramSubject -// { -// InternshipSubjectId = -// Context.Subjects -// .First(s => s.Description.Equals("Oprogramowywanie kart graficznych")) -// .Id -// } -// } -// }, -// }, -// new InternshipReadModel -// { -// Student = Context.Students.First(i => i.AlbumNumber == 102137), -// InternshipRegistration = new InternshipRegistrationReadModel() -// { -// Company = Context.Companies.First(c => c.Nip.Equals("5842068320")), //Asseco -// Type = Context.InternshipTypes.First(t => t.Type.Equals("UZ")), -// Start = new DateTime(2000, 7, 1), -// End = new DateTime(2000, 8, 30), -// State = DocumentState.Submitted, -// BranchAddress = -// Context.Companies -// .Include(c => c.Branches) -// .First(c => c.Nip.Equals("5842068320")) -// .Branches -// .First(), -// }, -// InternshipProgram = new InternshipProgramReadModel() -// { -// FirstName = "Henryk", -// LastName = "Polaciński", -// Email = "hepol@asseco.pl", -// PhoneNumber = "555-525-545", -// ChosenSubjects = new List -// { -// new ProgramSubject -// { -// InternshipSubjectId = -// Context.Subjects -// .First(s => s.Description.Equals("Modelowanie baz danych")) -// .Id -// } -// }, -// }, -// }, -// }; -// await Context.Internships.AddRangeAsync(intenrships); -// await Context.SaveChangesAsync(); -// } -// } -// } \ No newline at end of file +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using InternshipSystem.Core; +using InternshipSystem.Core.Entity.Internship; +using InternshipSystem.Core.UglyOrmArtifacts; +using Microsoft.EntityFrameworkCore; + +namespace InternshipSystem.Repository +{ + public class DatabaseFiller + { + public DatabaseFiller(InternshipDbContext context) + { + Context = context; + } + + public InternshipDbContext Context { get; } + + public async Task FillCompanies() + { + var companies = new List + { + new Company + { + Id = 1, + Name = "Intel", + SiteAddress = new Uri("https://www.intel.com/content/www/us/en/jobs/locations/poland.html"), + Nip = "9570752316", + Range = RangeOfActivity.International, + Branches = new List + { + new BranchOffice + { + Address = new BranchAddress + { + City = "Gdańsk", + Street = "ul. Słowackiego", + Building = "173", + PostalCode = "80-298", + Country = "Poland", + } + }, + new BranchOffice + { + Address = new BranchAddress + { + City = "Gdańsk", + Street = "Jana z Kolna", + Building = "11", + PostalCode = "80-001", + Country = "Poland", + } + }, + new BranchOffice + { + Address = new BranchAddress + { + City = "Boston", + Street = "State St", + Building = "53", + PostalCode = "MA 02109", + Country = "Stany Zjednoczone", + } + } + } + }, + new Company + { + Id = 2, + Name = "Asseco Poland", + SiteAddress = new Uri("http://pl.asseco.com"), + Nip = "5842068320", + Range = RangeOfActivity.National, + Branches = new List + { + new BranchOffice + { + Address = new BranchAddress + { + City = "Gdańsk", + Street = "ul. Podolska", + Building = "21", + PostalCode = "81-321", + Country = "Poland" + } + }, + new BranchOffice + { + Address = new BranchAddress + { + City = "Wrocław", + Street = "Traugutta", + Building = "1/7", + PostalCode = "50-449", + Country = "Poland" + } + } + } + } + }; + await Context.Companies.AddRangeAsync(companies); + await Context.SaveChangesAsync(); + } + + public async Task FillEditions() + { + var editions = new List + { + new Edition + { + EditionStart = new DateTime(2000, 5, 10), + EditionFinish = new DateTime(2000, 11, 10), + ReportingStart = new DateTime(2000, 9, 30), + AvailableSubjects = new List + { + new EditionSubject + { + Subject = new InternshipSubject + { + Description = "Modelowanie baz danych" + } + }, + new EditionSubject + { + Subject = new InternshipSubject + { + Description = "Oprogramowywanie kart graficznych" + } + }, + new EditionSubject + { + Subject = new InternshipSubject + { + Description = "Projektowanie UI" + } + } + }, + Course = new Course + { + Name = "Informatyka", + }, + Internships = new List(), + } + }; + + var edition = editions.First(); + edition.Internships.AddRange( + new List + { + new Internship + { + Student = new Student + { + FirstName = "Jan", + LastName = "Kowalski", + AlbumNumber = 123456, + Email = "s123456@student.pg.edu.pl", + Semester = 4, + }, + InternshipRegistration = new InternshipRegistration + { + Company = Context.Companies.First(c => c.Id.Equals(1)), //Intel + Type = new InternshipType + { + Type = "UOP" + }, + Start = new DateTime(2000, 7, 1), + End = new DateTime(2000, 8, 30), + State = DocumentState.Submitted, + BranchAddress = + Context.Companies + .Include(c => c.Branches) + .First(c => c.Id.Equals(1)) + .Branches + .First(), + }, + InternshipProgram = new InternshipProgram + { + Mentor = new Mentor + { + FirstName = "Horacy", + LastName = "Wościcki", + Email = "howos@intel.com", + PhoneNumber = "605-555-555", + }, + ChosenSubjects = new List + { + new ProgramSubject + { + Subject = edition.AvailableSubjects + .First(s => s.Subject.Description.Equals("Modelowanie baz danych")) + .Subject + }, + new ProgramSubject + { + Subject = edition.AvailableSubjects + .First(s => s.Subject.Description.Equals("Projektowanie UI")) + .Subject + } + } + }, + }, + new Internship + { + Student = new Student + { + FirstName = "Adam", + LastName = "Kołek", + AlbumNumber = 102137, + Email = "s102137@student.pg.edu.pl", + Semester = 6, + }, + InternshipRegistration = new InternshipRegistration + { + Company = Context.Companies.First(c => c.Id.Equals(2)), //Asseco + Type = new InternshipType + { + Type = "UZ" + }, + Start = new DateTime(2000, 7, 1), + End = new DateTime(2000, 8, 30), + State = DocumentState.Submitted, + BranchAddress = + Context.Companies + .Include(c => c.Branches) + .First(c => c.Id.Equals(2)) + .Branches + .First(), + }, + InternshipProgram = new InternshipProgram + { + Mentor = new Mentor + { + FirstName = "Henryk", + LastName = "Polaciński", + Email = "hepol@asseco.pl", + PhoneNumber = "555-525-545", + }, + ChosenSubjects = new List + { + new ProgramSubject + { + Subject = edition.AvailableSubjects + .First(s => s.Subject.Description.Equals("Oprogramowywanie kart graficznych")) + .Subject + } + }, + }, + }, + }); + await Context.Editions.AddRangeAsync(editions); + await Context.SaveChangesAsync(); + } + + // new InternshipType + // { + // Type = "FreeInternship", + // Description = "Praktyka bezpłatna", + // }, + // new InternshipType + // { + // Type = "GraduateInternship" + // }, + // new InternshipType + // { + // Type = "FreeApprenticeship" + // }, + // new InternshipType + // { + // Type = "PaidApprenticeship", + // Description = "np. przemysłowy" + // }, + // new InternshipType + // { + // Type = "ForeignInternship", + // Description = "np. IAESTE, ERASMUS" + // }, + // new InternshipType + // { + // Type = "UOP" + // }, + // new InternshipType + // { + // Type = "UD" + // }, + // new InternshipType + // { + // Type = "UZ" + // }, + // new InternshipType + // { + // Type = "Other", + // Description = "Należy wprowadzić samodzielnie" + // } + } +} \ No newline at end of file diff --git a/src/InternshipSystem.Repository/InternshipDbContext.cs b/src/InternshipSystem.Repository/InternshipDbContext.cs index de1dff3..ed398ba 100644 --- a/src/InternshipSystem.Repository/InternshipDbContext.cs +++ b/src/InternshipSystem.Repository/InternshipDbContext.cs @@ -37,12 +37,12 @@ namespace InternshipSystem.Repository .HasKey(subject => new { subject.InternshipProgramId, subject.InternshipSubjectId }); builder - .HasOne() + .HasOne(k => k.Program) .WithMany(model => model.ChosenSubjects) .HasForeignKey(subject => subject.InternshipProgramId); builder - .HasOne() + .HasOne(k => k.Subject) .WithMany() .HasForeignKey(subject => subject.InternshipSubjectId); }); @@ -53,12 +53,12 @@ namespace InternshipSystem.Repository .HasKey(subject => new { subject.EditionId, subject.InternshipSubjectId}); builder - .HasOne() + .HasOne(k => k.Edition) .WithMany(model => model.AvailableSubjects) .HasForeignKey(p => p.EditionId); builder - .HasOne() + .HasOne(k => k.Subject) .WithMany() .HasForeignKey(subject => subject.InternshipSubjectId); }); diff --git a/src/InternshipSystem.Repository/Migrations/20200804152816_Init.Designer.cs b/src/InternshipSystem.Repository/Migrations/20200804152816_Init.Designer.cs deleted file mode 100644 index 465e76f..0000000 --- a/src/InternshipSystem.Repository/Migrations/20200804152816_Init.Designer.cs +++ /dev/null @@ -1,692 +0,0 @@ -// -using System; -using InternshipSystem.Repository; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - [DbContext(typeof(InternshipDbContext))] - [Migration("20200804152816_Init")] - partial class Init - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) - .HasAnnotation("ProductVersion", "3.1.4") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - modelBuilder.Entity("InternshipSystem.Core.Approval", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("Scan") - .HasColumnName("scan") - .HasColumnType("bytea"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_approval"); - - b.HasIndex("InternshipId") - .HasName("ix_approval_internship_id"); - - b.ToTable("approval"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_branch_office"); - - b.HasIndex("CompanyId") - .HasName("ix_branch_office_company_id"); - - b.ToTable("branch_office"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.Property("Range") - .HasColumnName("range") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_companies"); - - b.ToTable("companies"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Course", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_course"); - - b.ToTable("course"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_document"); - - b.HasIndex("InternshipId") - .HasName("ix_document_internship_id"); - - b.ToTable("document"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CourseId") - .HasColumnName("course_id") - .HasColumnType("bigint"); - - b.Property("EditionFinish") - .HasColumnName("edition_finish") - .HasColumnType("timestamp without time zone"); - - b.Property("EditionStart") - .HasColumnName("edition_start") - .HasColumnType("timestamp without time zone"); - - b.Property("ReportingStart") - .HasColumnName("reporting_start") - .HasColumnType("timestamp without time zone"); - - b.HasKey("Id") - .HasName("pk_editions"); - - b.HasIndex("CourseId") - .HasName("ix_editions_course_id"); - - b.ToTable("editions"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipSubject", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_subject"); - - b.ToTable("internship_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_type"); - - b.ToTable("internship_type"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("bigint"); - - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipRegistrationId") - .HasColumnName("internship_registration_id") - .HasColumnType("bigint"); - - b.Property("ReportId") - .HasColumnName("report_id") - .HasColumnType("bigint"); - - b.Property("StudentId") - .HasColumnName("student_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship"); - - b.HasIndex("EditionId") - .HasName("ix_internship_edition_id"); - - b.HasIndex("InternshipProgramId") - .HasName("ix_internship_internship_program_id"); - - b.HasIndex("InternshipRegistrationId") - .HasName("ix_internship_internship_registration_id"); - - b.HasIndex("ReportId") - .HasName("ix_internship_report_id"); - - b.HasIndex("StudentId") - .HasName("ix_internship_student_id"); - - b.ToTable("internship"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_internship_program"); - - b.ToTable("internship_program"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("BranchAddressId") - .HasColumnName("branch_address_id") - .HasColumnType("bigint"); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.Property("End") - .HasColumnName("end") - .HasColumnType("timestamp without time zone"); - - b.Property("Start") - .HasColumnName("start") - .HasColumnType("timestamp without time zone"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("TypeId") - .HasColumnName("type_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship_registration"); - - b.HasIndex("BranchAddressId") - .HasName("ix_internship_registration_branch_address_id"); - - b.HasIndex("CompanyId") - .HasName("ix_internship_registration_company_id"); - - b.HasIndex("TypeId") - .HasName("ix_internship_registration_type_id"); - - b.ToTable("internship_registration"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Report", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_report"); - - b.ToTable("report"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Student", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("AlbumNumber") - .HasColumnName("album_number") - .HasColumnType("integer"); - - b.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b.Property("Semester") - .HasColumnName("semester") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_student"); - - b.ToTable("student"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.Property("EditionId1") - .HasColumnName("edition_id1") - .HasColumnType("bigint"); - - b.Property("SubjectId") - .HasColumnName("subject_id") - .HasColumnType("bigint"); - - b.HasKey("EditionId", "InternshipSubjectId") - .HasName("pk_edition_subject"); - - b.HasIndex("EditionId1") - .HasName("ix_edition_subject_edition_id1"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_edition_subject_internship_subject_id"); - - b.HasIndex("SubjectId") - .HasName("ix_edition_subject_subject_id"); - - b.ToTable("edition_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.Property("ProgramId") - .HasColumnName("program_id") - .HasColumnType("bigint"); - - b.Property("SubjectId") - .HasColumnName("subject_id") - .HasColumnType("bigint"); - - b.HasKey("InternshipProgramId", "InternshipSubjectId") - .HasName("pk_program_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_program_subject_internship_subject_id"); - - b.HasIndex("ProgramId") - .HasName("ix_program_subject_program_id"); - - b.HasIndex("SubjectId") - .HasName("ix_program_subject_subject_id"); - - b.ToTable("program_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Approval", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Approvals") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_approval_internship_internship_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.HasOne("InternshipSystem.Core.Company", null) - .WithMany("Branches") - .HasForeignKey("CompanyId") - .HasConstraintName("fk_branch_office_companies_company_id"); - - b.OwnsOne("InternshipSystem.Core.BranchAddress", "Address", b1 => - { - b1.Property("BranchOfficeId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Building") - .HasColumnName("building") - .HasColumnType("text"); - - b1.Property("City") - .HasColumnName("city") - .HasColumnType("text"); - - b1.Property("Country") - .HasColumnName("country") - .HasColumnType("text"); - - b1.Property("PostalCode") - .HasColumnName("postal_code") - .HasColumnType("text"); - - b1.Property("Street") - .HasColumnName("street") - .HasColumnType("text"); - - b1.HasKey("BranchOfficeId") - .HasName("pk_branch_office"); - - b1.ToTable("branch_office"); - - b1.WithOwner() - .HasForeignKey("BranchOfficeId") - .HasConstraintName("fk_branch_address_branch_office_branch_office_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.OwnsOne("InternshipSystem.Core.Nip", "Nip", b1 => - { - b1.Property("CompanyId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.HasKey("CompanyId") - .HasName("pk_companies"); - - b1.ToTable("companies"); - - b1.WithOwner() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_nip_companies_company_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Documents") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_document_internship_internship_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.HasOne("InternshipSystem.Core.Course", "Course") - .WithMany() - .HasForeignKey("CourseId") - .HasConstraintName("fk_editions_course_course_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("Internships") - .HasForeignKey("EditionId") - .HasConstraintName("fk_internship_editions_edition_id"); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "InternshipProgram") - .WithMany() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_internship_internship_program_internship_program_id"); - - b.HasOne("InternshipSystem.Core.InternshipRegistration", "InternshipRegistration") - .WithMany() - .HasForeignKey("InternshipRegistrationId") - .HasConstraintName("fk_internship_internship_registration_internship_registration_"); - - b.HasOne("InternshipSystem.Core.Report", "Report") - .WithMany() - .HasForeignKey("ReportId") - .HasConstraintName("fk_internship_report_report_id"); - - b.HasOne("InternshipSystem.Core.Student", "Student") - .WithMany() - .HasForeignKey("StudentId") - .HasConstraintName("fk_internship_student_student_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.OwnsOne("InternshipSystem.Core.Mentor", "Mentor", b1 => - { - b1.Property("InternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b1.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b1.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b1.HasKey("InternshipProgramId") - .HasName("pk_internship_program"); - - b1.ToTable("internship_program"); - - b1.WithOwner() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_mentor_internship_program_internship_program_id"); - - b1.OwnsOne("InternshipSystem.Core.PhoneNumber", "PhoneNumber", b2 => - { - b2.Property("MentorInternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b2.HasKey("MentorInternshipProgramId") - .HasName("pk_internship_program"); - - b2.ToTable("internship_program"); - - b2.WithOwner() - .HasForeignKey("MentorInternshipProgramId") - .HasConstraintName("fk_phone_number_internship_program_mentor_internship_program_id"); - }); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.HasOne("InternshipSystem.Core.BranchOffice", "BranchAddress") - .WithMany() - .HasForeignKey("BranchAddressId") - .HasConstraintName("fk_internship_registration_branch_office_branch_address_id"); - - b.HasOne("InternshipSystem.Core.Company", "Company") - .WithMany() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_internship_registration_companies_company_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipType", "Type") - .WithMany() - .HasForeignKey("TypeId") - .HasConstraintName("fk_internship_registration_internship_type_type_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("AvailableSubjects") - .HasForeignKey("EditionId") - .HasConstraintName("fk_edition_subject_editions_edition_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Edition", "Edition") - .WithMany() - .HasForeignKey("EditionId1") - .HasConstraintName("fk_edition_subject_editions_edition_id1"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", null) - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("SubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_subject_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.HasOne("InternshipSystem.Core.InternshipProgram", null) - .WithMany("ChosenSubjects") - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_program_subject_internship_program_internship_program_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", null) - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_program_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "Program") - .WithMany() - .HasForeignKey("ProgramId") - .HasConstraintName("fk_program_subject_internship_program_program_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("SubjectId") - .HasConstraintName("fk_program_subject_internship_subject_subject_id"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/InternshipSystem.Repository/Migrations/20200804152816_Init.cs b/src/InternshipSystem.Repository/Migrations/20200804152816_Init.cs deleted file mode 100644 index 58a4573..0000000 --- a/src/InternshipSystem.Repository/Migrations/20200804152816_Init.cs +++ /dev/null @@ -1,497 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - public partial class Init : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "companies", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - name = table.Column(nullable: true), - range = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_companies", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "course", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - name = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_course", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_program", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - first_name = table.Column(nullable: true), - last_name = table.Column(nullable: true), - email = table.Column(nullable: true), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_program", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_subject", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - description = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_subject", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "internship_type", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - type = table.Column(nullable: true), - description = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_type", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "report", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_report", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "student", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - album_number = table.Column(nullable: false), - first_name = table.Column(nullable: true), - last_name = table.Column(nullable: true), - email = table.Column(nullable: true), - semester = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_student", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "branch_office", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - street = table.Column(nullable: true), - building = table.Column(nullable: true), - city = table.Column(nullable: true), - postal_code = table.Column(nullable: true), - country = table.Column(nullable: true), - company_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_branch_office", x => x.id); - table.ForeignKey( - name: "fk_branch_office_companies_company_id", - column: x => x.company_id, - principalTable: "companies", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "editions", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - edition_start = table.Column(nullable: false), - edition_finish = table.Column(nullable: false), - reporting_start = table.Column(nullable: false), - course_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_editions", x => x.id); - table.ForeignKey( - name: "fk_editions_course_course_id", - column: x => x.course_id, - principalTable: "course", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "program_subject", - columns: table => new - { - internship_program_id = table.Column(nullable: false), - internship_subject_id = table.Column(nullable: false), - program_id = table.Column(nullable: true), - subject_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_program_subject", x => new { x.internship_program_id, x.internship_subject_id }); - table.ForeignKey( - name: "fk_program_subject_internship_program_internship_program_id", - column: x => x.internship_program_id, - principalTable: "internship_program", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_program_subject_internship_subject_internship_subject_id", - column: x => x.internship_subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_program_subject_internship_program_program_id", - column: x => x.program_id, - principalTable: "internship_program", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_program_subject_internship_subject_subject_id", - column: x => x.subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "internship_registration", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - company_id = table.Column(nullable: true), - branch_address_id = table.Column(nullable: true), - start = table.Column(nullable: false), - end = table.Column(nullable: false), - type_id = table.Column(nullable: true), - state = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("pk_internship_registration", x => x.id); - table.ForeignKey( - name: "fk_internship_registration_branch_office_branch_address_id", - column: x => x.branch_address_id, - principalTable: "branch_office", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_registration_companies_company_id", - column: x => x.company_id, - principalTable: "companies", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_registration_internship_type_type_id", - column: x => x.type_id, - principalTable: "internship_type", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "edition_subject", - columns: table => new - { - edition_id = table.Column(nullable: false), - internship_subject_id = table.Column(nullable: false), - edition_id1 = table.Column(nullable: true), - subject_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_edition_subject", x => new { x.edition_id, x.internship_subject_id }); - table.ForeignKey( - name: "fk_edition_subject_editions_edition_id", - column: x => x.edition_id, - principalTable: "editions", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_edition_subject_editions_edition_id1", - column: x => x.edition_id1, - principalTable: "editions", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_edition_subject_internship_subject_internship_subject_id", - column: x => x.internship_subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "fk_edition_subject_internship_subject_subject_id", - column: x => x.subject_id, - principalTable: "internship_subject", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "internship", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - student_id = table.Column(nullable: true), - internship_registration_id = table.Column(nullable: true), - internship_program_id = table.Column(nullable: true), - report_id = table.Column(nullable: true), - edition_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_internship", x => x.id); - table.ForeignKey( - name: "fk_internship_editions_edition_id", - column: x => x.edition_id, - principalTable: "editions", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_internship_program_internship_program_id", - column: x => x.internship_program_id, - principalTable: "internship_program", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_internship_registration_internship_registration_", - column: x => x.internship_registration_id, - principalTable: "internship_registration", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_report_report_id", - column: x => x.report_id, - principalTable: "report", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "fk_internship_student_student_id", - column: x => x.student_id, - principalTable: "student", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "approval", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - scan = table.Column(nullable: true), - state = table.Column(nullable: false), - internship_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_approval", x => x.id); - table.ForeignKey( - name: "fk_approval_internship_internship_id", - column: x => x.internship_id, - principalTable: "internship", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "document", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - description = table.Column(nullable: true), - state = table.Column(nullable: false), - internship_id = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_document", x => x.id); - table.ForeignKey( - name: "fk_document_internship_internship_id", - column: x => x.internship_id, - principalTable: "internship", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "ix_approval_internship_id", - table: "approval", - column: "internship_id"); - - migrationBuilder.CreateIndex( - name: "ix_branch_office_company_id", - table: "branch_office", - column: "company_id"); - - migrationBuilder.CreateIndex( - name: "ix_document_internship_id", - table: "document", - column: "internship_id"); - - migrationBuilder.CreateIndex( - name: "ix_edition_subject_edition_id1", - table: "edition_subject", - column: "edition_id1"); - - migrationBuilder.CreateIndex( - name: "ix_edition_subject_internship_subject_id", - table: "edition_subject", - column: "internship_subject_id"); - - migrationBuilder.CreateIndex( - name: "ix_edition_subject_subject_id", - table: "edition_subject", - column: "subject_id"); - - migrationBuilder.CreateIndex( - name: "ix_editions_course_id", - table: "editions", - column: "course_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_edition_id", - table: "internship", - column: "edition_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_internship_program_id", - table: "internship", - column: "internship_program_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_internship_registration_id", - table: "internship", - column: "internship_registration_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_report_id", - table: "internship", - column: "report_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_student_id", - table: "internship", - column: "student_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_branch_address_id", - table: "internship_registration", - column: "branch_address_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_company_id", - table: "internship_registration", - column: "company_id"); - - migrationBuilder.CreateIndex( - name: "ix_internship_registration_type_id", - table: "internship_registration", - column: "type_id"); - - migrationBuilder.CreateIndex( - name: "ix_program_subject_internship_subject_id", - table: "program_subject", - column: "internship_subject_id"); - - migrationBuilder.CreateIndex( - name: "ix_program_subject_program_id", - table: "program_subject", - column: "program_id"); - - migrationBuilder.CreateIndex( - name: "ix_program_subject_subject_id", - table: "program_subject", - column: "subject_id"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "approval"); - - migrationBuilder.DropTable( - name: "document"); - - migrationBuilder.DropTable( - name: "edition_subject"); - - migrationBuilder.DropTable( - name: "program_subject"); - - migrationBuilder.DropTable( - name: "internship"); - - migrationBuilder.DropTable( - name: "internship_subject"); - - migrationBuilder.DropTable( - name: "editions"); - - migrationBuilder.DropTable( - name: "internship_program"); - - migrationBuilder.DropTable( - name: "internship_registration"); - - migrationBuilder.DropTable( - name: "report"); - - migrationBuilder.DropTable( - name: "student"); - - migrationBuilder.DropTable( - name: "course"); - - migrationBuilder.DropTable( - name: "branch_office"); - - migrationBuilder.DropTable( - name: "internship_type"); - - migrationBuilder.DropTable( - name: "companies"); - } - } -} diff --git a/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs b/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs deleted file mode 100644 index 3bb0c9c..0000000 --- a/src/InternshipSystem.Repository/Migrations/InternshipDbContextModelSnapshot.cs +++ /dev/null @@ -1,690 +0,0 @@ -// -using System; -using InternshipSystem.Repository; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -namespace InternshipSystem.Repository.Migrations -{ - [DbContext(typeof(InternshipDbContext))] - partial class InternshipDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) - .HasAnnotation("ProductVersion", "3.1.4") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - modelBuilder.Entity("InternshipSystem.Core.Approval", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("Scan") - .HasColumnName("scan") - .HasColumnType("bytea"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_approval"); - - b.HasIndex("InternshipId") - .HasName("ix_approval_internship_id"); - - b.ToTable("approval"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_branch_office"); - - b.HasIndex("CompanyId") - .HasName("ix_branch_office_company_id"); - - b.ToTable("branch_office"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.Property("Range") - .HasColumnName("range") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_companies"); - - b.ToTable("companies"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Course", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_course"); - - b.ToTable("course"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("InternshipId") - .HasColumnName("internship_id") - .HasColumnType("bigint"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_document"); - - b.HasIndex("InternshipId") - .HasName("ix_document_internship_id"); - - b.ToTable("document"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("CourseId") - .HasColumnName("course_id") - .HasColumnType("bigint"); - - b.Property("EditionFinish") - .HasColumnName("edition_finish") - .HasColumnType("timestamp without time zone"); - - b.Property("EditionStart") - .HasColumnName("edition_start") - .HasColumnType("timestamp without time zone"); - - b.Property("ReportingStart") - .HasColumnName("reporting_start") - .HasColumnType("timestamp without time zone"); - - b.HasKey("Id") - .HasName("pk_editions"); - - b.HasIndex("CourseId") - .HasName("ix_editions_course_id"); - - b.ToTable("editions"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipSubject", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_subject"); - - b.ToTable("internship_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Entity.Internship.InternshipType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("text"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("text"); - - b.HasKey("Id") - .HasName("pk_internship_type"); - - b.ToTable("internship_type"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("bigint"); - - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipRegistrationId") - .HasColumnName("internship_registration_id") - .HasColumnType("bigint"); - - b.Property("ReportId") - .HasColumnName("report_id") - .HasColumnType("bigint"); - - b.Property("StudentId") - .HasColumnName("student_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship"); - - b.HasIndex("EditionId") - .HasName("ix_internship_edition_id"); - - b.HasIndex("InternshipProgramId") - .HasName("ix_internship_internship_program_id"); - - b.HasIndex("InternshipRegistrationId") - .HasName("ix_internship_internship_registration_id"); - - b.HasIndex("ReportId") - .HasName("ix_internship_report_id"); - - b.HasIndex("StudentId") - .HasName("ix_internship_student_id"); - - b.ToTable("internship"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_internship_program"); - - b.ToTable("internship_program"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("BranchAddressId") - .HasColumnName("branch_address_id") - .HasColumnType("bigint"); - - b.Property("CompanyId") - .HasColumnName("company_id") - .HasColumnType("bigint"); - - b.Property("End") - .HasColumnName("end") - .HasColumnType("timestamp without time zone"); - - b.Property("Start") - .HasColumnName("start") - .HasColumnType("timestamp without time zone"); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.Property("TypeId") - .HasColumnName("type_id") - .HasColumnType("bigint"); - - b.HasKey("Id") - .HasName("pk_internship_registration"); - - b.HasIndex("BranchAddressId") - .HasName("ix_internship_registration_branch_address_id"); - - b.HasIndex("CompanyId") - .HasName("ix_internship_registration_company_id"); - - b.HasIndex("TypeId") - .HasName("ix_internship_registration_type_id"); - - b.ToTable("internship_registration"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Report", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("State") - .HasColumnName("state") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_report"); - - b.ToTable("report"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Student", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b.Property("AlbumNumber") - .HasColumnName("album_number") - .HasColumnType("integer"); - - b.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b.Property("Semester") - .HasColumnName("semester") - .HasColumnType("integer"); - - b.HasKey("Id") - .HasName("pk_student"); - - b.ToTable("student"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.Property("EditionId") - .HasColumnName("edition_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.Property("EditionId1") - .HasColumnName("edition_id1") - .HasColumnType("bigint"); - - b.Property("SubjectId") - .HasColumnName("subject_id") - .HasColumnType("bigint"); - - b.HasKey("EditionId", "InternshipSubjectId") - .HasName("pk_edition_subject"); - - b.HasIndex("EditionId1") - .HasName("ix_edition_subject_edition_id1"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_edition_subject_internship_subject_id"); - - b.HasIndex("SubjectId") - .HasName("ix_edition_subject_subject_id"); - - b.ToTable("edition_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.Property("InternshipProgramId") - .HasColumnName("internship_program_id") - .HasColumnType("bigint"); - - b.Property("InternshipSubjectId") - .HasColumnName("internship_subject_id") - .HasColumnType("bigint"); - - b.Property("ProgramId") - .HasColumnName("program_id") - .HasColumnType("bigint"); - - b.Property("SubjectId") - .HasColumnName("subject_id") - .HasColumnType("bigint"); - - b.HasKey("InternshipProgramId", "InternshipSubjectId") - .HasName("pk_program_subject"); - - b.HasIndex("InternshipSubjectId") - .HasName("ix_program_subject_internship_subject_id"); - - b.HasIndex("ProgramId") - .HasName("ix_program_subject_program_id"); - - b.HasIndex("SubjectId") - .HasName("ix_program_subject_subject_id"); - - b.ToTable("program_subject"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Approval", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Approvals") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_approval_internship_internship_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.BranchOffice", b => - { - b.HasOne("InternshipSystem.Core.Company", null) - .WithMany("Branches") - .HasForeignKey("CompanyId") - .HasConstraintName("fk_branch_office_companies_company_id"); - - b.OwnsOne("InternshipSystem.Core.BranchAddress", "Address", b1 => - { - b1.Property("BranchOfficeId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Building") - .HasColumnName("building") - .HasColumnType("text"); - - b1.Property("City") - .HasColumnName("city") - .HasColumnType("text"); - - b1.Property("Country") - .HasColumnName("country") - .HasColumnType("text"); - - b1.Property("PostalCode") - .HasColumnName("postal_code") - .HasColumnType("text"); - - b1.Property("Street") - .HasColumnName("street") - .HasColumnType("text"); - - b1.HasKey("BranchOfficeId") - .HasName("pk_branch_office"); - - b1.ToTable("branch_office"); - - b1.WithOwner() - .HasForeignKey("BranchOfficeId") - .HasConstraintName("fk_branch_address_branch_office_branch_office_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Company", b => - { - b.OwnsOne("InternshipSystem.Core.Nip", "Nip", b1 => - { - b1.Property("CompanyId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.HasKey("CompanyId") - .HasName("pk_companies"); - - b1.ToTable("companies"); - - b1.WithOwner() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_nip_companies_company_id"); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.Document", b => - { - b.HasOne("InternshipSystem.Core.Internship", null) - .WithMany("Documents") - .HasForeignKey("InternshipId") - .HasConstraintName("fk_document_internship_internship_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Edition", b => - { - b.HasOne("InternshipSystem.Core.Course", "Course") - .WithMany() - .HasForeignKey("CourseId") - .HasConstraintName("fk_editions_course_course_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.Internship", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("Internships") - .HasForeignKey("EditionId") - .HasConstraintName("fk_internship_editions_edition_id"); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "InternshipProgram") - .WithMany() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_internship_internship_program_internship_program_id"); - - b.HasOne("InternshipSystem.Core.InternshipRegistration", "InternshipRegistration") - .WithMany() - .HasForeignKey("InternshipRegistrationId") - .HasConstraintName("fk_internship_internship_registration_internship_registration_"); - - b.HasOne("InternshipSystem.Core.Report", "Report") - .WithMany() - .HasForeignKey("ReportId") - .HasConstraintName("fk_internship_report_report_id"); - - b.HasOne("InternshipSystem.Core.Student", "Student") - .WithMany() - .HasForeignKey("StudentId") - .HasConstraintName("fk_internship_student_student_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipProgram", b => - { - b.OwnsOne("InternshipSystem.Core.Mentor", "Mentor", b1 => - { - b1.Property("InternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b1.Property("Email") - .HasColumnName("email") - .HasColumnType("text"); - - b1.Property("FirstName") - .HasColumnName("first_name") - .HasColumnType("text"); - - b1.Property("LastName") - .HasColumnName("last_name") - .HasColumnType("text"); - - b1.HasKey("InternshipProgramId") - .HasName("pk_internship_program"); - - b1.ToTable("internship_program"); - - b1.WithOwner() - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_mentor_internship_program_internship_program_id"); - - b1.OwnsOne("InternshipSystem.Core.PhoneNumber", "PhoneNumber", b2 => - { - b2.Property("MentorInternshipProgramId") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("bigint") - .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - - b2.HasKey("MentorInternshipProgramId") - .HasName("pk_internship_program"); - - b2.ToTable("internship_program"); - - b2.WithOwner() - .HasForeignKey("MentorInternshipProgramId") - .HasConstraintName("fk_phone_number_internship_program_mentor_internship_program_id"); - }); - }); - }); - - modelBuilder.Entity("InternshipSystem.Core.InternshipRegistration", b => - { - b.HasOne("InternshipSystem.Core.BranchOffice", "BranchAddress") - .WithMany() - .HasForeignKey("BranchAddressId") - .HasConstraintName("fk_internship_registration_branch_office_branch_address_id"); - - b.HasOne("InternshipSystem.Core.Company", "Company") - .WithMany() - .HasForeignKey("CompanyId") - .HasConstraintName("fk_internship_registration_companies_company_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipType", "Type") - .WithMany() - .HasForeignKey("TypeId") - .HasConstraintName("fk_internship_registration_internship_type_type_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.EditionSubject", b => - { - b.HasOne("InternshipSystem.Core.Edition", null) - .WithMany("AvailableSubjects") - .HasForeignKey("EditionId") - .HasConstraintName("fk_edition_subject_editions_edition_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Edition", "Edition") - .WithMany() - .HasForeignKey("EditionId1") - .HasConstraintName("fk_edition_subject_editions_edition_id1"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", null) - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("SubjectId") - .HasConstraintName("fk_edition_subject_internship_subject_subject_id"); - }); - - modelBuilder.Entity("InternshipSystem.Core.UglyOrmArtifacts.ProgramSubject", b => - { - b.HasOne("InternshipSystem.Core.InternshipProgram", null) - .WithMany("ChosenSubjects") - .HasForeignKey("InternshipProgramId") - .HasConstraintName("fk_program_subject_internship_program_internship_program_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", null) - .WithMany() - .HasForeignKey("InternshipSubjectId") - .HasConstraintName("fk_program_subject_internship_subject_internship_subject_id") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("InternshipSystem.Core.InternshipProgram", "Program") - .WithMany() - .HasForeignKey("ProgramId") - .HasConstraintName("fk_program_subject_internship_program_program_id"); - - b.HasOne("InternshipSystem.Core.Entity.Internship.InternshipSubject", "Subject") - .WithMany() - .HasForeignKey("SubjectId") - .HasConstraintName("fk_program_subject_internship_subject_subject_id"); - }); -#pragma warning restore 612, 618 - } - } -} -- 2.45.2