diff --git a/Company.Domain/ContractAgg/Contract.cs b/Company.Domain/ContractAgg/Contract.cs
index 92d1c585..5ad80d1f 100644
--- a/Company.Domain/ContractAgg/Contract.cs
+++ b/Company.Domain/ContractAgg/Contract.cs
@@ -17,7 +17,7 @@ public class Contract : EntityBase
public Contract(long personnelCode, long employeeId, long employerId,
long workshopIds, long yearlySalaryId, DateTime contarctStart, DateTime contractEnd, string dayliWage,
string archiveCode, DateTime getWorkDate, DateTime setContractDate, string jobType,
- string contractType, string workshopAddress1, string workshopAddress2, string consumableItems, long jobTypeId, string housingAllowance, string agreementSalary, string workingHoursWeekly, string familyAllowance, string contractPeriod, double dailySalaryAffected, double baseYearAffected, double dailySalaryUnAffected, double baseYearUnAffected, bool hasManualDailyWage)
+ string contractType, string workshopAddress1, string workshopAddress2, string consumableItems, long jobTypeId, string housingAllowance, string agreementSalary, string workingHoursWeekly, string familyAllowance, string contractPeriod, double dailySalaryAffected, double baseYearAffected, double dailySalaryUnAffected, double baseYearUnAffected, bool hasManualDailyWage, string dailyWageType)
{
PersonnelCode = personnelCode;
EmployeeId = employeeId;
@@ -53,6 +53,8 @@ public class Contract : EntityBase
DailySalaryUnAffected = dailySalaryUnAffected;
BaseYearUnAffected = baseYearUnAffected;
HasManualDailyWage = hasManualDailyWage;
+ DailyWageType = dailyWageType;
+
#endregion
@@ -107,6 +109,10 @@ public class Contract : EntityBase
///
public bool HasManualDailyWage { get; set; }
+ ///
+ /// نوع دستمزد انتخاب شده
+ ///
+ public string DailyWageType { get; set; }
public string IsActiveString { get; private set; }
public string ArchiveCode { get; private set; }
@@ -131,6 +137,7 @@ public class Contract : EntityBase
public Contract()
{
+
WorkingHoursList = new List();
}
public void Edit(long pesrsonnelCode, long employeeId, long employerId, long workshopId, long yearlySalaryId,
diff --git a/Company.Domain/ContractAgg/IContractRepository.cs b/Company.Domain/ContractAgg/IContractRepository.cs
index 132d0348..3d6ea269 100644
--- a/Company.Domain/ContractAgg/IContractRepository.cs
+++ b/Company.Domain/ContractAgg/IContractRepository.cs
@@ -18,6 +18,16 @@ public interface IContractRepository : IRepository
///
///
Task GetManualDailWage(long workshopId, long employeeId, long yearlySalaryId, DateTime contractStart);
+
+ ///
+ /// دریافت لیست مزد ارتقاء یافته
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task GetManualDailWageList(long workshopId, long employeeId,
+ DateTime contractStart);
EditContract GetDetails(long id);
EditContract GetContractByStartEnd(DateTime start, DateTime end, long workshopId, long employeeId);
diff --git a/Company.Domain/YearlySalaryAgg/IYearlySalaryRepository.cs b/Company.Domain/YearlySalaryAgg/IYearlySalaryRepository.cs
index 6a89a33d..7c2c71e1 100644
--- a/Company.Domain/YearlySalaryAgg/IYearlySalaryRepository.cs
+++ b/Company.Domain/YearlySalaryAgg/IYearlySalaryRepository.cs
@@ -6,6 +6,7 @@ using CompanyManagment.App.Contracts.YearlySalary;
using System.Threading.Tasks;
using CompanyManagment.App.Contracts.Checkout;
using CompanyManagment.App.Contracts.Holiday;
+using CompanyManagment.App.Contracts.Contract;
namespace Company.Domain.YearlySalaryAgg;
@@ -38,7 +39,7 @@ public interface IYearlySalaryRepository : IRepository
///
///
///
- Task UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart,
+ Task UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart,
double lastContractManualDailyWage);
///
diff --git a/CompanyManagment.App.Contracts/Contract/ContractDailyWageAndBaseYearReport.cs b/CompanyManagment.App.Contracts/Contract/ContractDailyWageAndBaseYearReport.cs
new file mode 100644
index 00000000..69cd1dfc
--- /dev/null
+++ b/CompanyManagment.App.Contracts/Contract/ContractDailyWageAndBaseYearReport.cs
@@ -0,0 +1,70 @@
+using CompanyManagment.App.Contracts.YearlySalary;
+using System.Collections.Generic;
+
+namespace CompanyManagment.App.Contracts.Contract;
+///
+/// نمایش نحوه محاسبه پایه سنوات و دستمزد روزانه
+///
+public class ContractDailyWageAndBaseYearReport
+{
+ ///
+ /// لیست داده های محاسبه پایه سنوات
+ ///
+ public BaseYearDataViewModel BaseYearDataViewModel { get; set; }
+
+ ///
+ /// پایه سنوات متاثر از ساعت کار
+ ///
+ public string BaseYearAffected { get; set; }
+
+ ///
+ /// دستمزد روزانه متاثر از ساعت کار
+ ///
+ public string DailySalaryAffected { get; set; }
+
+ ///
+ /// دستمزد روزانه بدون تاثیر ساعت کار
+ ///
+ public string DailySalaryUnAffected { get; set; }
+
+ ///
+ /// دستمزد روزانه تجمیعی
+ ///
+ public string DailyWage { get; set; }
+
+ ///
+ /// تاریخ قراداد
+ ///
+ public string ContractDate { get; set; }
+
+
+ ///
+ /// نوع دستمزد انتخاب شده
+ ///
+ public string DailyWageType { get; set; }
+
+ ///
+ /// لیست ارتقاء
+ ///
+ public List UpgradeManualDailyWageLists { get; set; }
+
+ ///
+ /// نام پرسنل
+ ///
+ public string EmployeeName { get; set; }
+
+ ///
+ /// نام کارگاه
+ ///
+ public string WorkshopName { get; set; }
+
+ ///
+ /// آیا با متد جدید محاسبه شده
+ ///
+ public bool OldComputeMethod { get; set; }
+
+ ///
+ /// آیا محاسبات با مقادیر ذخیره شده مغایرت دارد
+ ///
+ public bool Contradiction { get; set; }
+}
\ No newline at end of file
diff --git a/CompanyManagment.App.Contracts/Contract/CreateContract.cs b/CompanyManagment.App.Contracts/Contract/CreateContract.cs
index 1db4d264..728ddd55 100644
--- a/CompanyManagment.App.Contracts/Contract/CreateContract.cs
+++ b/CompanyManagment.App.Contracts/Contract/CreateContract.cs
@@ -165,6 +165,11 @@ public class CreateContract
/// آیا دستمزد روزانه دستی وارد شده است؟
///
public bool HasManualDailyWage { get; set; }
+
+ ///
+ /// نوع دستمزد انتخاب شده
+ ///
+ public string DailyWageType { get; set; }
public List Contracts { get; set; }
public List Workshops { get; set; }
public List Employers { get; set; }
diff --git a/CompanyManagment.App.Contracts/Contract/UpgradeManualDailyWageModel.cs b/CompanyManagment.App.Contracts/Contract/UpgradeManualDailyWageModel.cs
new file mode 100644
index 00000000..3a3958da
--- /dev/null
+++ b/CompanyManagment.App.Contracts/Contract/UpgradeManualDailyWageModel.cs
@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+
+namespace CompanyManagment.App.Contracts.Contract;
+
+///
+/// ویو مدل رتقاء دستمزد روزانه و لیست ارتقاء
+///
+public class UpgradeManualDailyWageModel
+{
+ ///
+ /// دستمزد روزانه
+ ///
+ public double DailyWage{ get; set; }
+
+
+ ///
+ /// لیست ارتقاء
+ ///
+ public List UpgradeManualDailyWageLists { get; set; }
+}
+
+///
+/// لیست ارتقاء
+///
+public class UpgradeManualDailyWageList
+{
+ ///
+ /// تاریخ شروع و پایان بازه ارتقاء
+ ///
+ public string StartEndDate { get; set; }
+
+ ///
+ /// دستمزد روزانه
+ ///
+ public string DailyWage { get; set; }
+}
\ No newline at end of file
diff --git a/CompanyManagment.App.Contracts/Workshop/createContractModel.cs b/CompanyManagment.App.Contracts/Workshop/createContractModel.cs
index 1a8eb7d2..678af61e 100644
--- a/CompanyManagment.App.Contracts/Workshop/createContractModel.cs
+++ b/CompanyManagment.App.Contracts/Workshop/createContractModel.cs
@@ -75,4 +75,9 @@ public class createContractModel
///
public bool HasManualDailyWage { get; set; }
+ ///
+ /// نوع دستمزد انتخاب شده
+ ///
+ public string DailyWageType { get; set; }
+
}
\ No newline at end of file
diff --git a/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs b/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
index 76e749ee..058e3dc2 100644
--- a/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
+++ b/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
@@ -24,6 +24,11 @@ public class BaseYearDataViewModel
///
public double BaseYearResult { get; set; }
+ ///
+ /// اولین روز شروع بکار
+ ///
+ public string FirstWorkDayInLeftWork { get; set; }
+
///
/// لیست تمام پایه سنوات های محاسبه شده
///
@@ -64,4 +69,29 @@ public class BaseYearDataList
/// سالی که در آن پایه سنوات تعلق گرفته
///
public string Year { get; set; }
+
+ ///
+ ///روزی که پایه سنوات تعلق گرفته
+ ///یا شروع بکار. ترک کار
+ /// شمسی
+ ///
+ public string BaseYearPayDay { get; set; }
+
+ ///
+ /// روزی که پایه سنوات تعلق گرفته
+ ///یا شروع بکار. ترک کار
+ /// میلادی
+ ///
+ public DateTime BaseYearPayDayGr { get; set; }
+
+
+
+ ///
+ /// آیا تاریخ شروع بکار دارد
+ ///
+ public bool HasStartWork { get; set; }
+ ///
+ /// آیا تاریخ پایان کار دارد
+ ///
+ public bool HasLeftWork { get; set; }
}
\ No newline at end of file
diff --git a/CompanyManagment.App.Contracts/YearlySalary/IYearlySalaryApplication.cs b/CompanyManagment.App.Contracts/YearlySalary/IYearlySalaryApplication.cs
index cd4331bb..1ed7d4c5 100644
--- a/CompanyManagment.App.Contracts/YearlySalary/IYearlySalaryApplication.cs
+++ b/CompanyManagment.App.Contracts/YearlySalary/IYearlySalaryApplication.cs
@@ -2,7 +2,9 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Application;
+using CompanyManagment.App.Contracts.Contract;
using CompanyManagment.App.Contracts.Holiday;
+using CompanyManagment.App.Contracts.LeftWork;
namespace CompanyManagment.App.Contracts.YearlySalary;
@@ -15,6 +17,26 @@ public interface IYearlySalaryApplication
EditYearlySalary GetDetails(long id);
List GetYearlySalary();
+ ///
+ /// متد ارتقاء مزد دلخواه
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart,
+ double lastContractManualDailyWage);
+
+ ///
+ /// متد محاسبه پایه سنوات و لیست پایه سنوات های پرسنل
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task BaseYearComputeByContractId(long contractId);
///
/// دریافت مزد روزانه بر اساس تاریخ شروع و پایان
///
diff --git a/CompanyManagment.Application/ContractApplication.cs b/CompanyManagment.Application/ContractApplication.cs
index bca7cf32..085616ea 100644
--- a/CompanyManagment.Application/ContractApplication.cs
+++ b/CompanyManagment.Application/ContractApplication.cs
@@ -149,7 +149,7 @@ public class ContractApplication : IContractApplication
command.JobType, command.ContractType, command.WorkshopAddress1, command.WorkshopAddress2,
command.ConsumableItems, command.JobTypeId, command.HousingAllowance, command.AgreementSalary,
command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod,command.DailySalaryAffected,
- command.BaseYearAffected, command.DailySalaryUnAffected,command.BaseYearUnAffected, command.HasManualDailyWage);
+ command.BaseYearAffected, command.DailySalaryUnAffected,command.BaseYearUnAffected, command.HasManualDailyWage, command.DailyWageType);
_contractRepository.Create(makeContract);
_contractRepository.SaveChanges();
@@ -365,7 +365,7 @@ public class ContractApplication : IContractApplication
command.JobName, command.ContractType, command.WorkshopAddress1, command.WorkshopAddress2,
command.ConsumableItems, command.JobId, command.HousingAllowance, "0", command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod,
command.DailySalaryAffected,
- command.BaseYearAffected, command.DailySalaryUnAffected, command.BaseYearUnAffected, command.HasManualDailyWage);
+ command.BaseYearAffected, command.DailySalaryUnAffected, command.BaseYearUnAffected, command.HasManualDailyWage, command.DailyWageType);
_contractRepository.Create(makeContract);
_contractRepository.SaveChanges();
diff --git a/CompanyManagment.Application/YearlySalaryApplication.cs b/CompanyManagment.Application/YearlySalaryApplication.cs
index 4e9b4522..82a5198a 100644
--- a/CompanyManagment.Application/YearlySalaryApplication.cs
+++ b/CompanyManagment.Application/YearlySalaryApplication.cs
@@ -1,12 +1,17 @@
using System;
using System.Collections.Generic;
using System.Globalization;
+using System.Linq;
using System.Threading.Tasks;
using _0_Framework.Application;
using Company.Domain.YearlySalaryAgg;
+using CompanyManagment.App.Contracts.Contract;
using CompanyManagment.App.Contracts.Holiday;
+using CompanyManagment.App.Contracts.LeftWork;
using CompanyManagment.App.Contracts.YearlySalary;
using CompanyManagment.EFCore;
+using Microsoft.EntityFrameworkCore;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
namespace CompanyManagment.Application;
@@ -128,6 +133,36 @@ public class YearlySalaryApplication : IYearlySalaryApplication
return _yearlySalaryRepository.GetYearlySalary();
}
+ public Task UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart, double lastContractManualDailyWage)
+ {
+ return _yearlySalaryRepository.UpgradeManualDailyWage(newContractStart, lastContractStart,
+ lastContractManualDailyWage);
+ }
+
+ public async Task BaseYearComputeByContractId(long contractId)
+ {
+ var contract = await _context.Contracts.FirstOrDefaultAsync(x => x.id == contractId);
+
+ var leftWorkList = await _context.LeftWorkList.Where(x=>x.EmployeeId ==contract.EmployeeId && x.WorkshopId == contract.WorkshopIds).Select(x => new LeftWorkViewModel()
+ {
+ Id = x.id,
+ LeftWorkDate = x.LeftWorkDate.ToFarsi(),
+ StartWorkDate = x.StartWorkDate.ToFarsi(),
+ LeftWorkDateGr = x.LeftWorkDate,
+ StartWorkDateGr = x.StartWorkDate,
+ WorkshopId = x.WorkshopId,
+ EmployeeId = x.EmployeeId,
+ HasLeft = x.HasLeft,
+ }).ToListAsync();
+
+ var baseYearResult = await _yearlySalaryRepository.BaseYearCompute(contract.ContarctStart, contract.ContractEnd,
+ contract.EmployeeId, contract.WorkshopIds, leftWorkList);
+
+ return baseYearResult;
+
+ }
+
+
public async Task<(double dailyWage, long yearlySalaryId)> GetDailyWageByStartEnd(DateTime start, DateTime end)
{
return await _yearlySalaryRepository.GetDailyWageByStartEnd(start, end);
diff --git a/CompanyManagment.EFCore/Mapping/ContractMapping.cs b/CompanyManagment.EFCore/Mapping/ContractMapping.cs
index 8ab37bbe..f8185968 100644
--- a/CompanyManagment.EFCore/Mapping/ContractMapping.cs
+++ b/CompanyManagment.EFCore/Mapping/ContractMapping.cs
@@ -26,7 +26,8 @@ public class ContractMapping : IEntityTypeConfiguration
builder.Property(x => x.ContractPeriod).HasMaxLength(2).IsRequired(false);
builder.Property(x => x.AgreementSalary).HasMaxLength(50).IsRequired(false);
builder.Property(x => x.Signature).HasMaxLength(1).IsRequired(false);
-
+ builder.Property(x=>x.DailyWageType).HasMaxLength(30).IsRequired(false);
+
diff --git a/CompanyManagment.EFCore/Migrations/20250827230053_DailyWageTypeoContract.Designer.cs b/CompanyManagment.EFCore/Migrations/20250827230053_DailyWageTypeoContract.Designer.cs
new file mode 100644
index 00000000..e52d78cd
--- /dev/null
+++ b/CompanyManagment.EFCore/Migrations/20250827230053_DailyWageTypeoContract.Designer.cs
@@ -0,0 +1,10231 @@
+//
+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("20250827230053_DailyWageTypeoContract")]
+ partial class DailyWageTypeoContract
+ {
+ ///
+ 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("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.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("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AgreementSalary")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ArchiveCode")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("BaseYearAffected")
+ .HasColumnType("float");
+
+ b.Property("BaseYearUnAffected")
+ .HasColumnType("float");
+
+ b.Property("ConsumableItems")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ContarctStart")
+ .HasColumnType("datetime2");
+
+ b.Property("ContractEnd")
+ .HasColumnType("datetime2");
+
+ b.Property("ContractNo")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("ContractPeriod")
+ .HasMaxLength(2)
+ .HasColumnType("nvarchar(2)");
+
+ b.Property("ContractType")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DailySalaryAffected")
+ .HasColumnType("float");
+
+ b.Property("DailySalaryUnAffected")
+ .HasColumnType("float");
+
+ b.Property("DailyWageType")
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("DayliWage")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("EmployeeId")
+ .HasColumnType("bigint");
+
+ b.Property("EmployerId")
+ .HasColumnType("bigint");
+
+ b.Property("FamilyAllowance")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("GetWorkDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HasManualDailyWage")
+ .HasColumnType("bit");
+
+ b.Property("HousingAllowance")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsActiveString")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("JobType")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("JobTypeId")
+ .HasColumnType("bigint");
+
+ b.Property("MandatoryHoursid")
+ .HasColumnType("bigint");
+
+ b.Property("PersonnelCode")
+ .HasColumnType("bigint");
+
+ b.Property("SetContractDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Signature")
+ .HasMaxLength(1)
+ .HasColumnType("nvarchar(1)");
+
+ b.Property("WorkingHoursWeekly")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("WorkshopAddress1")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("WorkshopAddress2")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("WorkshopIds")
+ .HasColumnType("bigint");
+
+ b.Property("YearlySalaryId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("EmployeeId");
+
+ b.HasIndex("EmployerId");
+
+ b.HasIndex("JobTypeId");
+
+ b.HasIndex("MandatoryHoursid");
+
+ b.HasIndex("WorkshopIds");
+
+ b.HasIndex("YearlySalaryId");
+
+ b.ToTable("Contracts", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b =>
+ {
+ b.Property("PersonalContractingPartyId")
+ .HasColumnType("bigint");
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.HasKey("PersonalContractingPartyId", "AccountId");
+
+ b.ToTable("ContractingPartyAccount", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.ContractingPartyBankAccountsAgg.ContractingPartyBankAccount", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountHolderName")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("AccountNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CardNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ContractingPartyId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IBan")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsAuth")
+ .HasColumnType("bit");
+
+ b.HasKey("id");
+
+ b.HasIndex("ContractingPartyId");
+
+ b.ToTable("ContractingPartyBankAccounts", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("CrossJobGuildId")
+ .HasColumnType("bigint");
+
+ b.Property("EquivalentRialOver")
+ .HasColumnType("bigint");
+
+ b.Property("EquivalentRialUnder")
+ .HasColumnType("bigint");
+
+ b.Property("SalaryRatioOver")
+ .HasColumnType("float");
+
+ b.Property("SalaryRatioUnder")
+ .HasColumnType("float");
+
+ b.HasKey("id");
+
+ b.HasIndex("CrossJobGuildId");
+
+ b.ToTable("CrossJobs", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("EconomicCode")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property