//
using System;
using GozareshgirProgramManager.Infrastructure.Persistence.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace GozareshgirProgramManager.Infrastructure.Migrations
{
[DbContext(typeof(ProgramManagerDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.1")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("GozareshgirProgramManager.Domain.CheckoutAgg.Entities.Checkout", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CheckoutEndDate")
.HasColumnType("datetime2");
b.Property("CheckoutStartDate")
.HasColumnType("datetime2");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("DeductionFromSalary")
.HasColumnType("float");
b.Property("FullName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("MandatoryHours")
.HasColumnType("int");
b.Property("Month")
.HasColumnType("int");
b.Property("MonthlySalaryDefined")
.HasColumnType("float");
b.Property("MonthlySalaryPay")
.HasColumnType("float");
b.Property("RemainingHours")
.HasColumnType("int");
b.Property("TotalDaysWorked")
.HasColumnType("int");
b.Property("TotalHoursWorked")
.HasColumnType("int");
b.Property("UserId")
.HasColumnType("bigint");
b.Property("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Checkouts", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.CustomerAgg.Customer", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreatedAt")
.HasColumnType("datetime2");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("Id");
b.ToTable("Customers", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.FileManagementAgg.Entities.UploadedFile", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("Category")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("DeletedByUserId")
.HasColumnType("bigint");
b.Property("DeletedDate")
.HasColumnType("datetime2");
b.Property("DurationSeconds")
.HasColumnType("int");
b.Property("FileExtension")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("FileSizeBytes")
.HasColumnType("bigint");
b.Property("FileType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("ImageHeight")
.HasColumnType("int");
b.Property("ImageWidth")
.HasColumnType("int");
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false);
b.Property("IsVirusScanPassed")
.HasColumnType("bit");
b.Property("MimeType")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("OriginalFileName")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("ReferenceEntityId")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("ReferenceEntityType")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("StoragePath")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("StorageProvider")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("StorageUrl")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("ThumbnailUrl")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("UniqueFileName")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("UploadDate")
.HasColumnType("datetime2");
b.Property("UploadedByUserId")
.HasColumnType("bigint");
b.Property("VirusScanDate")
.HasColumnType("datetime2");
b.Property("VirusScanResult")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.HasKey("Id");
b.HasIndex("Category");
b.HasIndex("IsDeleted");
b.HasIndex("Status");
b.HasIndex("UniqueFileName")
.IsUnique();
b.HasIndex("UploadedByUserId");
b.HasIndex("ReferenceEntityType", "ReferenceEntityId");
b.ToTable("UploadedFiles", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.BugSection", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("InitialDescription")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("OriginalAssignedUserId")
.HasColumnType("bigint");
b.Property("Priority")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("TaskId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TaskId");
b.ToTable("BugSections", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.PhaseSection", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("PhaseId")
.HasColumnType("uniqueidentifier");
b.Property("SkillId")
.HasColumnType("uniqueidentifier");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("PhaseId");
b.HasIndex("SkillId");
b.ToTable("PhaseSections");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.ProjectPhase", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("DeployStatus")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("Description")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("EndDate")
.HasColumnType("datetime2");
b.Property("HasAssignmentOverride")
.HasColumnType("bit");
b.Property("IsArchived")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("OrderIndex")
.HasColumnType("int");
b.Property("ProjectId")
.HasColumnType("uniqueidentifier");
b.Property("StartDate")
.HasColumnType("datetime2");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.HasKey("Id");
b.HasIndex("ProjectId");
b.ToTable("ProjectPhases", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.Project", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Description")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("EndDate")
.HasColumnType("datetime2");
b.Property("HasAssignmentOverride")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("PlannedEndDate")
.HasColumnType("datetime2");
b.Property("PlannedStartDate")
.HasColumnType("datetime2");
b.Property("StartDate")
.HasColumnType("datetime2");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.HasKey("Id");
b.ToTable("Projects", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.ProjectSection", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("ProjectId")
.HasColumnType("uniqueidentifier");
b.Property("SkillId")
.HasColumnType("uniqueidentifier");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ProjectId");
b.HasIndex("SkillId");
b.ToTable("ProjectSections");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.ProjectTask", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("AllocatedTime")
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Description")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("DueDate")
.HasColumnType("datetime2");
b.Property("EndDate")
.HasColumnType("datetime2");
b.Property("HasAssignmentOverride")
.HasColumnType("bit");
b.Property("HasTimeOverride")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("OrderIndex")
.HasColumnType("int");
b.Property("PhaseId")
.HasColumnType("uniqueidentifier");
b.Property("Priority")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("StartDate")
.HasColumnType("datetime2");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.HasKey("Id");
b.HasIndex("PhaseId");
b.ToTable("ProjectTasks", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("CurrentAssignedUserId")
.HasColumnType("bigint");
b.Property("InitialDescription")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("InitialEstimatedHours")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("OriginalAssignedUserId")
.HasColumnType("bigint");
b.Property("SkillId")
.HasColumnType("uniqueidentifier");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("TaskId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SkillId");
b.HasIndex("TaskId");
b.ToTable("TaskSections", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionActivity", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("EndDate")
.HasColumnType("datetime2");
b.Property("EndNotes")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("IsActive")
.HasColumnType("bit");
b.Property("Notes")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("SectionId")
.HasColumnType("uniqueidentifier");
b.Property("StartDate")
.HasColumnType("datetime2");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("SectionId");
b.ToTable("TaskSectionActivities", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionAdditionalTime", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("AddedAt")
.HasColumnType("datetime2");
b.Property("AddedByUserId")
.HasColumnType("bigint");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Hours")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("Reason")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("TaskSectionId")
.HasColumnType("uniqueidentifier");
b.Property("Type")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.HasKey("Id");
b.HasIndex("TaskSectionId");
b.ToTable("TaskSectionAdditionalTimes", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionRevision", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreatedByUserId")
.HasColumnType("bigint");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Message")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("Status")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("TaskSectionId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.ToTable("TaskSectionRevisions");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionTimeRequest", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Description")
.IsRequired()
.HasMaxLength(1200)
.HasColumnType("nvarchar(1200)");
b.Property("RequestStatus")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("RequestType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("RequestedTime")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property("TaskSectionId")
.HasColumnType("uniqueidentifier");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("TaskSectionId");
b.ToTable("TaskSectionTimeRequests");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.RoleAgg.Entities.Role", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("GozareshgirRoleId")
.HasColumnType("bigint");
b.Property("RoleName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("Id");
b.ToTable("PmRoles", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Entities.SalaryPaymentSetting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("EndSettingDate")
.HasColumnType("datetime2");
b.Property("HolidayWorking")
.HasColumnType("bit");
b.Property("MonthlySalary")
.HasColumnType("float");
b.Property("StartSettingDate")
.HasColumnType("datetime2");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.ToTable("SalaryPaymentSetting", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.SkillAgg.Entities.Skill", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Name")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("Id");
b.ToTable("Skills", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.TaskChatAgg.Entities.TaskChatMessage", b =>
{
b.Property("Id")
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("DeletedDate")
.HasColumnType("datetime2");
b.Property("EditedDate")
.HasColumnType("datetime2");
b.Property("FileId")
.HasColumnType("uniqueidentifier");
b.Property("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false);
b.Property("IsEdited")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false);
b.Property("IsPinned")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false);
b.Property("MessageType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("PinnedByUserId")
.HasColumnType("bigint");
b.Property("PinnedDate")
.HasColumnType("datetime2");
b.Property("ReplyToMessageId")
.HasColumnType("uniqueidentifier");
b.Property("SenderUserId")
.HasColumnType("bigint");
b.Property("TaskId")
.HasColumnType("uniqueidentifier");
b.Property("TextContent")
.HasMaxLength(4000)
.HasColumnType("nvarchar(4000)");
b.HasKey("Id");
b.HasIndex("CreationDate");
b.HasIndex("FileId");
b.HasIndex("IsDeleted");
b.HasIndex("ReplyToMessageId");
b.HasIndex("SenderUserId");
b.HasIndex("TaskId");
b.HasIndex("TaskId", "IsPinned");
b.ToTable("TaskChatMessages", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.UserAgg.Entities.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("AccountId")
.HasColumnType("bigint");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("Email")
.HasMaxLength(150)
.HasColumnType("nvarchar(150)");
b.Property("FullName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("IsActive")
.HasColumnType("bit");
b.Property("Mobile")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property("Password")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property("ProfilePhotoPath")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("UserName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("VerifyCode")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.HasKey("Id");
b.ToTable("Users", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.UserAgg.Entities.UserRefreshToken", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property("CreationDate")
.HasColumnType("datetime2");
b.Property("ExpiresAt")
.HasColumnType("datetime2");
b.Property("IpAddress")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property("RevokedAt")
.HasColumnType("datetime2");
b.Property("Token")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("UserAgent")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property("UserId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ExpiresAt");
b.HasIndex("Token")
.IsUnique();
b.HasIndex("UserId");
b.ToTable("UserRefreshTokens", (string)null);
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.BugSection", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.ProjectTask", "ProjectTask")
.WithMany("BugSectionList")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.OwnsMany("GozareshgirProgramManager.Domain.ProjectAgg.Entities.BugDocument", "BugDocuments", b1 =>
{
b1.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b1.Property("BugSectionId")
.HasColumnType("uniqueidentifier");
b1.Property("FileId")
.HasColumnType("uniqueidentifier");
b1.HasKey("Id");
b1.HasIndex("BugSectionId");
b1.ToTable("BugDocuments", (string)null);
b1.WithOwner("BugSection")
.HasForeignKey("BugSectionId");
b1.Navigation("BugSection");
});
b.Navigation("BugDocuments");
b.Navigation("ProjectTask");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.PhaseSection", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.ProjectPhase", "Phase")
.WithMany("PhaseSections")
.HasForeignKey("PhaseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("GozareshgirProgramManager.Domain.SkillAgg.Entities.Skill", "Skill")
.WithMany()
.HasForeignKey("SkillId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Phase");
b.Navigation("Skill");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.ProjectPhase", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.Project", "Project")
.WithMany("Phases")
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Project");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.ProjectSection", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.Project", "Project")
.WithMany("ProjectSections")
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("GozareshgirProgramManager.Domain.SkillAgg.Entities.Skill", "Skill")
.WithMany()
.HasForeignKey("SkillId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Project");
b.Navigation("Skill");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.ProjectTask", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.ProjectPhase", "Phase")
.WithMany("Tasks")
.HasForeignKey("PhaseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Phase");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.SkillAgg.Entities.Skill", "Skill")
.WithMany("Sections")
.HasForeignKey("SkillId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.ProjectTask", "Task")
.WithMany("Sections")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Skill");
b.Navigation("Task");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionActivity", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", "Section")
.WithMany("Activities")
.HasForeignKey("SectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Section");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionAdditionalTime", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", null)
.WithMany("AdditionalTimes")
.HasForeignKey("TaskSectionId");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionRevision", b =>
{
b.OwnsMany("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskRevisionFile", "Files", b1 =>
{
b1.Property("Id")
.HasColumnType("uniqueidentifier");
b1.Property("CreationDate")
.HasColumnType("datetime2");
b1.Property("FileId")
.HasColumnType("uniqueidentifier");
b1.Property("TaskSectionRevisionId")
.HasColumnType("uniqueidentifier");
b1.HasKey("Id");
b1.HasIndex("FileId");
b1.HasIndex("TaskSectionRevisionId");
b1.ToTable("TaskRevisionFile");
b1.HasOne("GozareshgirProgramManager.Domain.FileManagementAgg.Entities.UploadedFile", null)
.WithMany()
.HasForeignKey("FileId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b1.WithOwner()
.HasForeignKey("TaskSectionRevisionId");
});
b.Navigation("Files");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSectionTimeRequest", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", "TaskSection")
.WithMany()
.HasForeignKey("TaskSectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("TaskSection");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.RoleAgg.Entities.Role", b =>
{
b.OwnsMany("GozareshgirProgramManager.Domain.PermissionAgg.Entities.Permission", "Permissions", b1 =>
{
b1.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
b1.Property("Code")
.HasColumnType("int");
b1.Property("RoleId")
.HasColumnType("bigint");
b1.HasKey("Id");
b1.HasIndex("RoleId");
b1.ToTable("PmRolePermissions", (string)null);
b1.WithOwner("Role")
.HasForeignKey("RoleId");
b1.Navigation("Role");
});
b.Navigation("Permissions");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Entities.SalaryPaymentSetting", b =>
{
b.OwnsMany("GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Entities.WorkingHours", "WorkingHoursList", b1 =>
{
b1.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
b1.Property("EndShiftOne")
.HasColumnType("time(0)");
b1.Property("EndShiftTwo")
.HasColumnType("time(0)");
b1.Property("HasRestTime")
.HasColumnType("bit");
b1.Property("HasShiftOne")
.HasColumnType("bit");
b1.Property("HasShiftTow")
.HasColumnType("bit");
b1.Property("IsActiveDay")
.HasColumnType("bit");
b1.Property("PersianDayOfWeek")
.HasColumnType("int");
b1.Property("RestTime")
.HasColumnType("time(0)");
b1.Property("SalaryPaymentSettingId")
.HasColumnType("bigint");
b1.Property("ShiftDurationInMinutes")
.HasColumnType("int");
b1.Property("StartShiftOne")
.HasColumnType("time(0)");
b1.Property("StartShiftTwo")
.HasColumnType("time(0)");
b1.HasKey("Id");
b1.HasIndex("SalaryPaymentSettingId");
b1.ToTable("WorkingHours", (string)null);
b1.WithOwner("SalaryPaymentSetting")
.HasForeignKey("SalaryPaymentSettingId");
b1.Navigation("SalaryPaymentSetting");
});
b.Navigation("WorkingHoursList");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.TaskChatAgg.Entities.TaskChatMessage", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.TaskChatAgg.Entities.TaskChatMessage", "ReplyToMessage")
.WithMany()
.HasForeignKey("ReplyToMessageId")
.OnDelete(DeleteBehavior.NoAction);
b.Navigation("ReplyToMessage");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.UserAgg.Entities.User", b =>
{
b.OwnsMany("GozareshgirProgramManager.Domain.RoleUserAgg.RoleUser", "RoleUser", b1 =>
{
b1.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
b1.Property("RoleId")
.HasColumnType("bigint");
b1.Property("UserId")
.HasColumnType("bigint");
b1.HasKey("Id");
b1.HasIndex("UserId");
b1.ToTable("RoleUsers", (string)null);
b1.WithOwner("User")
.HasForeignKey("UserId");
b1.Navigation("User");
});
b.Navigation("RoleUser");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.UserAgg.Entities.UserRefreshToken", b =>
{
b.HasOne("GozareshgirProgramManager.Domain.UserAgg.Entities.User", "User")
.WithMany("RefreshTokens")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.ProjectPhase", b =>
{
b.Navigation("PhaseSections");
b.Navigation("Tasks");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Project.Project", b =>
{
b.Navigation("Phases");
b.Navigation("ProjectSections");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.ProjectTask", b =>
{
b.Navigation("BugSectionList");
b.Navigation("Sections");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection.TaskSection", b =>
{
b.Navigation("Activities");
b.Navigation("AdditionalTimes");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.SkillAgg.Entities.Skill", b =>
{
b.Navigation("Sections");
});
modelBuilder.Entity("GozareshgirProgramManager.Domain.UserAgg.Entities.User", b =>
{
b.Navigation("RefreshTokens");
});
#pragma warning restore 612, 618
}
}
}