Add specialized objects to model
This commit is contained in:
parent
5d2e111d77
commit
357b7637ce
@ -4,6 +4,7 @@
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn>$(NoWarn);1591;1573</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -16,10 +17,6 @@
|
||||
<PackageReference Include="IdentityServer4" Version="3.1.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Controllers" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../InternshipSystem.Core/InternshipSystem.Core.csproj" />
|
||||
<ProjectReference Include="../InternshipSystem.Repository/InternshipSystem.Repository.csproj" />
|
||||
|
@ -6,7 +6,7 @@ namespace InternshipSystem.Core
|
||||
public class Company
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string Nip { get; set; }
|
||||
public Nip Nip { get; set; }
|
||||
public string Name { get; set; }
|
||||
public RangeOfActivity Range { get; set; }
|
||||
public List<BranchOffice> Branches { get; set; }
|
||||
|
@ -5,6 +5,6 @@
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string Email { get; set; }
|
||||
public string PhoneNumber { get; set; }
|
||||
public PhoneNumber PhoneNumber { get; set; }
|
||||
}
|
||||
}
|
18
src/InternshipSystem.Core/ValueObject/Nip.cs
Normal file
18
src/InternshipSystem.Core/ValueObject/Nip.cs
Normal file
@ -0,0 +1,18 @@
|
||||
namespace InternshipSystem.Core
|
||||
{
|
||||
public struct Nip
|
||||
{
|
||||
private readonly string _nip;
|
||||
|
||||
public Nip(string nip)
|
||||
{
|
||||
_nip = nip;
|
||||
}
|
||||
|
||||
public static implicit operator string(Nip nip) =>
|
||||
nip._nip;
|
||||
|
||||
public static implicit operator Nip(string maybeNip) =>
|
||||
new Nip(maybeNip);
|
||||
}
|
||||
}
|
18
src/InternshipSystem.Core/ValueObject/PhoneNumber.cs
Normal file
18
src/InternshipSystem.Core/ValueObject/PhoneNumber.cs
Normal file
@ -0,0 +1,18 @@
|
||||
namespace InternshipSystem.Core
|
||||
{
|
||||
public struct PhoneNumber
|
||||
{
|
||||
private readonly string _phoneNumber;
|
||||
|
||||
public PhoneNumber(string phoneNumber)
|
||||
{
|
||||
_phoneNumber = phoneNumber;
|
||||
}
|
||||
|
||||
public static implicit operator string(PhoneNumber number) =>
|
||||
number._phoneNumber;
|
||||
|
||||
public static implicit operator PhoneNumber(string maybeNumber) =>
|
||||
new PhoneNumber(maybeNumber);
|
||||
}
|
||||
}
|
@ -21,11 +21,21 @@ namespace InternshipSystem.Repository
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Company>()
|
||||
.Property(company => company.Nip)
|
||||
.HasConversion<string>(
|
||||
nip => nip,
|
||||
s => (Nip)s);
|
||||
|
||||
modelBuilder.Entity<BranchOffice>()
|
||||
.OwnsOne(bo => bo.Address);
|
||||
|
||||
modelBuilder.Entity<InternshipProgram>()
|
||||
.OwnsOne(ip => ip.Mentor);
|
||||
.OwnsOne(ip => ip.Mentor)
|
||||
.Property(mentor => mentor.PhoneNumber)
|
||||
.HasConversion<string>(
|
||||
number => number,
|
||||
s => (PhoneNumber)s);
|
||||
|
||||
modelBuilder.Entity<ProgramSubject>(builder =>
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user