//
using System;
using Hushian.Persistence;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Hushian.Persistence.Migrations
{
[DbContext(typeof(HushianDbContext))]
[Migration("20250817205731_newtable")]
partial class newtable
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("Hushian.Domain.Entites.AIA", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("Request")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Response")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserID")
.HasColumnType("int");
b.HasKey("ID");
b.ToTable("AIAs");
});
modelBuilder.Entity("Hushian.Domain.Entites.Company", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Available")
.HasColumnType("bit");
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("Email")
.HasColumnType("nvarchar(max)");
b.Property("FullName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("FullNameManager")
.HasColumnType("nvarchar(max)");
b.Property("Mobile")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Verified")
.HasColumnType("bit");
b.Property("WebSite")
.HasColumnType("nvarchar(max)");
b.Property("allowBot")
.HasColumnType("bit");
b.Property("logo")
.HasColumnType("varbinary(max)");
b.HasKey("ID");
b.ToTable("Companies");
});
modelBuilder.Entity("Hushian.Domain.Entites.CompanyContentInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("Content")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.HasIndex("CompanyID");
b.ToTable("CompanyContentInfo");
});
modelBuilder.Entity("Hushian.Domain.Entites.Conversation", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("FinishedDateTime")
.HasColumnType("datetime2");
b.Property("GroupID")
.HasColumnType("int");
b.Property("Status")
.HasColumnType("int");
b.Property("UserID")
.HasColumnType("int");
b.HasKey("ID");
b.HasIndex("CompanyID");
b.HasIndex("GroupID");
b.HasIndex("UserID");
b.ToTable("Conversations");
});
modelBuilder.Entity("Hushian.Domain.Entites.ConversationResponse", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("ConversationID")
.HasColumnType("int");
b.Property("ExperID")
.HasColumnType("int");
b.Property("FileContent")
.HasColumnType("varbinary(max)");
b.Property("FileName")
.HasColumnType("nvarchar(max)");
b.Property("FileType")
.HasColumnType("nvarchar(max)");
b.Property("IsRead")
.HasColumnType("bit");
b.Property("ReadDateTime")
.HasColumnType("datetime2");
b.Property("Text")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Type")
.HasColumnType("int");
b.HasKey("ID");
b.HasIndex("ConversationID");
b.HasIndex("ExperID");
b.ToTable("ConversationItems");
});
modelBuilder.Entity("Hushian.Domain.Entites.Exper", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Available")
.HasColumnType("bit");
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("FullName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("UserName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.HasIndex("CompanyID");
b.ToTable("Expers");
});
modelBuilder.Entity("Hushian.Domain.Entites.ExperGroup", b =>
{
b.Property("ExperID")
.HasColumnType("int");
b.Property("GroupID")
.HasColumnType("int");
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.HasKey("ExperID", "GroupID");
b.HasIndex("GroupID");
b.ToTable("EG");
});
modelBuilder.Entity("Hushian.Domain.Entites.Group", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Available")
.HasColumnType("bit");
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("Info")
.HasColumnType("nvarchar(max)");
b.Property("Name")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("img")
.HasColumnType("varbinary(max)");
b.HasKey("ID");
b.HasIndex("CompanyID");
b.ToTable("Groups");
});
modelBuilder.Entity("Hushian.Domain.Entites.Prompt", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("CompanyID")
.HasColumnType("int");
b.Property("Test")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.HasIndex("CompanyID");
b.ToTable("prompts");
});
modelBuilder.Entity("Hushian.Domain.Entites.User", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("FullName")
.HasColumnType("nvarchar(max)");
b.Property("Mobile")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("ID");
b.ToTable("Users");
});
modelBuilder.Entity("Identity.Models.VerificationCode", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
b.Property("Cdatetime")
.HasColumnType("datetime2");
b.Property("Code")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Mobile")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("Type")
.HasColumnType("int");
b.HasKey("ID");
b.ToTable("verificationCodes");
});
modelBuilder.Entity("Hushian.Domain.Entites.CompanyContentInfo", b =>
{
b.HasOne("Hushian.Domain.Entites.Company", "company")
.WithMany("CompanyContentInfos")
.HasForeignKey("CompanyID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("company");
});
modelBuilder.Entity("Hushian.Domain.Entites.Conversation", b =>
{
b.HasOne("Hushian.Domain.Entites.Company", "Company")
.WithMany("Conversations")
.HasForeignKey("CompanyID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Hushian.Domain.Entites.Group", "Group")
.WithMany()
.HasForeignKey("GroupID");
b.HasOne("Hushian.Domain.Entites.User", "User")
.WithMany("Conversations")
.HasForeignKey("UserID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("Group");
b.Navigation("User");
});
modelBuilder.Entity("Hushian.Domain.Entites.ConversationResponse", b =>
{
b.HasOne("Hushian.Domain.Entites.Conversation", "conversation")
.WithMany("ConversationResponses")
.HasForeignKey("ConversationID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Hushian.Domain.Entites.Exper", "Exper")
.WithMany()
.HasForeignKey("ExperID");
b.Navigation("Exper");
b.Navigation("conversation");
});
modelBuilder.Entity("Hushian.Domain.Entites.Exper", b =>
{
b.HasOne("Hushian.Domain.Entites.Company", "Company")
.WithMany("Expers")
.HasForeignKey("CompanyID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
});
modelBuilder.Entity("Hushian.Domain.Entites.ExperGroup", b =>
{
b.HasOne("Hushian.Domain.Entites.Exper", "Exper")
.WithMany("EG")
.HasForeignKey("ExperID")
.OnDelete(DeleteBehavior.ClientCascade)
.IsRequired();
b.HasOne("Hushian.Domain.Entites.Group", "Group")
.WithMany("EG")
.HasForeignKey("GroupID")
.OnDelete(DeleteBehavior.ClientCascade)
.IsRequired();
b.Navigation("Exper");
b.Navigation("Group");
});
modelBuilder.Entity("Hushian.Domain.Entites.Group", b =>
{
b.HasOne("Hushian.Domain.Entites.Company", "Company")
.WithMany("Groups")
.HasForeignKey("CompanyID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
});
modelBuilder.Entity("Hushian.Domain.Entites.Prompt", b =>
{
b.HasOne("Hushian.Domain.Entites.Company", "Company")
.WithMany("prompts")
.HasForeignKey("CompanyID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
});
modelBuilder.Entity("Hushian.Domain.Entites.Company", b =>
{
b.Navigation("CompanyContentInfos");
b.Navigation("Conversations");
b.Navigation("Expers");
b.Navigation("Groups");
b.Navigation("prompts");
});
modelBuilder.Entity("Hushian.Domain.Entites.Conversation", b =>
{
b.Navigation("ConversationResponses");
});
modelBuilder.Entity("Hushian.Domain.Entites.Exper", b =>
{
b.Navigation("EG");
});
modelBuilder.Entity("Hushian.Domain.Entites.Group", b =>
{
b.Navigation("EG");
});
modelBuilder.Entity("Hushian.Domain.Entites.User", b =>
{
b.Navigation("Conversations");
});
#pragma warning restore 612, 618
}
}
}