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; } }