Added interfaces to read and write data in DB and added DbContext implementing these
This commit is contained in:
		| @@ -0,0 +1,26 @@ | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Applicant | ||||
| { | ||||
|     public class ApplicantConfiguration : IEntityTypeConfiguration<Domains.ApplicantDomain.Applicant> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Domains.ApplicantDomain.Applicant> entity) | ||||
|         { | ||||
|             entity.ToTable("Applicants"); | ||||
|  | ||||
|             entity.OwnsOne(p => p.Name); | ||||
|             entity.OwnsOne(p => p.FatherName); | ||||
|             entity.OwnsOne(p => p.MotherName); | ||||
|             entity.OwnsOne(p => p.Passport); | ||||
|  | ||||
|             entity.Property(p => p.Citizenship) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(30); | ||||
|  | ||||
|             entity.Property(p => p.CitizenshipByBirth) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(30); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,24 @@ | ||||
| using Domains.ApplicantDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Applicant | ||||
| { | ||||
|     public class NameConfiguration : IEntityTypeConfiguration<Name> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Name> entity) | ||||
|         { | ||||
|             entity.Property(p => p.FirstName) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(50); | ||||
|  | ||||
|             entity.Property(p => p.Surname) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(50); | ||||
|  | ||||
|             entity.Property(p => p.Patronymic) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(50); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,20 @@ | ||||
| using Domains.ApplicantDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Applicant | ||||
| { | ||||
|     public class PassportConfiguration : IEntityTypeConfiguration<Passport> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Passport> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Number) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(20); | ||||
|  | ||||
|             entity.Property(p => p.Issuer) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(200); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,22 @@ | ||||
| using Domains.ApplicantDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Applicant | ||||
| { | ||||
|     public class PlaceOfWorkConfiguration : IEntityTypeConfiguration<PlaceOfWork> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<PlaceOfWork> entity) | ||||
|         { | ||||
|             entity.OwnsOne(p => p.Address); | ||||
|  | ||||
|             entity.Property(p => p.Name) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(200); | ||||
|  | ||||
|             entity.Property(p => p.PhoneNum) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(20); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| using Domains.Common; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Common | ||||
| { | ||||
|     public class AddressConfiguration : IEntityTypeConfiguration<Address> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Address> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Street) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(100); | ||||
|             entity.Property(p => p.Building) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(10); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| using Domains.Common; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Common | ||||
| { | ||||
|     public class CityConfiguration : IEntityTypeConfiguration<City> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<City> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Name) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(70); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| using Domains.Common; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.Common | ||||
| { | ||||
|     public class CountryConfiguration : IEntityTypeConfiguration<Country> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Country> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Name) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(70); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.VisaApplication | ||||
| { | ||||
|     public class PastVisaConfiguration : IEntityTypeConfiguration<PastVisa> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<PastVisa> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Name) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(70); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.VisaApplication | ||||
| { | ||||
|     public class PermissionToDestCountryConfiguration : IEntityTypeConfiguration<PermissionToDestCountry> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<PermissionToDestCountry> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Issuer) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(200); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.VisaApplication | ||||
| { | ||||
|     public class ReentryPermitConfiguration : IEntityTypeConfiguration<ReentryPermit> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<ReentryPermit> entity) | ||||
|         { | ||||
|             entity.Property(p => p.Number) | ||||
|                 .IsUnicode(false) | ||||
|                 .HasMaxLength(25); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,17 @@ | ||||
| using Domains.VisaApplicationDomain; | ||||
| using Microsoft.EntityFrameworkCore; | ||||
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | ||||
|  | ||||
| namespace Infrastructure.Database.Configuration.VisaApplication | ||||
| { | ||||
|     public class VisaApplicationConfiguration : IEntityTypeConfiguration<Domains.VisaApplicationDomain.VisaApplication> | ||||
|     { | ||||
|         public void Configure(EntityTypeBuilder<Domains.VisaApplicationDomain.VisaApplication> entity) | ||||
|         { | ||||
|             entity.ToTable("VisaApplications"); | ||||
|  | ||||
|             entity.OwnsOne(p => p.ReentryPermit); | ||||
|             entity.OwnsOne(p => p.PermissionToDestCountry); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user