diff --git a/0_Framework/Application/Enums/TypeOfCheckoutWarning.cs b/0_Framework/Application/Enums/TypeOfCheckoutWarning.cs
new file mode 100644
index 00000000..45c82a53
--- /dev/null
+++ b/0_Framework/Application/Enums/TypeOfCheckoutWarning.cs
@@ -0,0 +1,15 @@
+namespace _0_Framework.Application.Enums;
+
+public enum TypeOfCheckoutWarning
+{
+ ///
+ /// هشدار های متفرقه
+ ///
+ OthersWarning,
+ ///
+ /// هشدار سهم بیمه کارگر
+ ///
+ InsuranceEmployeeShare,
+
+
+}
\ No newline at end of file
diff --git a/Company.Domain/CheckoutAgg/Checkout.cs b/Company.Domain/CheckoutAgg/Checkout.cs
index c0f81d4e..eece536d 100644
--- a/Company.Domain/CheckoutAgg/Checkout.cs
+++ b/Company.Domain/CheckoutAgg/Checkout.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
+using System.Security.AccessControl;
using _0_Framework.Application;
using _0_Framework.Domain;
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
@@ -18,19 +19,19 @@ public class Checkout : EntityBase
public Checkout(string employeeFullName, string fathersName, string nationalCode, string dateOfBirth,
long employeeId, string workshopName, long workshopId, string contractNo, DateTime contractStart,
- DateTime contractEnd, string month, string year, long contractId, long workingHoursId,
+ DateTime contractEnd, string month, string year, long contractId, long workingHoursId,
double monthlySalary, double baseYearsPay, double consumableItems, double housingAllowance,
double overtimePay, double nightworkPay, double fridayPay, double missionPay, double shiftPay,
double familyAllowance, double bonusesPay, double yearsPay, double leavePay,
double insuranceDeduction, double taxDeducation, double installmentDeduction,
double salaryAidDeduction, double absenceDeduction, string sumOfWorkingDays
- , string archiveCode, string personnelCode,
+ , string archiveCode, string personnelCode,
string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout,
double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall, string overTimeWorkvalue,
string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue,
string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute,
ICollection loanInstallments,
- ICollection salaryAids,CheckoutRollCall checkoutRollCall,TimeSpan employeeMandatoryHours, bool hasInsuranceShareTheSameAsList)
+ ICollection salaryAids, CheckoutRollCall checkoutRollCall, TimeSpan employeeMandatoryHours, bool hasInsuranceShareTheSameAsList)
{
EmployeeFullName = employeeFullName;
FathersName = fathersName;
@@ -100,7 +101,7 @@ public class Checkout : EntityBase
public string Signature { get; private set; }
public string FathersName { get; private set; }
public string NationalCode { get; private set; }
- public string DateOfBirth { get; private set; }
+ public string DateOfBirth { get; private set; }
public long EmployeeId { get; private set; }
public string WorkshopName { get; private set; }
@@ -136,7 +137,7 @@ public class Checkout : EntityBase
public double SalaryAidDeduction { get; private set; }
public double AbsenceDeduction { get; private set; }
-
+
public string SumOfWorkingDays { get; private set; }
public string ArchiveCode { get; private set; }
public string PersonnelCode { get; private set; }
@@ -158,63 +159,70 @@ public class Checkout : EntityBase
//میانگین ساعت کار در یک روز
public double AverageHoursPerDay { get; private set; }
public bool HasRollCall { get; private set; }
- ///
- /// مقدار اضافه کار
- ///
+ ///
+ /// مقدار اضافه کار
+ ///
public string OverTimeWorkValue { get; private set; }
-
- ///
- /// مقدار شبکاری
- ///
+
+ ///
+ /// مقدار شبکاری
+ ///
public string OverNightWorkValue { get; private set; }
-
- ///
- /// مقدار جمعه کاری
- ///
- public string FridayWorkValue { get; private set; }
-
- ///
- /// درصد نوبت کاری
- ///
- public string RotatingShiftValue { get; private set; }
-
- ///
+
+ ///
+ /// مقدار جمعه کاری
+ ///
+ public string FridayWorkValue { get; private set; }
+
+ ///
+ /// درصد نوبت کاری
+ ///
+ public string RotatingShiftValue { get; private set; }
+
+ ///
/// مقدار غیبت
///
- public string AbsenceValue { get; private set; }
+ public string AbsenceValue { get; private set; }
- ///
- /// تعداد روزهای محاسبه شده برای مزد مرخصی
- ///
- public string TotalDayOfLeaveCompute { get; private set; }
- ///
- /// تعداد روزهای محاسبه شده برای سنوات
- ///
- public string TotalDayOfYearsCompute { get; private set; }
- ///
- /// تعداد روزهای محاسبه شده برای عیدی و پاداش
- ///
- public string TotalDayOfBunosesCompute { get; private set; }
+ ///
+ /// تعداد روزهای محاسبه شده برای مزد مرخصی
+ ///
+ public string TotalDayOfLeaveCompute { get; private set; }
+ ///
+ /// تعداد روزهای محاسبه شده برای سنوات
+ ///
+ public string TotalDayOfYearsCompute { get; private set; }
+ ///
+ /// تعداد روزهای محاسبه شده برای عیدی و پاداش
+ ///
+ public string TotalDayOfBunosesCompute { get; private set; }
- ///
- /// دارای تداخل مبلغ است. این در زمانی اتفاق می افتد که فیش مبلغ آن تغییر کرده ولی به دلیل مسائل قانونی امکان صدور دوباره آن وجود ندارد
- ///
- public bool HasAmountConflict { get; private set; }
+ ///
+ /// دارای تداخل مبلغ است. این در زمانی اتفاق می افتد که فیش مبلغ آن تغییر کرده ولی به دلیل مسائل قانونی امکان صدور دوباره آن وجود ندارد
+ ///
+ public bool HasAmountConflict { get; private set; }
- ///
- /// ساعت موظفی پرسنل در ماه
- ///
+ ///
+ /// ساعت موظفی پرسنل در ماه
+ ///
public TimeSpan EmployeeMandatoryHours { get; set; }
- ///
- /// آیا حق بیمه مشابه لیست بیمه حساب شده؟
- ///
+ ///
+ /// آیا حق بیمه مشابه لیست بیمه حساب شده؟
+ ///
public bool HasInsuranceShareTheSameAsList { get; private set; }
-
- #region valueObjects
- public ICollection LoanInstallments { get; set; } = [];
- public ICollection SalaryAids { get; set; } = [];
+ ///
+ /// آیا فیش نیاز به بروزرسانی دارد
+ ///
+ public bool IsUpdateNeeded { get; private set; }
+
+ public List CheckoutWarningMessageList { get; set; }
+
+ #region valueObjects
+
+ public ICollection LoanInstallments { get; set; } = [];
+ public ICollection SalaryAids { get; set; } = [];
public CheckoutRollCall CheckoutRollCall { get; private set; }
#endregion
@@ -283,7 +291,7 @@ public class Checkout : EntityBase
var year = contarctStart.ToFarsiYear();
var sumYear = year.Substring(Math.Max(0, year.Length - 2));
-
+
ContractNo = archiveCode + "/" + personnelCode + "/" + sumYear + "/" + month;
}
public void Active()
@@ -318,7 +326,7 @@ public class Checkout : EntityBase
}
- public void SetSalaryAid(ICollection salaryAids,double salaryAidAmount)
+ public void SetSalaryAid(ICollection salaryAids, double salaryAidAmount)
{
SalaryAids = salaryAids;
SalaryAidDeduction = salaryAidAmount;
@@ -336,7 +344,7 @@ public class Checkout : EntityBase
public void SetAmountConflict(bool hasAmountConflict)
{
- HasAmountConflict = hasAmountConflict;
+ HasAmountConflict = hasAmountConflict;
}
public void SetEmployeeMandatoryHours(TimeSpan employeeMandatoryHours)
@@ -348,23 +356,33 @@ public class Checkout : EntityBase
{
HasInsuranceShareTheSameAsList = true;
}
+
+ ///
+ /// نیاز به آپدیت
+ ///
+ public void SetUpdateNeeded()
+ {
+ IsUpdateNeeded = true;
+ }
+
+
}
public class CheckoutRollCall
{
- private CheckoutRollCall(){}
- public CheckoutRollCall(TimeSpan totalMandatoryTimeSpan, TimeSpan totalPresentTimeSpan, TimeSpan totalBreakTimeSpan,
- TimeSpan totalWorkingTimeSpan, TimeSpan totalPaidLeaveTmeSpan, TimeSpan totalSickLeaveTimeSpan,
- ICollection rollCallDaysCollection)
- {
- TotalMandatoryTimeSpan = totalMandatoryTimeSpan;
- TotalPresentTimeSpan = totalPresentTimeSpan;
- TotalBreakTimeSpan = totalBreakTimeSpan;
- TotalWorkingTimeSpan = totalWorkingTimeSpan;
- TotalPaidLeaveTmeSpan = totalPaidLeaveTmeSpan;
- TotalSickLeaveTimeSpan = totalSickLeaveTimeSpan;
- RollCallDaysCollection = rollCallDaysCollection;
- }
+ private CheckoutRollCall() { }
+ public CheckoutRollCall(TimeSpan totalMandatoryTimeSpan, TimeSpan totalPresentTimeSpan, TimeSpan totalBreakTimeSpan,
+ TimeSpan totalWorkingTimeSpan, TimeSpan totalPaidLeaveTmeSpan, TimeSpan totalSickLeaveTimeSpan,
+ ICollection rollCallDaysCollection)
+ {
+ TotalMandatoryTimeSpan = totalMandatoryTimeSpan;
+ TotalPresentTimeSpan = totalPresentTimeSpan;
+ TotalBreakTimeSpan = totalBreakTimeSpan;
+ TotalWorkingTimeSpan = totalWorkingTimeSpan;
+ TotalPaidLeaveTmeSpan = totalPaidLeaveTmeSpan;
+ TotalSickLeaveTimeSpan = totalSickLeaveTimeSpan;
+ RollCallDaysCollection = rollCallDaysCollection;
+ }
///
@@ -405,27 +423,27 @@ public class CheckoutRollCall
public class CheckoutRollCallDay
{
- private CheckoutRollCallDay(){}
- public CheckoutRollCallDay(DateTime date, string firstStartDate, string firstEndDate,
- string secondStartDate, string secondEndDate, TimeSpan breakTimeSpan,
- bool isSliced, TimeSpan workingTimeSpan, bool isAbsent, bool isFriday,
- bool isHoliday, string leaveType)
- {
- Date = date;
- FirstStartDate = firstStartDate;
- FirstEndDate = firstEndDate;
- SecondStartDate = secondStartDate;
- SecondEndDate = secondEndDate;
- BreakTimeSpan = breakTimeSpan;
- IsSliced = isSliced;
- WorkingTimeSpan = workingTimeSpan;
- IsAbsent = isAbsent;
- IsFriday = isFriday;
- IsHoliday = isHoliday;
- LeaveType = leaveType;
- }
+ private CheckoutRollCallDay() { }
+ public CheckoutRollCallDay(DateTime date, string firstStartDate, string firstEndDate,
+ string secondStartDate, string secondEndDate, TimeSpan breakTimeSpan,
+ bool isSliced, TimeSpan workingTimeSpan, bool isAbsent, bool isFriday,
+ bool isHoliday, string leaveType)
+ {
+ Date = date;
+ FirstStartDate = firstStartDate;
+ FirstEndDate = firstEndDate;
+ SecondStartDate = secondStartDate;
+ SecondEndDate = secondEndDate;
+ BreakTimeSpan = breakTimeSpan;
+ IsSliced = isSliced;
+ WorkingTimeSpan = workingTimeSpan;
+ IsAbsent = isAbsent;
+ IsFriday = isFriday;
+ IsHoliday = isHoliday;
+ LeaveType = leaveType;
+ }
- public long Id { get; set; }
+ public long Id { get; set; }
///
/// تاریخ
@@ -469,12 +487,12 @@ public class CheckoutRollCallDay
///
/// آیا غیبت است
///
- public bool IsAbsent { get; private set; }
+ public bool IsAbsent { get; private set; }
///
/// آیا جمعه است
///
- public bool IsFriday { get; private set; }
+ public bool IsFriday { get; private set; }
///
/// آیا تعطیل رسمی است
@@ -486,6 +504,6 @@ public class CheckoutRollCallDay
///
public string LeaveType { get; private set; }
- public long CheckoutId { get; set; }
+ public long CheckoutId { get; set; }
}
\ No newline at end of file
diff --git a/Company.Domain/CheckoutAgg/CheckoutWarningMessage.cs b/Company.Domain/CheckoutAgg/CheckoutWarningMessage.cs
new file mode 100644
index 00000000..167a9664
--- /dev/null
+++ b/Company.Domain/CheckoutAgg/CheckoutWarningMessage.cs
@@ -0,0 +1,32 @@
+using _0_Framework.Application.Enums;
+using _0_Framework.Domain;
+
+namespace Company.Domain.CheckoutAgg;
+
+public class CheckoutWarningMessage : EntityBaseWithoutCreationDate
+{
+ public CheckoutWarningMessage(string warningMessage, long checkoutId, TypeOfCheckoutWarning typeOfCheckoutWarning)
+ {
+ WarningMessage = warningMessage;
+ CheckoutId = checkoutId;
+ TypeOfCheckoutWarning = typeOfCheckoutWarning;
+ }
+
+ ///
+ /// پیام هشدار
+ ///
+ public string WarningMessage { get; private set; }
+
+
+ ///
+ /// آی دی فیش حقوقی
+ ///
+ public long CheckoutId { get; private set; }
+
+ ///
+ /// نوع هشدار فیش حقوقی
+ ///
+ public TypeOfCheckoutWarning TypeOfCheckoutWarning { get; private set; }
+
+ public Checkout Checkout { get; set; }
+}
\ No newline at end of file
diff --git a/Company.Domain/InsuranceListAgg/IInsuranceListRepository.cs b/Company.Domain/InsuranceListAgg/IInsuranceListRepository.cs
index 2e7fda1d..214df689 100644
--- a/Company.Domain/InsuranceListAgg/IInsuranceListRepository.cs
+++ b/Company.Domain/InsuranceListAgg/IInsuranceListRepository.cs
@@ -51,6 +51,14 @@ public interface IInsuranceListRepository:IRepository
List GetEmployeeInsuranceDataAmonthAgo(DateTime currentMonthStartDate, long workshopId);
#endregion
+ ///
+ /// دریافت اطلاعات بیمه کارکنان برای استفاده در فیش حقوقی
+ ///
+ ///
+ ///
+ ///
+ List EmployeeInsuranceDataBy(DateTime startDate, long workshopId);
+
///
/// بدست آوردن اطلاعات محاسباتی ماه پرسنل برای ویرایش
///
diff --git a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs
index 3777ab46..de3f9ebb 100644
--- a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs
+++ b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using _0_Framework.Application.Enums;
using CompanyManagment.App.Contracts.Employer;
using CompanyManagment.App.Contracts.Loan;
using CompanyManagment.App.Contracts.RollCall;
@@ -133,6 +134,15 @@ public class CheckoutViewModel
///
public string TotalPaidLeave { get; set; }
+ ///
+ /// آیا فیش نیاز به بروزرسانی دارد
+ ///
+ public bool IsUpdateNeeded { get; set; }
+
+ ///
+ /// لیست پیام های هشدار فیش حقوقی
+ ///
+ public List CheckoutWarningMessageList { get; set; }
public bool HasSignCheckout { get; set; }
diff --git a/CompanyManagment.App.Contracts/Checkout/CheckoutWarningMessageModel.cs b/CompanyManagment.App.Contracts/Checkout/CheckoutWarningMessageModel.cs
new file mode 100644
index 00000000..7640060b
--- /dev/null
+++ b/CompanyManagment.App.Contracts/Checkout/CheckoutWarningMessageModel.cs
@@ -0,0 +1,25 @@
+using _0_Framework.Application.Enums;
+
+namespace CompanyManagment.App.Contracts.Checkout;
+
+///
+/// مدل هشدار فیش حقوقی
+///
+public class CheckoutWarningMessageModel
+{
+ ///
+ /// پیام هشدار
+ ///
+ public string WarningMessage { get; set; }
+
+
+ ///
+ /// آی دی فیش حقوقی
+ ///
+ public long CheckoutId { get; set; }
+
+ ///
+ /// نوع هشدار فیش حقوقی
+ ///
+ public TypeOfCheckoutWarning TypeOfCheckoutWarning { get; set; }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/CompanyContext.cs b/CompanyManagment.EFCore/CompanyContext.cs
index bc09d18f..30a5d8d8 100644
--- a/CompanyManagment.EFCore/CompanyContext.cs
+++ b/CompanyManagment.EFCore/CompanyContext.cs
@@ -230,6 +230,8 @@ public class CompanyContext : DbContext
#endregion
+ public DbSet CheckoutWarningMessages { get; set; }
+
public DbSet CustomizeCheckouts { get; set; }
public DbSet CustomizeCheckoutTemps { get; set; }
public DbSet TaxLeftWorkItems { get; set; }
diff --git a/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs b/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs
index e367406f..2ee4df5d 100644
--- a/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs
+++ b/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs
@@ -50,12 +50,18 @@ class CheckoutMapping : IEntityTypeConfiguration
builder.Property(x => x.TotalDayOfLeaveCompute).HasMaxLength(10);
builder.Property(x => x.TotalDayOfYearsCompute).HasMaxLength(10);
builder.Property(x => x.TotalDayOfBunosesCompute).HasMaxLength(10);
+
builder.Property(x => x.EmployeeMandatoryHours).HasTimeSpanConversion();
builder.HasOne(x => x.Workshop)
.WithMany(x => x.Checkouts)
.HasForeignKey(x => x.WorkshopId);
+ builder.HasMany(x => x.CheckoutWarningMessageList)
+ .WithOne(x => x.Checkout)
+ .HasForeignKey(x => x.CheckoutId);
+
+
builder.OwnsMany(x => x.LoanInstallments, installments =>
{
installments.Property(x => x.AmountForMonth).HasMaxLength(25);
diff --git a/CompanyManagment.EFCore/Mapping/CheckoutWarningMessageMapping.cs b/CompanyManagment.EFCore/Mapping/CheckoutWarningMessageMapping.cs
new file mode 100644
index 00000000..987af13c
--- /dev/null
+++ b/CompanyManagment.EFCore/Mapping/CheckoutWarningMessageMapping.cs
@@ -0,0 +1,26 @@
+using System;
+using _0_Framework.Application.Enums;
+using Company.Domain.CheckoutAgg;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace CompanyManagment.EFCore.Mapping;
+
+public class CheckoutWarningMessageMapping : IEntityTypeConfiguration
+{
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.ToTable("CheckoutWarningMessage");
+ builder.HasKey(x => x.id);
+
+ builder.Property(x => x.WarningMessage).HasMaxLength(150);
+
+ builder.Property(x => x.TypeOfCheckoutWarning).HasConversion(
+ v => v.ToString(),
+ v => (TypeOfCheckoutWarning)Enum.Parse(typeof(TypeOfCheckoutWarning), v)).HasMaxLength(30);
+
+ builder.HasOne(x => x.Checkout)
+ .WithMany(x => x.CheckoutWarningMessageList)
+ .HasForeignKey(x => x.CheckoutId);
+ }
+}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Migrations/20251028121828_CheckoutWarningMessage.Designer.cs b/CompanyManagment.EFCore/Migrations/20251028121828_CheckoutWarningMessage.Designer.cs
new file mode 100644
index 00000000..538ff774
--- /dev/null
+++ b/CompanyManagment.EFCore/Migrations/20251028121828_CheckoutWarningMessage.Designer.cs
@@ -0,0 +1,11116 @@
+//
+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("20251028121828_CheckoutWarningMessage")]
+ partial class CheckoutWarningMessage
+ {
+ ///
+ 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.AuthorizedBankDetailsAgg.AuthorizedBankDetails", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BankName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("CardNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IBan")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.ToTable("AuthorizedBankDetails", (string)null);
+ });
+
+ modelBuilder.Entity("Company.Domain.AuthorizedPersonAgg.AuthorizedPerson", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("BirthDate")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DeathStatus")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("FatherName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Gender")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsVerified")
+ .HasColumnType("bit");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("NationalCode")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("ShenasnameSeri")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("ShenasnameSerial")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("ShenasnamehNumber")
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("VerificationDate")
+ .HasColumnType("datetime2");
+
+ b.HasKey("id");
+
+ b.HasIndex("NationalCode")
+ .IsUnique();
+
+ b.ToTable("AuthorizedPersons", (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("HasInsuranceShareTheSameAsList")
+ .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("IsUpdateNeeded")
+ .HasColumnType("bit");
+
+ 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.CheckoutAgg.CheckoutWarningMessage", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CheckoutId")
+ .HasColumnType("bigint");
+
+ b.Property("TypeOfCheckoutWarning")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("WarningMessage")
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.HasKey("id");
+
+ b.HasIndex("CheckoutId");
+
+ b.ToTable("CheckoutWarningMessage", (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("CeoFName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CeoLName")
+ .HasColumnType("nvarchar(max)");
+
+ 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("LegalPosition")
+ .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