223 lines
6.1 KiB
C#
223 lines
6.1 KiB
C#
using _0_Framework.Application;
|
|
using _0_Framework.Domain;
|
|
using Company.Domain.EmployeeAgg;
|
|
using Company.Domain.WorkshopAgg;
|
|
using System;
|
|
|
|
|
|
namespace Company.Domain.CustomizeCheckoutAgg;
|
|
/// <summary>
|
|
/// تصفیه حساب دلخواه
|
|
/// </summary>
|
|
public class CustomizeCheckout : EntityBase
|
|
{
|
|
public CustomizeCheckout(DateTime contractStart, DateTime contractEnd, long employeeId, 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)
|
|
{
|
|
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;
|
|
}
|
|
|
|
#region Getters
|
|
/// <summary>
|
|
/// سال به صورت استرینگ
|
|
/// </summary>
|
|
public string Year => $"{YearInt}";
|
|
/// <summary>
|
|
/// نام ماه شمسی
|
|
/// </summary>
|
|
public string Month => MonthInt.ToFarsiMonthByIntNumber();
|
|
#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; }
|
|
|
|
#endregion
|
|
|
|
|
|
#region Relations
|
|
|
|
public Workshop Workshop { get; set; }
|
|
public Employee Employee { get; set; }
|
|
|
|
#endregion
|
|
|
|
} |