299 lines
8.1 KiB
C#
299 lines
8.1 KiB
C#
using _0_Framework.Application;
|
|
using _0_Framework.Domain;
|
|
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
|
using Company.Domain.EmployeeAgg;
|
|
using Company.Domain.WorkshopAgg;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using Company.Domain.CustomizeCheckoutTempAgg.ValueObjects;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
|
|
|
|
|
namespace Company.Domain.CustomizeCheckoutTempAgg;
|
|
/// <summary>
|
|
/// تصفیه حساب دلخواه
|
|
/// </summary>
|
|
public class CustomizeCheckoutTemp : EntityBase
|
|
{
|
|
private CustomizeCheckoutTemp(TimeSpan lateToWorkValue)
|
|
{
|
|
LateToWorkValue = lateToWorkValue;
|
|
}
|
|
public CustomizeCheckoutTemp(DateTime contractStart, DateTime contractEnd, long employeeId, string employeeFName,
|
|
string employeeLName, DateTime employeeDateOfBirth,
|
|
string employeeNationalCode, string workshopFullName, long workshopId, long? contractId,
|
|
double monthlySalary, double fridayPay, double overTimePay, double baseYearsPay, double bonusesPay,
|
|
double nightWorkPay,
|
|
double marriedAllowance, double shiftPay, double familyAllowance, double leavePay, double insuranceDeduction,
|
|
double fineAbsenceDeduction,
|
|
double lateToWorkDeduction, double earlyExitDeduction, double rewardPay, double salaryAidDeduction,
|
|
double installmentDeduction,
|
|
double fineDeduction, double taxDeduction, string sumOfWorkingDays, string totalClaims, string totalDeductions,
|
|
double totalPayment, string contractNo,
|
|
ICollection<CustomizeCheckoutTempFine> checkoutFines,
|
|
ICollection<CustomizeCheckoutTempLoanInstallments> customizeCheckoutLoanInstallments,
|
|
ICollection<CustomizeCheckoutTempSalaryAid> customizeCheckoutSalaryAids,
|
|
ICollection<CustomizeCheckoutTempReward> customizeCheckoutRewards,
|
|
TimeSpan lateToWorkValue, double settingSalary, double dailyWage, WorkshopShiftStatus shiftStatus)
|
|
{
|
|
YearInt = Convert.ToInt32(contractStart.ToFarsi().Substring(0, 4));
|
|
MonthInt = Convert.ToInt32(contractStart.ToFarsi().Substring(5, 2));
|
|
ContractStart = contractStart;
|
|
ContractEnd = contractEnd;
|
|
EmployeeId = employeeId;
|
|
WorkshopId = workshopId;
|
|
MonthlySalary = monthlySalary;
|
|
FridayPay = fridayPay;
|
|
OverTimePay = overTimePay;
|
|
BaseYearsPay = baseYearsPay;
|
|
BonusesPay = bonusesPay;
|
|
NightWorkPay = nightWorkPay;
|
|
MarriedAllowance = marriedAllowance;
|
|
ShiftPay = shiftPay;
|
|
FamilyAllowance = familyAllowance;
|
|
LeavePay = leavePay;
|
|
InsuranceDeduction = insuranceDeduction;
|
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
|
LateToWorkDeduction = lateToWorkDeduction;
|
|
EarlyExitDeduction = earlyExitDeduction;
|
|
RewardPay = rewardPay;
|
|
SalaryAidDeduction = salaryAidDeduction;
|
|
InstallmentDeduction = installmentDeduction;
|
|
FineDeduction = fineDeduction;
|
|
TaxDeduction = taxDeduction;
|
|
SumOfWorkingDays = sumOfWorkingDays;
|
|
TotalClaims = totalClaims;
|
|
TotalDeductions = totalDeductions;
|
|
TotalPayment = totalPayment;
|
|
ContractId = contractId;
|
|
ContractNo = contractNo;
|
|
CheckoutFines = checkoutFines;
|
|
CustomizeCheckoutLoanInstallments = customizeCheckoutLoanInstallments;
|
|
CustomizeCheckoutSalaryAids = customizeCheckoutSalaryAids;
|
|
CustomizeCheckoutRewards = customizeCheckoutRewards;
|
|
EmployeeFName = employeeFName;
|
|
EmployeeLName = employeeLName;
|
|
DateOfBirth = employeeDateOfBirth;
|
|
NationalCode = employeeNationalCode;
|
|
WorkshopFullName = workshopFullName;
|
|
|
|
LateToWorkValue = lateToWorkValue;
|
|
SettingSalary = settingSalary;
|
|
DailyWage = dailyWage;
|
|
ShiftStatus = shiftStatus;
|
|
}
|
|
|
|
#region Getters
|
|
/// <summary>
|
|
/// سال به صورت استرینگ
|
|
/// </summary>
|
|
public string Year => $"{YearInt}";
|
|
/// <summary>
|
|
/// نام ماه شمسی
|
|
/// </summary>
|
|
public string Month => MonthInt.ToFarsiMonthByIntNumber();
|
|
public string EmployeeFullName => $"{EmployeeFName} {EmployeeLName}";
|
|
#endregion
|
|
|
|
#region Employee Info
|
|
|
|
public string EmployeeFName { get; private set; }
|
|
public string EmployeeLName { get; private set; }
|
|
public DateTime DateOfBirth { get; private set; }
|
|
public string NationalCode { get; private set; }
|
|
|
|
|
|
#endregion
|
|
|
|
public string WorkshopFullName { get; private set; }
|
|
|
|
#region valueObjects
|
|
|
|
public ICollection<CustomizeCheckoutTempFine> CheckoutFines { get; private set; }
|
|
public ICollection<CustomizeCheckoutTempLoanInstallments> CustomizeCheckoutLoanInstallments { get; set; }
|
|
public ICollection<CustomizeCheckoutTempSalaryAid> CustomizeCheckoutSalaryAids { get; set; }
|
|
public ICollection<CustomizeCheckoutTempReward> CustomizeCheckoutRewards { get; set; }
|
|
|
|
|
|
#endregion
|
|
|
|
#region DatabaseEntities
|
|
|
|
|
|
#region RelationProperties
|
|
public long EmployeeId { get; private set; }
|
|
public long WorkshopId { get; private set; }
|
|
public long? ContractId { get; private set; }
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
/// شماره قرارداد
|
|
/// </summary>
|
|
public string ContractNo { get; private set; }
|
|
/// <summary>
|
|
/// سال
|
|
/// </summary>
|
|
public int YearInt { get; private set; }
|
|
/// <summary>
|
|
/// ماه
|
|
/// </summary>
|
|
public int MonthInt { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حقوق ماهانه
|
|
/// </summary>
|
|
public double MonthlySalary { get; private set; }
|
|
|
|
/// <summary>
|
|
/// شروع تصفیه حساب
|
|
/// </summary>
|
|
public DateTime ContractStart { get; private set; }
|
|
|
|
/// <summary>
|
|
/// پایان تصفیه حساب
|
|
/// </summary>
|
|
public DateTime ContractEnd { get; private set; }
|
|
|
|
|
|
/// <summary>
|
|
/// جمعه کاری
|
|
/// </summary>
|
|
public double FridayPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// اضافه کاری
|
|
/// </summary>
|
|
public double OverTimePay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// سنوات
|
|
/// </summary>
|
|
public double BaseYearsPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// عیدی
|
|
/// </summary>
|
|
public double BonusesPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// شب کاری
|
|
/// </summary>
|
|
public double NightWorkPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حق تاهل
|
|
/// </summary>
|
|
public double MarriedAllowance { get; private set; }
|
|
|
|
/// <summary>
|
|
/// نوبت کاری
|
|
/// </summary>
|
|
public double ShiftPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حق اولاد(حق فرزند)ء
|
|
/// </summary>
|
|
public double FamilyAllowance { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مزد مرخصی
|
|
/// </summary>
|
|
public double LeavePay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حق بیمه
|
|
/// </summary>
|
|
public double InsuranceDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// جریمه غیبت
|
|
/// </summary>
|
|
public double FineAbsenceDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// تاخیر در ورود
|
|
/// </summary>
|
|
public double LateToWorkDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// تعجیل در خروج
|
|
/// </summary>
|
|
public double EarlyExitDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// پاداش
|
|
/// </summary>
|
|
public double RewardPay { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مساعده
|
|
/// </summary>
|
|
public double SalaryAidDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// قسط وام
|
|
/// </summary>
|
|
public double InstallmentDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// جریمه
|
|
/// </summary>
|
|
public double FineDeduction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مالیات
|
|
/// </summary>
|
|
public double TaxDeduction { get; private set; }
|
|
|
|
|
|
/// <summary>
|
|
/// تعداد روزهای کارکرد
|
|
/// </summary>
|
|
public string SumOfWorkingDays { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مجموع مطالبات
|
|
/// </summary>
|
|
public string TotalClaims { get; private set; }
|
|
/// <summary>
|
|
/// مجموع کسورات
|
|
/// </summary>
|
|
public string TotalDeductions { get; private set; }
|
|
/// <summary>
|
|
/// مجموع پرداختی
|
|
/// </summary>
|
|
public double TotalPayment { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مزد روزانه
|
|
/// </summary>
|
|
public double DailyWage { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حقوق تعیین شده
|
|
/// </summary>
|
|
public double SettingSalary { get; private set; }
|
|
public WorkshopShiftStatus ShiftStatus { get; set; }
|
|
|
|
|
|
|
|
#region Values
|
|
|
|
public TimeSpan LateToWorkValue { get; private set; }
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region Relations
|
|
|
|
public Workshop Workshop { get; set; }
|
|
public Employee Employee { get; set; }
|
|
|
|
#endregion
|
|
|
|
} |