2019-12-06 16:01:12 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
|
|
|
|
|
namespace ASC.Core.Common.EF.Model
|
|
|
|
|
{
|
2019-12-10 15:31:37 +00:00
|
|
|
|
[Table("webstudio_uservisit")]
|
2019-12-06 16:01:12 +00:00
|
|
|
|
public class DbWebstudioUserVisit
|
|
|
|
|
{
|
|
|
|
|
public int TenantId { get; set; }
|
|
|
|
|
public DateTime VisitDate { get; set; }
|
|
|
|
|
public Guid ProductId { get; set; }
|
|
|
|
|
public Guid UserId { get; set; }
|
|
|
|
|
public int VisitCount { get; set; }
|
|
|
|
|
public DateTime FirstVisitTime { get; set; }
|
|
|
|
|
public DateTime LastVisitTime { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static class WebstudioUserVisitExtension
|
|
|
|
|
{
|
2020-09-06 22:49:03 +00:00
|
|
|
|
public static ModelBuilderWrapper AddWebstudioUserVisit(this ModelBuilderWrapper modelBuilder)
|
|
|
|
|
{
|
|
|
|
|
modelBuilder
|
|
|
|
|
.Add(MySqlAddWebstudioUserVisit, Provider.MySql)
|
|
|
|
|
.Add(PgSqlAddWebstudioUserVisit, Provider.Postrge);
|
|
|
|
|
return modelBuilder;
|
|
|
|
|
}
|
2020-10-01 17:08:55 +00:00
|
|
|
|
public static void WebstudioUserVisitData (this ModelBuilder modelBuilder)
|
|
|
|
|
{
|
|
|
|
|
modelBuilder.Entity<DbWebstudioUserVisit>().HasData(
|
|
|
|
|
new DbWebstudioUserVisit { TenantId = 1, VisitDate = DateTime.UtcNow, ProductId = Guid.Parse("00000000-0000-0000-0000-000000000000"), UserId = Guid.Parse("66faa6e4-f133-11ea-b126-00ffeec8b4ef"), VisitCount = 3, FirstVisitTime = DateTime.UtcNow, LastVisitTime = DateTime.UtcNow },
|
|
|
|
|
new DbWebstudioUserVisit { TenantId = 1, VisitDate = DateTime.UtcNow, ProductId = Guid.Parse("00000000-0000-0000-0000-000000000000"), UserId = Guid.Parse("66faa6e4-f133-11ea-b126-00ffeec8b4ef"), VisitCount = 2, FirstVisitTime = DateTime.UtcNow, LastVisitTime = DateTime.UtcNow },
|
|
|
|
|
new DbWebstudioUserVisit { TenantId = 1, VisitDate = DateTime.UtcNow, ProductId = Guid.Parse("e67be73d-f9ae-4ce1-8fec-1880cb518cb4"), UserId = Guid.Parse("66faa6e4-f133-11ea-b126-00ffeec8b4ef"), VisitCount = 1, FirstVisitTime = DateTime.UtcNow, LastVisitTime = DateTime.UtcNow });
|
|
|
|
|
}
|
2020-09-06 22:49:03 +00:00
|
|
|
|
public static void MySqlAddWebstudioUserVisit(this ModelBuilder modelBuilder)
|
2019-12-06 16:01:12 +00:00
|
|
|
|
{
|
2020-08-21 02:34:37 +00:00
|
|
|
|
modelBuilder.Entity<DbWebstudioUserVisit>(entity =>
|
|
|
|
|
{
|
|
|
|
|
entity.HasKey(e => new { e.TenantId, e.VisitDate, e.ProductId, e.UserId })
|
|
|
|
|
.HasName("PRIMARY");
|
2019-12-06 16:01:12 +00:00
|
|
|
|
|
2020-08-21 02:34:37 +00:00
|
|
|
|
entity.ToTable("webstudio_uservisit");
|
|
|
|
|
|
|
|
|
|
entity.HasIndex(e => e.VisitDate)
|
|
|
|
|
.HasName("visitdate");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.TenantId).HasColumnName("tenantid");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.VisitDate)
|
|
|
|
|
.HasColumnName("visitdate")
|
|
|
|
|
.HasColumnType("datetime");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.ProductId)
|
|
|
|
|
.HasColumnName("productid")
|
|
|
|
|
.HasColumnType("varchar(38)")
|
|
|
|
|
.HasCharSet("utf8")
|
|
|
|
|
.HasCollation("utf8_general_ci");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.UserId)
|
|
|
|
|
.HasColumnName("userid")
|
|
|
|
|
.HasColumnType("varchar(38)")
|
|
|
|
|
.HasCharSet("utf8")
|
|
|
|
|
.HasCollation("utf8_general_ci");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.FirstVisitTime)
|
|
|
|
|
.HasColumnName("firstvisittime")
|
|
|
|
|
.HasColumnType("datetime");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.LastVisitTime)
|
|
|
|
|
.HasColumnName("lastvisittime")
|
|
|
|
|
.HasColumnType("datetime");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.VisitCount).HasColumnName("visitcount");
|
|
|
|
|
});
|
|
|
|
|
}
|
2020-09-06 22:49:03 +00:00
|
|
|
|
public static void PgSqlAddWebstudioUserVisit(this ModelBuilder modelBuilder)
|
2020-08-21 02:34:37 +00:00
|
|
|
|
{
|
|
|
|
|
modelBuilder.Entity<DbWebstudioUserVisit>(entity =>
|
|
|
|
|
{
|
|
|
|
|
entity.HasKey(e => new { e.TenantId, e.VisitDate, e.ProductId, e.UserId })
|
|
|
|
|
.HasName("webstudio_uservisit_pkey");
|
|
|
|
|
|
|
|
|
|
entity.ToTable("webstudio_uservisit", "onlyoffice");
|
|
|
|
|
|
|
|
|
|
entity.HasIndex(e => e.VisitDate)
|
|
|
|
|
.HasName("visitdate");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.TenantId).HasColumnName("tenantid");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.VisitDate).HasColumnName("visitdate");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.ProductId)
|
|
|
|
|
.HasColumnName("productid")
|
|
|
|
|
.HasMaxLength(38);
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.UserId)
|
|
|
|
|
.HasColumnName("userid")
|
|
|
|
|
.HasMaxLength(38);
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.FirstVisitTime).HasColumnName("firstvisittime");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.LastVisitTime).HasColumnName("lastvisittime");
|
|
|
|
|
|
|
|
|
|
entity.Property(e => e.VisitCount).HasColumnName("visitcount");
|
|
|
|
|
});
|
2019-12-06 16:01:12 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|