DocSpace-buildtools/common/ASC.Core.Common/EF/Model/CRM/VoipNumber.cs

91 lines
3.1 KiB
C#
Raw Normal View History

2020-11-17 10:00:01 +00:00
using System.ComponentModel.DataAnnotations.Schema;
2020-10-12 16:23:15 +00:00
2020-11-17 10:00:01 +00:00
using Microsoft.EntityFrameworkCore;
2019-12-11 14:30:28 +00:00
namespace ASC.Core.Common.EF.Model
{
public class VoipNumber
{
public string Id { get; set; }
public string Number { get; set; }
public string Alias { get; set; }
public string Settings { get; set; }
public int TenantId { get; set; }
}
2020-08-21 02:34:37 +00:00
public static class VoipNumberExtension
{
2020-09-06 22:49:03 +00:00
public static ModelBuilderWrapper AddVoipNumber(this ModelBuilderWrapper modelBuilder)
{
2020-10-12 19:39:23 +00:00
modelBuilder
2020-09-06 22:49:03 +00:00
.Add(MySqlAddVoipNumber, Provider.MySql)
2020-10-08 09:07:05 +00:00
.Add(PgSqlAddVoipNumber, Provider.Postgre);
2020-09-06 22:49:03 +00:00
return modelBuilder;
}
public static void MySqlAddVoipNumber(this ModelBuilder modelBuilder)
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
modelBuilder.Entity<VoipNumber>(entity =>
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
entity.ToTable("crm_voip_number");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.HasIndex(e => e.TenantId)
2020-11-17 10:47:17 +00:00
.HasDatabaseName("tenant_id");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Id)
2020-08-21 02:34:37 +00:00
.HasColumnName("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.Alias)
2020-08-21 02:34:37 +00:00
.HasColumnName("alias")
.HasColumnType("varchar(255)")
.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.Number)
2020-08-21 02:34:37 +00:00
.IsRequired()
.HasColumnName("number")
.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.Settings)
2020-08-21 02:34:37 +00:00
.HasColumnName("settings")
.HasColumnType("text")
.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.TenantId).HasColumnName("tenant_id");
2020-08-21 02:34:37 +00:00
});
}
2020-09-06 22:49:03 +00:00
public static void PgSqlAddVoipNumber(this ModelBuilder modelBuilder)
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
modelBuilder.Entity<VoipNumber>(entity =>
2020-08-21 02:34:37 +00:00
{
2020-10-12 19:39:23 +00:00
entity.ToTable("crm_voip_number", "onlyoffice");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.HasIndex(e => e.TenantId)
2020-11-17 10:47:17 +00:00
.HasDatabaseName("tenant_id_crm_voip_number");
2020-08-21 02:34:37 +00:00
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Id)
2020-08-21 02:34:37 +00:00
.HasColumnName("id")
.HasMaxLength(50);
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Alias)
2020-08-21 02:34:37 +00:00
.HasColumnName("alias")
.HasMaxLength(255)
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.Number)
2020-08-21 02:34:37 +00:00
.IsRequired()
.HasColumnName("number")
.HasMaxLength(50);
2020-10-12 19:39:23 +00:00
entity.Property(e => e.Settings).HasColumnName("settings");
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
});
}
}
2019-12-11 14:30:28 +00:00
}