DocSpace-client/common/ASC.Core.Common/EF/Model/Tenant/DbTenantPartner.cs

86 lines
2.9 KiB
C#
Raw Normal View History

2021-02-25 09:00:53 +00:00
using Microsoft.EntityFrameworkCore;
2020-12-23 15:36:05 +00:00
2019-12-03 15:20:21 +00:00
namespace ASC.Core.Common.EF.Model
{
public class DbTenantPartner
{
public int TenantId { get; set; }
public string PartnerId { get; set; }
public string AffiliateId { get; set; }
public string Campaign { get; set; }
2020-12-23 15:36:05 +00:00
//public DbTenant Tenant { get; set; }
2019-12-03 15:20:21 +00:00
}
2020-08-21 02:34:37 +00:00
public static class DbTenantPartnerExtension
{
2020-09-06 22:49:03 +00:00
public static ModelBuilderWrapper AddDbTenantPartner(this ModelBuilderWrapper modelBuilder)
{
2020-10-12 19:39:23 +00:00
modelBuilder
2020-09-06 22:49:03 +00:00
.Add(MySqlAddDbTenantPartner, Provider.MySql)
2020-10-08 09:07:05 +00:00
.Add(PgSqlAddDbTenantPartner, Provider.Postgre);
2020-09-06 22:49:03 +00:00
return modelBuilder;
}
2020-08-21 02:34:37 +00:00
public static void MySqlAddDbTenantPartner(this ModelBuilder modelBuilder)
{
2020-10-12 19:39:23 +00:00
modelBuilder.Entity<DbTenantPartner>(entity =>
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
entity.HasKey(e => e.TenantId)
2020-08-21 02:34:37 +00:00
.HasName("PRIMARY");
2020-10-12 19:39:23 +00:00
entity.ToTable("tenants_partners");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.TenantId).HasColumnName("tenant_id");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.AffiliateId)
2020-08-21 02:34:37 +00:00
.HasColumnName("affiliate_id")
.HasColumnType("varchar(50)")
.HasCharSet("utf8")
2021-05-14 12:26:18 +00:00
.UseCollation("utf8_general_ci");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Campaign)
2020-08-21 02:34:37 +00:00
.HasColumnName("campaign")
.HasColumnType("varchar(50)")
.HasCharSet("utf8")
2021-05-14 12:26:18 +00:00
.UseCollation("utf8_general_ci");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.PartnerId)
2020-08-21 02:34:37 +00:00
.HasColumnName("partner_id")
.HasColumnType("varchar(36)")
.HasCharSet("utf8")
2021-05-14 12:26:18 +00:00
.UseCollation("utf8_general_ci");
2020-08-21 02:34:37 +00:00
});
}
public static void PgSqlAddDbTenantPartner(this ModelBuilder modelBuilder)
{
2020-10-12 19:39:23 +00:00
modelBuilder.Entity<DbTenantPartner>(entity =>
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
entity.HasKey(e => e.TenantId)
2020-08-21 02:34:37 +00:00
.HasName("tenants_partners_pkey");
2020-10-12 19:39:23 +00:00
entity.ToTable("tenants_partners", "onlyoffice");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.TenantId)
2020-08-21 02:34:37 +00:00
.HasColumnName("tenant_id")
.ValueGeneratedNever();
2020-10-12 19:39:23 +00:00
entity.Property(e => e.AffiliateId)
2020-08-21 02:34:37 +00:00
.HasColumnName("affiliate_id")
.HasMaxLength(50)
2020-09-29 17:09:39 +00:00
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Campaign)
2020-08-21 02:34:37 +00:00
.HasColumnName("campaign")
.HasMaxLength(50)
2020-09-29 17:09:39 +00:00
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.PartnerId)
2020-08-21 02:34:37 +00:00
.HasColumnName("partner_id")
.HasMaxLength(36)
2020-09-29 17:09:39 +00:00
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
});
}
}
2019-12-03 15:20:21 +00:00
}