diff --git a/0_Framework/Application/Enums/TypeOfCoefficient.cs b/0_Framework/Application/Enums/TypeOfCoefficient.cs
new file mode 100644
index 00000000..97475bb8
--- /dev/null
+++ b/0_Framework/Application/Enums/TypeOfCoefficient.cs
@@ -0,0 +1,14 @@
+namespace _0_Framework.Application.Enums;
+
+public enum TypeOfCoefficient
+{
+ ///
+ /// ضریب ریالی طرح
+ ///
+ RialCoefficient,
+
+ ///
+ /// ضریب ریالی اداره کار
+ ///
+ JobOrganization,
+}
\ No newline at end of file
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationEmployee.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationEmployee.cs
index 4830eb2b..f8974273 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationEmployee.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationEmployee.cs
@@ -63,6 +63,7 @@ public class ClassificationEmployee : EntityBase
///
public DateTime? EndGroupDate { get; private set; }
+ public ClassificationGroup ClassificationGroup { get; set; }
///
/// ویرایش پرسنل طرح
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationGroup.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationGroup.cs
index 8177c908..7220575a 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationGroup.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationGroup.cs
@@ -1,4 +1,5 @@
-using _0_Framework.Domain;
+using System.Collections.Generic;
+using _0_Framework.Domain;
namespace Company.Domain.ClassificationSchemeAgg;
@@ -31,4 +32,12 @@ public class ClassificationGroup : EntityBase
/// آی دی طرح
///
public long ClassificationSchemeId { get; private set; }
+
+ public ClassificationScheme ClassificationScheme { get; set; }
+
+
+ public List ClassificationGroupJobs { get; set; }
+ public List ClassificationGroupSalaries { get; set; }
+
+ public List ClassificationEmployees { get; set; }
}
\ No newline at end of file
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationGroupJob.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationGroupJob.cs
index 759cca01..de1acfe9 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationGroupJob.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationGroupJob.cs
@@ -29,6 +29,11 @@ public class ClassificationGroupJob : EntityBaseWithoutCreationDate
/// نام شغل
///
public string JobName { get; private set; }
+
+ ///
+ /// کد شغل
+ ///
+ public string JobCode { get; private set; }
///
/// آی دی گروه
@@ -41,4 +46,7 @@ public class ClassificationGroupJob : EntityBaseWithoutCreationDate
public string GroupNo { get; private set; }
+ public ClassificationGroup ClassificationGroup { get; set; }
+
+
}
\ No newline at end of file
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationGroupSalary.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationGroupSalary.cs
index 1666b306..43541bda 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationGroupSalary.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationGroupSalary.cs
@@ -56,6 +56,9 @@ public class ClassificationGroupSalary : EntityBase
///
public int Year { get; private set; }
+
+ public ClassificationGroup ClassificationGroup { get; set; }
+
///
/// ویرایش دستمزد گروه
///
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationRialCoefficient.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationRialCoefficient.cs
index 610569c9..e861bc1a 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationRialCoefficient.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationRialCoefficient.cs
@@ -45,6 +45,9 @@ public class ClassificationRialCoefficient : EntityBaseWithoutCreationDate
///
public int Year { get; private set; }
+
+ public ClassificationScheme ClassificationScheme { get; set; }
+
///
/// ویرایش ضریب ریالی
///
diff --git a/Company.Domain/ClassificationSchemeAgg/ClassificationScheme.cs b/Company.Domain/ClassificationSchemeAgg/ClassificationScheme.cs
index c129597e..83ec2185 100644
--- a/Company.Domain/ClassificationSchemeAgg/ClassificationScheme.cs
+++ b/Company.Domain/ClassificationSchemeAgg/ClassificationScheme.cs
@@ -1,19 +1,22 @@
using System;
+using System.Collections.Generic;
+using _0_Framework.Application.Enums;
using _0_Framework.Domain;
namespace Company.Domain.ClassificationSchemeAgg;
public class ClassificationScheme : EntityBase
{
- ///
- ///ایجاد طرح طبقه بندی مشاغل
- ///
- ///
- ///
- ///
- ///
- ///
- public ClassificationScheme(DateTime includingDateGr, DateTime executionDateGr, string designerFullName, string designerPhone, long workshopId, string typeOfCoefficient)
+ ///
+ /// ایجاد طرح طبقه بندی مشاغل
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public ClassificationScheme(DateTime includingDateGr, DateTime executionDateGr, string designerFullName, string designerPhone, long workshopId, TypeOfCoefficient typeOfCoefficient)
{
IncludingDateGr = includingDateGr;
ExecutionDateGr = executionDateGr;
@@ -58,7 +61,12 @@ public class ClassificationScheme : EntityBase
///
/// نوع ضریب
///
- public string TypeOfCoefficient { get; private set; }
+ public TypeOfCoefficient TypeOfCoefficient { get; private set; }
+
+
+ public List ClassificationGroups { get; set; }
+
+ public List ClassificationRialCoefficients { get; set; }
///
/// ویرایش طرح
diff --git a/CompanyManagment.EFCore/CompanyContext.cs b/CompanyManagment.EFCore/CompanyContext.cs
index 330885b7..3f585ac3 100644
--- a/CompanyManagment.EFCore/CompanyContext.cs
+++ b/CompanyManagment.EFCore/CompanyContext.cs
@@ -6,6 +6,7 @@ using Company.Domain.Board;
using Company.Domain.BoardType;
using Company.Domain.ChapterAgg;
using Company.Domain.CheckoutAgg;
+using Company.Domain.ClassificationSchemeAgg;
using Company.Domain.ClassifiedSalaryAgg;
using Company.Domain.ClientEmployeeWorkshopAgg;
using Company.Domain.Contact2Agg;
@@ -211,6 +212,42 @@ public class CompanyContext : DbContext
public DbSet PlanPercentages { get; set; }
+ #region ClassificationScheme
+
+ ///
+ /// جدول طرح طبقه بندی
+ ///
+ public DbSet ClassificationSchemes { get; set; }
+
+ ///
+ /// جدول گروه های طرح
+ ///
+ public DbSet ClassificationGroups { get; set; }
+
+ ///
+ /// جدول ضرایب ریالی
+ ///
+ public DbSet ClassificationRialCoefficients { get; set; }
+
+
+ ///
+ /// جدول شغل های گروه
+ ///
+ public DbSet ClassificationGroupJobs { get; set; }
+
+ ///
+ /// جدول مزد شغل گروه ها
+ ///
+ public DbSet ClassificationGroupSalaries { get; set; }
+
+ ///
+ /// جدول پرسنل طرح
+ ///
+ public DbSet ClassificationEmployees { get; set; }
+
+
+ #endregion
+
#region TemporaryClientRegisteration
public DbSet ContractingPartyTemps { get; set; }
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationEmployeeMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationEmployeeMapping.cs
new file mode 100644
index 00000000..44687e7e
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationEmployeeMapping.cs
@@ -0,0 +1,22 @@
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationEmployeeMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationEmployee");
+ builder.HasKey(x => x.id);
+
+ builder.Property(x => x.StartGroupDate).IsRequired(false);
+ builder.Property(x => x.EndGroupDate).IsRequired(false);
+
+
+ builder.HasOne(x => x.ClassificationGroup)
+ .WithMany(x => x.ClassificationEmployees)
+ .HasForeignKey(x => x.ClassificationGroupId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationGroupJobMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationGroupJobMapping.cs
new file mode 100644
index 00000000..f10497c6
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationGroupJobMapping.cs
@@ -0,0 +1,22 @@
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationGroupJobMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationGroupJobs");
+ builder.HasKey(x => x.id);
+
+ builder.Property(x => x.JobName).HasMaxLength(255);
+ builder.Property(x => x.JobCode).HasMaxLength(100);
+ builder.Property(x => x.GroupNo).HasMaxLength(2);
+
+ builder.HasOne(x => x.ClassificationGroup)
+ .WithMany(x => x.ClassificationGroupJobs)
+ .HasForeignKey(x => x.ClassificationGroupId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationGroupMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationGroupMapping.cs
new file mode 100644
index 00000000..1cb0b761
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationGroupMapping.cs
@@ -0,0 +1,35 @@
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationGroupMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationGroups");
+ builder.HasKey(x => x.id);
+
+ builder.Property(x => x.GroupNo).HasMaxLength(2);
+
+ builder.HasOne(x => x.ClassificationScheme)
+ .WithMany(x => x.ClassificationGroups)
+ .HasForeignKey(x => x.ClassificationSchemeId);
+
+
+ builder.HasMany(x => x.ClassificationGroupJobs)
+ .WithOne(x => x.ClassificationGroup)
+ .HasForeignKey(x => x.ClassificationGroupId);
+
+
+ builder.HasMany(x => x.ClassificationEmployees)
+ .WithOne(x => x.ClassificationGroup)
+ .HasForeignKey(x => x.ClassificationGroupId);
+
+
+ builder.HasMany(x => x.ClassificationGroupSalaries)
+ .WithOne(x => x.ClassificationGroup)
+ .HasForeignKey(x => x.ClassificationGroupId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationGroupSalaryMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationGroupSalaryMapping.cs
new file mode 100644
index 00000000..2230236c
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationGroupSalaryMapping.cs
@@ -0,0 +1,20 @@
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationGroupSalaryMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationGroupSalaries");
+ builder.HasKey(x => x.id);
+
+ builder.Property(x => x.GroupNo).HasMaxLength(2);
+
+ builder.HasOne(x => x.ClassificationGroup)
+ .WithMany(x => x.ClassificationGroupSalaries)
+ .HasForeignKey(x => x.ClassificationGroupId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationRialCoefficientMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationRialCoefficientMapping.cs
new file mode 100644
index 00000000..ecb31092
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationRialCoefficientMapping.cs
@@ -0,0 +1,18 @@
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationRialCoefficientMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationRialCoefficients");
+ builder.HasKey(x => x.id);
+
+ builder.HasOne(x => x.ClassificationScheme)
+ .WithMany(x => x.ClassificationRialCoefficients)
+ .HasForeignKey(x => x.ClassificationSchemeId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Mapping/ClassificationSchemeMapping.cs b/CompanyManagment.EFCore/Mapping/ClassificationSchemeMapping.cs
new file mode 100644
index 00000000..b3c25c15
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/ClassificationSchemeMapping.cs
@@ -0,0 +1,38 @@
+using System;
+using _0_Framework.Application.Enums;
+using Company.Domain.ClassificationSchemeAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class ClassificationSchemeMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("ClassificationSchemes");
+ builder.HasKey(x => x.id);
+
+
+ builder.Property(x => x.IncludingDateGr);
+ builder.Property(x => x.ExecutionDateGr);
+ builder.Property(x => x.EndSchemeDateGr).IsRequired(false);
+ builder.Property(x => x.DesignerFullName).HasMaxLength(50);
+ builder.Property(x => x.DesignerPhone).HasMaxLength(20);
+ builder.Property(x => x.WorkshopId);
+ builder.Property(x => x.WorkshopId);
+ builder.Property(x => x.TypeOfCoefficient).HasConversion(
+ v => v.ToString(),
+ v => (TypeOfCoefficient)Enum.Parse(typeof(TypeOfCoefficient), v)).HasMaxLength(30);
+
+
+ builder.HasMany(x => x.ClassificationGroups)
+ .WithOne(x => x.ClassificationScheme)
+ .HasForeignKey(x => x.ClassificationSchemeId);
+
+ builder.HasMany(x => x.ClassificationRialCoefficients)
+ .WithOne(x => x.ClassificationScheme)
+ .HasForeignKey(x => x.ClassificationSchemeId);
+
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Migrations/20250918013449_ClassificationScheme.Designer.cs b/CompanyManagment.EFCore/Migrations/20250918013449_ClassificationScheme.Designer.cs
new file mode 100644
index 00000000..c61fe878
--- /dev/null
+++ b/CompanyManagment.EFCore/Migrations/20250918013449_ClassificationScheme.Designer.cs
@@ -0,0 +1,10496 @@
+//
+using System;
+using System.Collections.Generic;
+using CompanyManagment.EFCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace CompanyManagment.EFCore.Migrations
+{
+ [DbContext(typeof(CompanyContext))]
+ [Migration("20250918013449_ClassificationScheme")]
+ partial class ClassificationScheme
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.10")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("Company.Domain.AdminMonthlyOverviewAgg.AdminMonthlyOverview", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Month")
+ .HasColumnType("int");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(155)
+ .HasColumnType("nvarchar(155)");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.Property("Year")
+ .HasColumnType("int");
+
+ b.HasKey("id");
+
+ b.ToTable("AdminMonthlyOverviews");
+ });
+
+ modelBuilder.Entity("Company.Domain.AndroidApkVersionAgg.AndroidApkVersion", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActive")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("Path")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Title")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("VersionCode")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("VersionName")
+ .HasMaxLength(35)
+ .HasColumnType("nvarchar(35)");
+
+ b.HasKey("id");
+
+ b.ToTable("AndroidApkVersions", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.BankAgg.Bank", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("BankLogoMediaId")
+ .HasColumnType("bigint");
+
+ b.Property("BankName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.ToTable("Banks", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.BillAgg.EntityBill", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Appointed")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Contact")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Description")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsActiveString")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ProcessingStage")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SubjectBill")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.HasKey("id");
+
+ b.ToTable("TextManager_Bill", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.Board.Board", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("BoardChairman")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("BoardType_Id")
+ .HasColumnType("int");
+
+ b.Property("Branch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DisputeResolutionPetitionDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ExpertReport")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("File_Id")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("BoardType_Id");
+
+ b.HasIndex("File_Id");
+
+ b.ToTable("Boards", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.BoardType.BoardType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Title")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("BoardTypes", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Chapter")
+ .IsRequired()
+ .HasMaxLength(60)
+ .HasColumnType("nvarchar(60)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActiveString")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Subtitle_Id")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("Subtitle_Id");
+
+ b.ToTable("TextManager_Chapter", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AbsenceDeduction")
+ .HasColumnType("float");
+
+ b.Property("AbsencePeriod")
+ .HasColumnType("float");
+
+ b.Property("AbsenceValue")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("ArchiveCode")
+ .HasMaxLength(15)
+ .HasColumnType("nvarchar(15)");
+
+ b.Property("AverageHoursPerDay")
+ .HasColumnType("float");
+
+ b.Property("BaseYearsPay")
+ .HasColumnType("float");
+
+ b.Property("BonusesPay")
+ .HasColumnType("float");
+
+ b.Property("ConsumableItems")
+ .HasColumnType("float");
+
+ b.Property("ContractEnd")
+ .HasColumnType("datetime2");
+
+ b.Property("ContractId")
+ .HasColumnType("bigint");
+
+ b.Property("ContractNo")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ContractStart")
+ .HasColumnType("datetime2");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("CreditLeaves")
+ .HasColumnType("float");
+
+ b.Property("DateOfBirth")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("EmployeeFullName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("EmployeeId")
+ .HasColumnType("bigint");
+
+ b.Property("EmployeeMandatoryHours")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("FamilyAllowance")
+ .HasColumnType("float");
+
+ b.Property("FathersName")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("FridayPay")
+ .HasColumnType("float");
+
+ b.Property("FridayWorkValue")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("HasAmountConflict")
+ .HasColumnType("bit");
+
+ b.Property("HasRollCall")
+ .HasColumnType("bit");
+
+ b.Property("HousingAllowance")
+ .HasColumnType("float");
+
+ b.Property("InstallmentDeduction")
+ .HasColumnType("float");
+
+ b.Property("InsuranceDeduction")
+ .HasColumnType("float");
+
+ b.Property("IsActiveString")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("LeaveCheckout")
+ .HasColumnType("bit");
+
+ b.Property("LeavePay")
+ .HasColumnType("float");
+
+ b.Property("MarriedAllowance")
+ .HasColumnType("float");
+
+ b.Property("MissionPay")
+ .HasColumnType("float");
+
+ b.Property("Month")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("MonthlySalary")
+ .HasColumnType("float");
+
+ b.Property("NationalCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("NightworkPay")
+ .HasColumnType("float");
+
+ b.Property("OverNightWorkValue")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("OverTimeWorkValue")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("OvertimePay")
+ .HasColumnType("float");
+
+ b.Property("PersonnelCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("RewardPay")
+ .HasColumnType("float");
+
+ b.Property("RotatingShiftValue")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("SalaryAidDeduction")
+ .HasColumnType("float");
+
+ b.Property("ShiftPay")
+ .HasColumnType("float");
+
+ b.Property("Signature")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("SumOfWorkingDays")
+ .HasMaxLength(6)
+ .HasColumnType("nvarchar(6)");
+
+ b.Property("TaxDeducation")
+ .HasColumnType("float");
+
+ b.Property("TotalClaims")
+ .HasMaxLength(25)
+ .HasColumnType("nvarchar(25)");
+
+ b.Property("TotalDayOfBunosesCompute")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("TotalDayOfLeaveCompute")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("TotalDayOfYearsCompute")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("TotalDeductions")
+ .HasMaxLength(25)
+ .HasColumnType("nvarchar(25)");
+
+ b.Property("TotalPayment")
+ .HasColumnType("float");
+
+ b.Property("WorkingHoursId")
+ .HasColumnType("bigint");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.Property("WorkshopName")
+ .HasMaxLength(70)
+ .HasColumnType("nvarchar(70)");
+
+ b.Property("Year")
+ .HasMaxLength(4)
+ .HasColumnType("nvarchar(4)");
+
+ b.Property("YearsPay")
+ .HasColumnType("float");
+
+ b.HasKey("id");
+
+ b.HasIndex("WorkshopId");
+
+ b.ToTable("Checkouts", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationEmployee", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ClassificationGroupId")
+ .HasColumnType("bigint");
+
+ b.Property("ClassificationGroupJobId")
+ .HasColumnType("bigint");
+
+ b.Property("ClassificationSchemeId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("EmployeeId")
+ .HasColumnType("bigint");
+
+ b.Property("EndGroupDate")
+ .HasColumnType("datetime2");
+
+ b.Property("StartGroupDate")
+ .HasColumnType("datetime2");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("ClassificationGroupId");
+
+ b.ToTable("ClassificationEmployee", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationGroup", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ClassificationSchemeId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("GroupNo")
+ .HasMaxLength(2)
+ .HasColumnType("nvarchar(2)");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("ClassificationSchemeId");
+
+ b.ToTable("ClassificationGroups", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationGroupJob", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ClassificationGroupId")
+ .HasColumnType("bigint");
+
+ b.Property("GroupNo")
+ .HasMaxLength(2)
+ .HasColumnType("nvarchar(2)");
+
+ b.Property("JobCode")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("JobId")
+ .HasColumnType("bigint");
+
+ b.Property("JobName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.HasKey("id");
+
+ b.HasIndex("ClassificationGroupId");
+
+ b.ToTable("ClassificationGroupJobs", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationGroupSalary", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ClassificationGroupId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("EndDate")
+ .HasColumnType("datetime2");
+
+ b.Property("GroupNo")
+ .HasMaxLength(2)
+ .HasColumnType("nvarchar(2)");
+
+ b.Property("GroupSalary")
+ .HasColumnType("float");
+
+ b.Property("StartDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Year")
+ .HasColumnType("int");
+
+ b.HasKey("id");
+
+ b.HasIndex("ClassificationGroupId");
+
+ b.ToTable("ClassificationGroupSalaries", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationRialCoefficient", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ClassificationSchemeId")
+ .HasColumnType("bigint");
+
+ b.Property("EndDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RialCoefficient")
+ .HasColumnType("float");
+
+ b.Property("StartDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Year")
+ .HasColumnType("int");
+
+ b.HasKey("id");
+
+ b.HasIndex("ClassificationSchemeId");
+
+ b.ToTable("ClassificationRialCoefficients", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassificationSchemeAgg.ClassificationScheme", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DesignerFullName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("DesignerPhone")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("EndSchemeDateGr")
+ .HasColumnType("datetime2");
+
+ b.Property("ExecutionDateGr")
+ .HasColumnType("datetime2");
+
+ b.Property("IncludingDateGr")
+ .HasColumnType("datetime2");
+
+ b.Property("TypeOfCoefficient")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.ToTable("ClassificationSchemes", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClassifiedSalaryAgg.ClassifiedSalary", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("EndDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Group1")
+ .HasColumnType("float");
+
+ b.Property("Group10")
+ .HasColumnType("float");
+
+ b.Property("Group11")
+ .HasColumnType("float");
+
+ b.Property("Group12")
+ .HasColumnType("float");
+
+ b.Property("Group13")
+ .HasColumnType("float");
+
+ b.Property("Group14")
+ .HasColumnType("float");
+
+ b.Property("Group15")
+ .HasColumnType("float");
+
+ b.Property("Group16")
+ .HasColumnType("float");
+
+ b.Property("Group17")
+ .HasColumnType("float");
+
+ b.Property("Group18")
+ .HasColumnType("float");
+
+ b.Property("Group19")
+ .HasColumnType("float");
+
+ b.Property("Group2")
+ .HasColumnType("float");
+
+ b.Property("Group20")
+ .HasColumnType("float");
+
+ b.Property("Group3")
+ .HasColumnType("float");
+
+ b.Property("Group4")
+ .HasColumnType("float");
+
+ b.Property("Group5")
+ .HasColumnType("float");
+
+ b.Property("Group6")
+ .HasColumnType("float");
+
+ b.Property("Group7")
+ .HasColumnType("float");
+
+ b.Property("Group8")
+ .HasColumnType("float");
+
+ b.Property("Group9")
+ .HasColumnType("float");
+
+ b.Property("StartDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Year")
+ .HasColumnType("int");
+
+ b.HasKey("id");
+
+ b.ToTable("ClassifiedSalaries", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b =>
+ {
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.Property("EmployeeId")
+ .HasColumnType("bigint");
+
+ b.HasKey("WorkshopId", "EmployeeId");
+
+ b.HasIndex("EmployeeId");
+
+ b.ToTable("ClientWorkshopEmployee", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.Contact2Agg.EntityContact", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActiveString")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("NameContact")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Signature")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("id");
+
+ b.ToTable("TextManager_Contact", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ContactUsAgg.ContactUs", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Email")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("FirstName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("FullName")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("LastName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Message")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("PhoneNumber")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("Title")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.HasKey("id");
+
+ b.ToTable("ContactUs");
+ });
+
+ modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Address")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("AgentPhone")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ArchiveCode")
+ .HasColumnType("int");
+
+ b.Property("BlockTimes")
+ .HasColumnType("int");
+
+ b.Property("City")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DateOfBirth")
+ .HasColumnType("datetime2");
+
+ b.Property("FName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("FatherName")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("Gender")
+ .IsRequired()
+ .HasMaxLength(6)
+ .HasColumnType("nvarchar(6)");
+
+ b.Property("IdNumber")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("IdNumberSeri")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("IdNumberSerial")
+ .HasMaxLength(15)
+ .HasColumnType("nvarchar(15)");
+
+ b.Property("IsActiveString")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("IsAuthenticated")
+ .HasColumnType("bit");
+
+ b.Property("IsBlock")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("IsLegal")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("LName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("NationalId")
+ .IsRequired()
+ .HasMaxLength(15)
+ .HasColumnType("nvarchar(15)");
+
+ b.Property("Nationalcode")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("Phone")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("RegisterId")
+ .IsRequired()
+ .HasMaxLength(15)
+ .HasColumnType("nvarchar(15)");
+
+ b.Property("RepresentativeFullName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("RepresentativeId")
+ .HasColumnType("bigint");
+
+ b.Property("State")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("SureName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Zone")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.HasIndex("RepresentativeId");
+
+ b.ToTable("PersonalContractingParties", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b =>
+ {
+ b.Property