Files
Backend-Api/Company.Domain/LeftWorkAgg/LeftWork.cs
2024-10-23 20:58:10 +03:30

67 lines
2.7 KiB
C#

using System;
using _0_Framework.Domain;
using Company.Domain.EmployeeAgg;
using Company.Domain.WorkshopAgg;
namespace Company.Domain.LeftWorkAgg;
public class LeftWork : EntityBase
{
public LeftWork(DateTime leftWorkDate, DateTime startWorkDate, long workshopId, long employeeId, string employeeFullName, string workshopName, long jobId, bool includeStatus, bool addBonusesPay, bool addYearsPay, bool addLeavePay, string computeOptions, string bonusesOptions)
{
LeftWorkDate = leftWorkDate;
StartWorkDate = startWorkDate;
WorkshopId = workshopId;
EmployeeId = employeeId;
this.EmployeeFullName = employeeFullName;
this.WorkshopName = workshopName;
JobId = jobId;
IncludeStatus = includeStatus;
AddBonusesPay = addBonusesPay;
AddYearsPay = addYearsPay;
AddLeavePay = addLeavePay;
ComputeOptions = computeOptions;
BonusesOptions = bonusesOptions;
}
public DateTime LeftWorkDate { get; private set; }
public DateTime StartWorkDate { get; private set; }
public long WorkshopId { get; private set; }
public long EmployeeId { get; private set; }
public string EmployeeFullName { get; private set; }
public string WorkshopName { get; private set; }
public long JobId { get; private set; }
public bool IncludeStatus { get; private set; }
//افزودن عیدی و پاداش
public bool AddBonusesPay { get; private set; }
//افزودن سنوات
public bool AddYearsPay { get; private set; }
//افزودن مزد مرخصی
public bool AddLeavePay { get; private set; }
//نحوه محاسبه سنوات، مزد مرخصی
public string ComputeOptions { get; private set; }
//نحوه محاسبه عیدی
public string BonusesOptions { get; private set; }
public bool HasLeft => LeftWorkDate != new DateTime(2121, 3, 21);
public Employee Employee { get; set; }
public Workshop Workshop { get; set; }
public void Edit(DateTime leftWorkDate, DateTime startWorkDate, long workshopId, long employeeId ,long jobId, bool includeStatus, bool addBonusesPay, bool addYearsPay, bool addLeavePay)
{
LeftWorkDate = leftWorkDate;
StartWorkDate = startWorkDate;
WorkshopId = workshopId;
EmployeeId = employeeId;
JobId = jobId;
IncludeStatus = includeStatus;
AddBonusesPay = addBonusesPay;
AddYearsPay = addYearsPay;
AddLeavePay = addLeavePay;
}
public void EditBonuses(bool addBonusesPay, bool addYearsPay, bool addLeavePay)
{
AddBonusesPay = addBonusesPay;
AddYearsPay = addYearsPay;
AddLeavePay = addLeavePay;
}
}