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

226 lines
8.0 KiB
C#
Raw Normal View History

2022-02-15 11:52:43 +00:00
namespace ASC.Core.Common.EF.Model;
public class CrmContact
{
public int Id { get; set; }
public int TenantId { get; set; }
public bool IsCompany { get; set; }
public string Notes { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string CompanyName { get; set; }
public string Industry { get; set; }
public int StatusId { get; set; }
public int CompanyId { get; set; }
public int ContactTypeId { get; set; }
public Guid CreateBy { get; set; }
public DateTime CreateOn { get; set; }
public Guid LastModifedBy { get; set; }
public DateTime LastModifedOn { get; set; }
public string DisplayName { get; set; }
public bool IsShared { get; set; }
public string Currency { get; set; }
}
public static class CrmContactExtension
2019-12-11 14:30:28 +00:00
{
2022-02-15 11:52:43 +00:00
public static ModelBuilderWrapper AddCrmContact(this ModelBuilderWrapper modelBuilder)
2019-12-11 14:30:28 +00:00
{
2022-02-15 11:52:43 +00:00
modelBuilder
.Add(MySqlAddCrmContact, Provider.MySql)
.Add(PgSqlAddCrmContact, Provider.PostgreSql);
return modelBuilder;
2019-12-11 14:30:28 +00:00
}
2022-02-15 11:52:43 +00:00
public static void MySqlAddCrmContact(this ModelBuilder modelBuilder)
2020-08-21 02:34:37 +00:00
{
2022-02-15 11:52:43 +00:00
modelBuilder.Entity<CrmContact>(entity =>
2020-09-06 22:49:03 +00:00
{
2022-02-15 11:52:43 +00:00
entity.ToTable("crm_contact");
entity.HasIndex(e => e.CreateOn)
.HasDatabaseName("create_on");
entity.HasIndex(e => new { e.LastModifedOn, e.TenantId })
.HasDatabaseName("last_modifed_on");
entity.HasIndex(e => new { e.TenantId, e.CompanyId })
.HasDatabaseName("company_id");
entity.HasIndex(e => new { e.TenantId, e.DisplayName })
.HasDatabaseName("display_name");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.CompanyId).HasColumnName("company_id");
entity.Property(e => e.CompanyName)
.HasColumnName("company_name")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.ContactTypeId).HasColumnName("contact_type_id");
entity.Property(e => e.CreateBy)
.IsRequired()
.HasColumnName("create_by")
.HasColumnType("char(38)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.CreateOn)
.HasColumnName("create_on")
.HasColumnType("datetime");
entity.Property(e => e.Currency)
.HasColumnName("currency")
.HasColumnType("varchar(3)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.DisplayName)
.HasColumnName("display_name")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.FirstName)
.HasColumnName("first_name")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.Industry)
.HasColumnName("industry")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.IsCompany).HasColumnName("is_company");
entity.Property(e => e.IsShared).HasColumnName("is_shared");
entity.Property(e => e.LastModifedBy)
.HasColumnName("last_modifed_by")
.HasColumnType("char(38)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.LastModifedOn)
.HasColumnName("last_modifed_on")
.HasColumnType("datetime");
entity.Property(e => e.LastName)
.HasColumnName("last_name")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.Notes)
.HasColumnName("notes")
.HasColumnType("text")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.StatusId).HasColumnName("status_id");
entity.Property(e => e.TenantId).HasColumnName("tenant_id");
entity.Property(e => e.Title)
.HasColumnName("title")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
});
}
public static void PgSqlAddCrmContact(this ModelBuilder modelBuilder)
{
modelBuilder.Entity<CrmContact>(entity =>
2020-08-21 02:34:37 +00:00
{
2022-02-15 11:52:43 +00:00
entity.ToTable("crm_contact", "onlyoffice");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.HasIndex(e => e.CreateOn)
.HasDatabaseName("create_on_crm_contact");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.HasIndex(e => new { e.LastModifedOn, e.TenantId })
.HasDatabaseName("last_modifed_on_crm_contact");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.HasIndex(e => new { e.TenantId, e.CompanyId })
.HasDatabaseName("company_id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.HasIndex(e => new { e.TenantId, e.DisplayName })
.HasDatabaseName("display_name");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.Id).HasColumnName("id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.CompanyId).HasColumnName("company_id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.CompanyName)
.HasColumnName("company_name")
.HasMaxLength(255)
.HasDefaultValueSql("NULL::character varying");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.ContactTypeId).HasColumnName("contact_type_id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.CreateBy)
.IsRequired()
.HasColumnName("create_by")
.HasMaxLength(38)
.IsFixedLength();
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.CreateOn).HasColumnName("create_on");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.Currency)
.HasColumnName("currency")
.HasMaxLength(3)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.DisplayName)
.HasColumnName("display_name")
.HasMaxLength(255)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.FirstName)
.HasColumnName("first_name")
.HasMaxLength(255)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.Industry)
.HasColumnName("industry")
.HasMaxLength(255)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.IsCompany).HasColumnName("is_company");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.IsShared).HasColumnName("is_shared");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.LastModifedBy)
.HasColumnName("last_modifed_by")
.HasMaxLength(38)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.LastModifedOn)
.HasColumnName("last_modifed_on")
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.LastName)
.HasColumnName("last_name")
.HasMaxLength(255)
.HasDefaultValueSql("NULL");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.Notes).HasColumnName("notes");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.StatusId).HasColumnName("status_id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.TenantId).HasColumnName("tenant_id");
2020-08-21 02:34:37 +00:00
2022-02-15 11:52:43 +00:00
entity.Property(e => e.Title)
.HasColumnName("title")
.HasMaxLength(255)
.HasDefaultValueSql("NULL");
});
2020-09-29 17:09:39 +00:00
2020-08-21 02:34:37 +00:00
}
2019-12-11 14:30:28 +00:00
}