diff --git a/OnlineSales.sln b/OnlineSales.sln
index db39225a..0048e7e6 100644
--- a/OnlineSales.sln
+++ b/OnlineSales.sln
@@ -126,6 +126,6 @@ Global
$0.DotNetNamingPolicy = $1
$1.DirectoryNamespaceAssociation = PrefixedHierarchical
$0.TextStylePolicy = $3
- version = 1.2.26-pre
+ version = 1.2.27-pre
EndGlobalSection
EndGlobal
diff --git a/plugins/OnlineSales.Plugin.EmailSync/OnlineSales.Plugin.EmailSync.csproj b/plugins/OnlineSales.Plugin.EmailSync/OnlineSales.Plugin.EmailSync.csproj
index 8bbb0aed..6ae49f09 100644
--- a/plugins/OnlineSales.Plugin.EmailSync/OnlineSales.Plugin.EmailSync.csproj
+++ b/plugins/OnlineSales.Plugin.EmailSync/OnlineSales.Plugin.EmailSync.csproj
@@ -5,7 +5,7 @@
true
enable
enable
- 1.2.26-pre
+ 1.2.27-pre
true
Debug;Release;Migration
diff --git a/plugins/OnlineSales.Plugin.EmailSync/Tasks/EmailSyncTask.cs b/plugins/OnlineSales.Plugin.EmailSync/Tasks/EmailSyncTask.cs
index ff8ba9aa..4fc25dc3 100644
--- a/plugins/OnlineSales.Plugin.EmailSync/Tasks/EmailSyncTask.cs
+++ b/plugins/OnlineSales.Plugin.EmailSync/Tasks/EmailSyncTask.cs
@@ -168,7 +168,14 @@ private async Task GetEmailLogs(string userName, ImapAccountFolder dbFolder, IMa
if (!existedMessagesUids.Contains(message.MessageId))
{
- var fromEmail = message.From.Mailboxes.Single().Address;
+ var fromMailbox = message.From.Mailboxes.FirstOrDefault();
+
+ if (fromMailbox == null)
+ {
+ continue;
+ }
+
+ var fromEmail = fromMailbox.Address;
if (!ignoredEmails.Contains(fromEmail))
{
diff --git a/plugins/OnlineSales.Plugin.ReverseProxy/OnlineSales.Plugin.ReverseProxy.csproj b/plugins/OnlineSales.Plugin.ReverseProxy/OnlineSales.Plugin.ReverseProxy.csproj
index f2045eb8..df58b536 100644
--- a/plugins/OnlineSales.Plugin.ReverseProxy/OnlineSales.Plugin.ReverseProxy.csproj
+++ b/plugins/OnlineSales.Plugin.ReverseProxy/OnlineSales.Plugin.ReverseProxy.csproj
@@ -5,7 +5,7 @@
enable
true
enable
- 1.2.26-pre
+ 1.2.27-pre
Release;Debug
diff --git a/plugins/OnlineSales.Plugin.SendGrid/OnlineSales.Plugin.SendGrid.csproj b/plugins/OnlineSales.Plugin.SendGrid/OnlineSales.Plugin.SendGrid.csproj
index 9ef3e7c1..9c7c999e 100644
--- a/plugins/OnlineSales.Plugin.SendGrid/OnlineSales.Plugin.SendGrid.csproj
+++ b/plugins/OnlineSales.Plugin.SendGrid/OnlineSales.Plugin.SendGrid.csproj
@@ -5,7 +5,7 @@
true
enable
enable
- 1.2.26-pre
+ 1.2.27-pre
true
Debug;Release;Migration
diff --git a/plugins/OnlineSales.Plugin.Sms/OnlineSales.Plugin.Sms.csproj b/plugins/OnlineSales.Plugin.Sms/OnlineSales.Plugin.Sms.csproj
index 4850646f..b09f5c71 100644
--- a/plugins/OnlineSales.Plugin.Sms/OnlineSales.Plugin.Sms.csproj
+++ b/plugins/OnlineSales.Plugin.Sms/OnlineSales.Plugin.Sms.csproj
@@ -5,7 +5,7 @@
true
enable
enable
- 1.2.26-pre
+ 1.2.27-pre
true
Debug;Release;Migration
diff --git a/plugins/OnlineSales.Plugin.TestPlugin/OnlineSales.Plugin.TestPlugin.csproj b/plugins/OnlineSales.Plugin.TestPlugin/OnlineSales.Plugin.TestPlugin.csproj
index fb9dcd4d..8a13c6b6 100644
--- a/plugins/OnlineSales.Plugin.TestPlugin/OnlineSales.Plugin.TestPlugin.csproj
+++ b/plugins/OnlineSales.Plugin.TestPlugin/OnlineSales.Plugin.TestPlugin.csproj
@@ -5,7 +5,7 @@
true
enable
enable
- 1.2.26-pre
+ 1.2.27-pre
true
Debug;Release;Migration
diff --git a/plugins/OnlineSales.Plugin.Vsto/Migrations/VstoDbContextModelSnapshot.cs b/plugins/OnlineSales.Plugin.Vsto/Migrations/VstoDbContextModelSnapshot.cs
index c5e5c213..84ba9a11 100644
--- a/plugins/OnlineSales.Plugin.Vsto/Migrations/VstoDbContextModelSnapshot.cs
+++ b/plugins/OnlineSales.Plugin.Vsto/Migrations/VstoDbContextModelSnapshot.cs
@@ -19,11 +19,30 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "7.0.5")
+ .HasAnnotation("ProductVersion", "7.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+ modelBuilder.Entity("ContactDeal", b =>
+ {
+ b.Property("ContactsId")
+ .HasColumnType("integer")
+ .HasColumnName("contacts_id");
+
+ b.Property("DealsId")
+ .HasColumnType("integer")
+ .HasColumnName("deals_id");
+
+ b.HasKey("ContactsId", "DealsId")
+ .HasName("pk_contact_deal");
+
+ b.HasIndex("DealsId")
+ .HasDatabaseName("ix_contact_deal_deals_id");
+
+ b.ToTable("contact_deal", (string)null);
+ });
+
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property("Id")
@@ -231,6 +250,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -284,6 +307,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -424,18 +451,27 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("body");
- b.Property("ContactId")
+ b.Property("CommentableId")
.HasColumnType("integer")
- .HasColumnName("contact_id");
+ .HasColumnName("commentable_id");
+
+ b.Property("CommentableType")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("commentable_type");
- b.Property("ContentId")
+ b.Property("ContactId")
.HasColumnType("integer")
- .HasColumnName("content_id");
+ .HasColumnName("contact_id");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -470,6 +506,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -484,9 +524,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasIndex("ContactId")
.HasDatabaseName("ix_comment_contact_id");
- b.HasIndex("ContentId")
- .HasDatabaseName("ix_comment_content_id");
-
b.HasIndex("ParentId")
.HasDatabaseName("ix_comment_parent_id");
@@ -517,10 +554,18 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("address2");
+ b.Property("Birthday")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("birthday");
+
b.Property("CityName")
.HasColumnType("text")
.HasColumnName("city_name");
+ b.Property("CompanyName")
+ .HasColumnType("text")
+ .HasColumnName("company_name");
+
b.Property("ContinentCode")
.HasColumnType("integer")
.HasColumnName("continent_code");
@@ -533,6 +578,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -541,6 +590,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("created_by_user_agent");
+ b.Property("Department")
+ .HasColumnType("text")
+ .HasColumnName("department");
+
b.Property("DomainId")
.HasColumnType("integer")
.HasColumnName("domain_id");
@@ -554,6 +607,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("first_name");
+ b.Property("JobTitle")
+ .HasColumnType("text")
+ .HasColumnName("job_title");
+
b.Property("Language")
.HasColumnType("text")
.HasColumnName("language");
@@ -562,10 +619,22 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("last_name");
+ b.Property("MiddleName")
+ .HasColumnType("text")
+ .HasColumnName("middle_name");
+
b.Property("Phone")
.HasColumnType("text")
.HasColumnName("phone");
+ b.Property("Prefix")
+ .HasColumnType("text")
+ .HasColumnName("prefix");
+
+ b.Property>("SocialMedia")
+ .HasColumnType("jsonb")
+ .HasColumnName("social_media");
+
b.Property("Source")
.HasColumnType("text")
.HasColumnName("source");
@@ -586,6 +655,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -637,6 +710,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -661,6 +738,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -726,6 +807,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -744,6 +829,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("language");
+ b.Property("PublishedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("published_at");
+
b.Property("Slug")
.IsRequired()
.HasColumnType("text")
@@ -772,6 +861,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -793,7 +886,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
});
});
- modelBuilder.Entity("OnlineSales.Entities.Domain", b =>
+ modelBuilder.Entity("OnlineSales.Entities.Deal", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -806,88 +899,93 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("integer")
.HasColumnName("account_id");
- b.Property("AccountStatus")
- .HasColumnType("integer")
- .HasColumnName("account_status");
-
- b.Property("CatchAll")
- .HasColumnType("boolean")
- .HasColumnName("catch_all");
+ b.Property("ActualCloseDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("actual_close_date");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property("Description")
+ b.Property("CreatedById")
.HasColumnType("text")
- .HasColumnName("description");
-
- b.Property("Disposable")
- .HasColumnType("boolean")
- .HasColumnName("disposable");
+ .HasColumnName("created_by_id");
- b.Property("DnsCheck")
- .HasColumnType("boolean")
- .HasColumnName("dns_check");
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
- b.Property>("DnsRecords")
- .HasColumnType("jsonb")
- .HasColumnName("dns_records");
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
- b.Property("FaviconUrl")
+ b.Property("DealCurrency")
.HasColumnType("text")
- .HasColumnName("favicon_url");
+ .HasColumnName("deal_currency");
- b.Property("Free")
- .HasColumnType("boolean")
- .HasColumnName("free");
+ b.Property("DealPipelineId")
+ .HasColumnType("integer")
+ .HasColumnName("deal_pipeline_id");
- b.Property("HttpCheck")
- .HasColumnType("boolean")
- .HasColumnName("http_check");
+ b.Property("DealPipelineStageId")
+ .HasColumnType("integer")
+ .HasColumnName("deal_pipeline_stage_id");
- b.Property("MxCheck")
- .HasColumnType("boolean")
- .HasColumnName("mx_check");
+ b.Property("DealValue")
+ .HasColumnType("numeric")
+ .HasColumnName("deal_value");
- b.Property("Name")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("name");
+ b.Property("ExpectedCloseDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("expected_close_date");
b.Property("Source")
.HasColumnType("text")
.HasColumnName("source");
- b.Property("Title")
- .HasColumnType("text")
- .HasColumnName("title");
-
b.Property("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
- b.Property("Url")
+ b.Property("UpdatedById")
.HasColumnType("text")
- .HasColumnName("url");
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("user_id");
b.HasKey("Id")
- .HasName("pk_domain");
+ .HasName("pk_deal");
b.HasIndex("AccountId")
- .HasDatabaseName("ix_domain_account_id");
+ .HasDatabaseName("ix_deal_account_id");
- b.HasIndex("Name")
- .IsUnique()
- .HasDatabaseName("ix_domain_name");
+ b.HasIndex("DealPipelineId")
+ .HasDatabaseName("ix_deal_deal_pipeline_id");
- b.ToTable("domain", null, t =>
+ b.HasIndex("DealPipelineStageId")
+ .HasDatabaseName("ix_deal_deal_pipeline_stage_id");
+
+ b.HasIndex("UserId")
+ .HasDatabaseName("ix_deal_user_id");
+
+ b.ToTable("deal", null, t =>
{
t.ExcludeFromMigrations();
});
});
- modelBuilder.Entity("OnlineSales.Entities.EmailGroup", b =>
+ modelBuilder.Entity("OnlineSales.Entities.DealPipeline", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -900,6 +998,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -908,11 +1010,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("created_by_user_agent");
- b.Property("Language")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("language");
-
b.Property("Name")
.IsRequired()
.HasColumnType("text")
@@ -926,6 +1023,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -935,15 +1036,15 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnName("updated_by_user_agent");
b.HasKey("Id")
- .HasName("pk_email_group");
+ .HasName("pk_deal_pipeline");
- b.ToTable("email_group", null, t =>
+ b.ToTable("deal_pipeline", null, t =>
{
t.ExcludeFromMigrations();
});
});
- modelBuilder.Entity("OnlineSales.Entities.EmailLog", b =>
+ modelBuilder.Entity("OnlineSales.Entities.DealPipelineStage", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -952,19 +1053,14 @@ protected override void BuildModel(ModelBuilder modelBuilder)
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
- b.Property("Body")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("body");
-
- b.Property("ContactId")
- .HasColumnType("integer")
- .HasColumnName("contact_id");
-
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -973,41 +1069,31 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("created_by_user_agent");
- b.Property("FromEmail")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("from_email");
+ b.Property("DealPipelineId")
+ .HasColumnType("integer")
+ .HasColumnName("deal_pipeline_id");
- b.Property("Recipient")
+ b.Property("Name")
.IsRequired()
.HasColumnType("text")
- .HasColumnName("recipient");
+ .HasColumnName("name");
- b.Property("ScheduleId")
+ b.Property("Order")
.HasColumnType("integer")
- .HasColumnName("schedule_id");
+ .HasColumnName("order");
b.Property("Source")
.HasColumnType("text")
.HasColumnName("source");
- b.Property("Status")
- .HasColumnType("integer")
- .HasColumnName("status");
-
- b.Property("Subject")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("subject");
-
- b.Property("TemplateId")
- .HasColumnType("integer")
- .HasColumnName("template_id");
-
b.Property("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1017,15 +1103,18 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnName("updated_by_user_agent");
b.HasKey("Id")
- .HasName("pk_email_log");
+ .HasName("pk_deal_pipeline_stage");
- b.ToTable("email_log", null, t =>
+ b.HasIndex("DealPipelineId")
+ .HasDatabaseName("ix_deal_pipeline_stage_deal_pipeline_id");
+
+ b.ToTable("deal_pipeline_stage", null, t =>
{
t.ExcludeFromMigrations();
});
});
- modelBuilder.Entity("OnlineSales.Entities.EmailSchedule", b =>
+ modelBuilder.Entity("OnlineSales.Entities.Discount", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -1038,6 +1127,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -1046,14 +1139,17 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("created_by_user_agent");
- b.Property("GroupId")
+ b.Property("OrderId")
.HasColumnType("integer")
- .HasColumnName("group_id");
+ .HasColumnName("order_id");
- b.Property("Schedule")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("schedule");
+ b.Property("OrderItemId")
+ .HasColumnType("integer")
+ .HasColumnName("order_item_id");
+
+ b.Property("PromotionId")
+ .HasColumnType("integer")
+ .HasColumnName("promotion_id");
b.Property("Source")
.HasColumnType("text")
@@ -1063,6 +1159,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1071,19 +1171,30 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("updated_by_user_agent");
+ b.Property("Value")
+ .HasColumnType("numeric")
+ .HasColumnName("value");
+
b.HasKey("Id")
- .HasName("pk_email_schedule");
+ .HasName("pk_discount");
- b.HasIndex("GroupId")
- .HasDatabaseName("ix_email_schedule_group_id");
+ b.HasIndex("OrderId")
+ .HasDatabaseName("ix_discount_order_id");
- b.ToTable("email_schedule", null, t =>
+ b.HasIndex("OrderItemId")
+ .IsUnique()
+ .HasDatabaseName("ix_discount_order_item_id");
+
+ b.HasIndex("PromotionId")
+ .HasDatabaseName("ix_discount_promotion_id");
+
+ b.ToTable("discount", null, t =>
{
t.ExcludeFromMigrations();
});
});
- modelBuilder.Entity("OnlineSales.Entities.EmailTemplate", b =>
+ modelBuilder.Entity("OnlineSales.Entities.Domain", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -1092,41 +1203,370 @@ protected override void BuildModel(ModelBuilder modelBuilder)
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
- b.Property("BodyTemplate")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("body_template");
+ b.Property("AccountId")
+ .HasColumnType("integer")
+ .HasColumnName("account_id");
+
+ b.Property("AccountStatus")
+ .HasColumnType("integer")
+ .HasColumnName("account_status");
+
+ b.Property("CatchAll")
+ .HasColumnType("boolean")
+ .HasColumnName("catch_all");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property("CreatedByIp")
- .HasColumnType("text")
- .HasColumnName("created_by_ip");
-
- b.Property("CreatedByUserAgent")
+ b.Property("Description")
.HasColumnType("text")
- .HasColumnName("created_by_user_agent");
+ .HasColumnName("description");
- b.Property("FromEmail")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("from_email");
+ b.Property("Disposable")
+ .HasColumnType("boolean")
+ .HasColumnName("disposable");
- b.Property("FromName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("from_name");
+ b.Property("DnsCheck")
+ .HasColumnType("boolean")
+ .HasColumnName("dns_check");
- b.Property("GroupId")
- .HasColumnType("integer")
- .HasColumnName("group_id");
+ b.Property>("DnsRecords")
+ .HasColumnType("jsonb")
+ .HasColumnName("dns_records");
- b.Property("Language")
- .IsRequired()
+ b.Property("FaviconUrl")
.HasColumnType("text")
- .HasColumnName("language");
+ .HasColumnName("favicon_url");
+
+ b.Property("Free")
+ .HasColumnType("boolean")
+ .HasColumnName("free");
+
+ b.Property("HttpCheck")
+ .HasColumnType("boolean")
+ .HasColumnName("http_check");
+
+ b.Property("MxCheck")
+ .HasColumnType("boolean")
+ .HasColumnName("mx_check");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("Title")
+ .HasColumnType("text")
+ .HasColumnName("title");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("Url")
+ .HasColumnType("text")
+ .HasColumnName("url");
+
+ b.HasKey("Id")
+ .HasName("pk_domain");
+
+ b.HasIndex("AccountId")
+ .HasDatabaseName("ix_domain_account_id");
+
+ b.HasIndex("Name")
+ .IsUnique()
+ .HasDatabaseName("ix_domain_name");
+
+ b.ToTable("domain", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
+ modelBuilder.Entity("OnlineSales.Entities.EmailGroup", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("Language")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("language");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.HasKey("Id")
+ .HasName("pk_email_group");
+
+ b.ToTable("email_group", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
+ modelBuilder.Entity("OnlineSales.Entities.EmailLog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ContactId")
+ .HasColumnType("integer")
+ .HasColumnName("contact_id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("FromEmail")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("from_email");
+
+ b.Property("HtmlBody")
+ .HasColumnType("text")
+ .HasColumnName("html_body");
+
+ b.Property("MessageId")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("message_id");
+
+ b.Property("Recipients")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("recipients");
+
+ b.Property("ScheduleId")
+ .HasColumnType("integer")
+ .HasColumnName("schedule_id");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("Status")
+ .HasColumnType("integer")
+ .HasColumnName("status");
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("subject");
+
+ b.Property("TemplateId")
+ .HasColumnType("integer")
+ .HasColumnName("template_id");
+
+ b.Property("TextBody")
+ .HasColumnType("text")
+ .HasColumnName("text_body");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.HasKey("Id")
+ .HasName("pk_email_log");
+
+ b.HasIndex("ContactId")
+ .HasDatabaseName("ix_email_log_contact_id");
+
+ b.ToTable("email_log", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
+ modelBuilder.Entity("OnlineSales.Entities.EmailSchedule", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("GroupId")
+ .HasColumnType("integer")
+ .HasColumnName("group_id");
+
+ b.Property("Schedule")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("schedule");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.HasKey("Id")
+ .HasName("pk_email_schedule");
+
+ b.HasIndex("GroupId")
+ .HasDatabaseName("ix_email_schedule_group_id");
+
+ b.ToTable("email_schedule", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
+ modelBuilder.Entity("OnlineSales.Entities.EmailTemplate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("BodyTemplate")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("body_template");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("EmailGroupId")
+ .HasColumnType("integer")
+ .HasColumnName("email_group_id");
+
+ b.Property("FromEmail")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("from_email");
+
+ b.Property("FromName")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("from_name");
+
+ b.Property("Language")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("language");
b.Property("Name")
.IsRequired()
@@ -1154,6 +1594,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1165,8 +1609,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasKey("Id")
.HasName("pk_email_template");
- b.HasIndex("GroupId")
- .HasDatabaseName("ix_email_template_group_id");
+ b.HasIndex("EmailGroupId")
+ .HasDatabaseName("ix_email_template_email_group_id");
b.ToTable("email_template", null, t =>
{
@@ -1174,6 +1618,89 @@ protected override void BuildModel(ModelBuilder modelBuilder)
});
});
+ modelBuilder.Entity("OnlineSales.Entities.File", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("Data")
+ .IsRequired()
+ .HasColumnType("bytea")
+ .HasColumnName("data");
+
+ b.Property("Extension")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("extension");
+
+ b.Property("MimeType")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("mime_type");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("ScopeUid")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("scope_uid");
+
+ b.Property("Size")
+ .HasColumnType("bigint")
+ .HasColumnName("size");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.HasKey("Id")
+ .HasName("pk_file");
+
+ b.ToTable("file", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
modelBuilder.Entity("OnlineSales.Entities.IpDetails", b =>
{
b.Property("Ip")
@@ -1227,6 +1754,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -1258,6 +1789,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1292,6 +1827,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -1329,6 +1868,89 @@ protected override void BuildModel(ModelBuilder modelBuilder)
});
});
+ modelBuilder.Entity("OnlineSales.Entities.MailServer", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
+ b.Property("CreatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("created_by_ip");
+
+ b.Property("CreatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("created_by_user_agent");
+
+ b.Property("HeloMessage")
+ .HasColumnType("text")
+ .HasColumnName("helo_message");
+
+ b.Property("JoinMessage")
+ .HasColumnType("text")
+ .HasColumnName("join_message");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Port")
+ .HasColumnType("integer")
+ .HasColumnName("port");
+
+ b.Property("Source")
+ .HasColumnType("text")
+ .HasColumnName("source");
+
+ b.Property("UpdatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("updated_at");
+
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
+ b.Property("UpdatedByIp")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_ip");
+
+ b.Property("UpdatedByUserAgent")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_user_agent");
+
+ b.Property("Verified")
+ .HasColumnType("boolean")
+ .HasColumnName("verified");
+
+ b.Property("WellKnown")
+ .HasColumnType("boolean")
+ .HasColumnName("well_known");
+
+ b.HasKey("Id")
+ .HasName("pk_mail_server");
+
+ b.HasIndex("Name")
+ .IsUnique()
+ .HasDatabaseName("ix_mail_server_name");
+
+ b.ToTable("mail_server", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
modelBuilder.Entity("OnlineSales.Entities.Media", b =>
{
b.Property("Id")
@@ -1342,6 +1964,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -1387,6 +2013,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1417,6 +2047,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("affiliate_name");
+ b.Property("Commission")
+ .HasColumnType("numeric")
+ .HasColumnName("commission");
+
b.Property("ContactId")
.HasColumnType("integer")
.HasColumnName("contact_id");
@@ -1429,6 +2063,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property("CreatedById")
+ .HasColumnType("text")
+ .HasColumnName("created_by_id");
+
b.Property("CreatedByIp")
.HasColumnType("text")
.HasColumnName("created_by_ip");
@@ -1467,6 +2105,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("text")
.HasColumnName("ref_no");
+ b.Property("Refund")
+ .HasColumnType("numeric")
+ .HasColumnName("refund");
+
b.Property("Source")
.HasColumnType("text")
.HasColumnName("source");
@@ -1483,6 +2125,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("updated_at");
+ b.Property("UpdatedById")
+ .HasColumnType("text")
+ .HasColumnName("updated_by_id");
+
b.Property("UpdatedByIp")
.HasColumnType("text")
.HasColumnName("updated_by_ip");
@@ -1520,6 +2166,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
+ b.Property