Files
Backend-Api/Company.Domain/EmployeeInsurancListDataAgg/EmployeeInsurancListData.cs
2025-05-10 20:29:08 +03:30

152 lines
5.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _0_Framework.Domain;
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
namespace Company.Domain.EmployeeInsurancListDataAgg;
public class EmployeeInsurancListData : EntityBase
{
public EmployeeInsurancListData(long insuranceListId, long employeeId, int workingDays, double dailyWage, double monthlySalary,
double monthlyBenefits, double monthlyBenefitsIncluded, double benefitsIncludedContinuous, double benefitsIncludedNonContinuous,
double insuranceShare, DateTime startWorkDate, DateTime? leftWorkDate, long jobId,bool includeStatus, double baseYears, double marriedAllowance, double overTimePay, double familyAllowance)
{
InsuranceListId = insuranceListId;
EmployeeId = employeeId;
WorkingDays = workingDays;
DailyWage = dailyWage;
MonthlySalary = monthlySalary;
MonthlyBenefits = monthlyBenefits;
MonthlyBenefitsIncluded = monthlyBenefitsIncluded;
BenefitsIncludedContinuous = benefitsIncludedContinuous;
BenefitsIncludedNonContinuous = benefitsIncludedNonContinuous;
InsuranceShare = insuranceShare;
StartWorkDate = startWorkDate;
LeftWorkDate = leftWorkDate;
JobId = jobId;
IncludeStatus = includeStatus;
BaseYears = baseYears;
MarriedAllowance = marriedAllowance;
OverTimePay = overTimePay;
FamilyAllowance = familyAllowance;
DailyWagePlusBaseYears = dailyWage + baseYears;
}
public long InsuranceListId { get; private set; }
public long EmployeeId { get; private set; }
/// <summary>
/// تعداد روز های کارکرد پرسنل
/// DSW_DD
/// </summary>
public int WorkingDays { get; private set; }
/// <summary>
/// دستمزد روزانه پرسنل double
/// DSW_ROOZ
/// </summary>
public double DailyWage { get; private set; }
/// <summary>
/// دستمزد ماهانه پرسنل double
/// DSW_MAH
/// </summary>
public double MonthlySalary{ get; private set; }
/// <summary>
/// مزایای ماهانه
/// DSW_MAZ
/// </summary>
public double MonthlyBenefits { get; private set; }
/// <summary>
/// جمع دستمزد و مزایای ماهانه مشمول
/// DSW_MASH
/// </summary>
public double MonthlyBenefitsIncluded { get; private set; }
// مزایای مشمول مستمر
public double BenefitsIncludedContinuous { get; private set; }
//مزایای مشمول غیر مستمر
public double BenefitsIncludedNonContinuous { get; private set; }
/// <summary>
/// حق بیمه سهم بیمه شده
/// DSW_BIME
/// </summary>
public double InsuranceShare { get; private set; }
/// <summary>
/// تایخ شروع بکار میلادی
/// DSW_SDATE
/// </summary>
public DateTime StartWorkDate { get; private set; }
/// <summary>
/// تاریخ ترک کار میلادی
/// DSW_EDATE
/// </summary>
public DateTime? LeftWorkDate { get; private set; }
// آی دی شغل
public long JobId { get; private set; }
public bool IncludeStatus { get; private set; }
/// <summary>
/// پایه سنواتی
/// DSW_INC
/// </summary>
public double BaseYears { get; private set; }
/// <summary>
/// جمع پایه سنوات و دستمزد روزانه
/// DSW_INC
/// </summary>
public double DailyWagePlusBaseYears { get; private set; }
/// <summary>
/// حق تاهل
/// DSW_SPOUSE
/// </summary>
public double MarriedAllowance { get; private set; }
/// <summary>
/// اضافه کار فیش حقوقی
/// </summary>
public double OverTimePay { get; private set; }
/// <summary>
/// حق اولاد فیش حقوقی
/// </summary>
public double FamilyAllowance { get; private set; }
public void Edit(int workingDays, double dailyWage, double monthlySalary, double monthlyBenefits, double monthlyBenefitsIncluded,
double benefitsIncludedContinuous, double benefitsIncludedNonContinuous, double insuranceShare, DateTime startWorkDate,
DateTime? leftWorkDate, long jobId, bool includeStatus, double baseYears, double marriedAllowance, double overTimePay, double familyAllowance)
{
WorkingDays = workingDays;
DailyWage = dailyWage;
MonthlySalary = monthlySalary;
MonthlyBenefits = monthlyBenefits;
MonthlyBenefitsIncluded = monthlyBenefitsIncluded;
BenefitsIncludedContinuous = benefitsIncludedContinuous;
BenefitsIncludedNonContinuous = benefitsIncludedNonContinuous;
InsuranceShare = insuranceShare;
StartWorkDate = startWorkDate;
LeftWorkDate = leftWorkDate;
JobId = jobId;
IncludeStatus= includeStatus;
BaseYears = baseYears;
MarriedAllowance = marriedAllowance;
OverTimePay = overTimePay;
FamilyAllowance = familyAllowance;
DailyWagePlusBaseYears = dailyWage + baseYears;
}
}