Add companies by document.

This commit is contained in:
2019-06-17 00:50:33 +01:00
parent 3c5b73f5cf
commit fa28ee7d4f
8 changed files with 7785 additions and 3 deletions

View File

@@ -0,0 +1,18 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Cicm.Database.Models
{
public class CompaniesByDocument : BaseModel<long>
{
public int CompanyId { get; set; }
public long DocumentId { get; set; }
[Column(TypeName = "char(3)")]
[Required]
public string RoleId { get; set; }
public virtual DocumentCompany Company { get; set; }
public virtual Document Document { get; set; }
public virtual DocumentRole Role { get; set; }
}
}

View File

@@ -6,6 +6,7 @@ namespace Cicm.Database.Models
{
public virtual Iso31661Numeric Country { get; set; }
public virtual ICollection<PeopleByDocument> People { get; set; }
public virtual ICollection<PeopleByDocument> People { get; set; }
public virtual ICollection<CompaniesByDocument> Companies { get; set; }
}
}

View File

@@ -1,3 +1,4 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace Cicm.Database.Models
@@ -8,6 +9,7 @@ namespace Cicm.Database.Models
public string Name { get; set; }
public int? CompanyId { get; set; }
public virtual Company Company { get; set; }
public virtual Company Company { get; set; }
public virtual ICollection<CompaniesByDocument> Documents { get; set; }
}
}

View File

@@ -83,6 +83,7 @@ namespace Cicm.Database.Models
public virtual DbSet<DocumentPerson> DocumentPeople { get; set; }
public virtual DbSet<PeopleByDocument> PeopleByDocuments { get; set; }
public virtual DbSet<DocumentCompany> DocumentCompanies { get; set; }
public virtual DbSet<CompaniesByDocument> CompaniesByDocuments { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
@@ -172,6 +173,19 @@ namespace Cicm.Database.Models
entity.Property(e => e.Version).HasColumnName("version").HasColumnType("int(11)");
});
modelBuilder.Entity<CompaniesByDocument>(entity =>
{
entity.HasIndex(e => e.DocumentId);
entity.HasIndex(e => e.CompanyId);
entity.HasIndex(e => e.RoleId);
entity.HasOne(d => d.Document).WithMany(p => p.Companies).HasForeignKey(d => d.DocumentId);
entity.HasOne(d => d.Company).WithMany(p => p.Documents).HasForeignKey(d => d.CompanyId);
});
modelBuilder.Entity<Company>(entity =>
{
entity.ToTable("companies");