145 lines
4.2 KiB
C#
145 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
|
using Microsoft.EntityFrameworkCore.Design.Internal;
|
|
|
|
namespace _0_Framework.Domain.CustomizeCheckoutShared.Base;
|
|
|
|
public class BaseCustomizeEntity : EntityBase
|
|
{
|
|
public BaseCustomizeEntity()
|
|
{
|
|
}
|
|
public BaseCustomizeEntity(FridayPay fridayPay, OverTimePay overTimePay,
|
|
BaseYearsPay baseYearsPay, BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
|
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, HolidayWork holidayWork, BreakTime breakTime,int leavePermittedDays,List<WeeklyOffDay> weeklyOffDays)
|
|
{
|
|
|
|
FridayPay = fridayPay;
|
|
OverTimePay = overTimePay;
|
|
BaseYearsPay = baseYearsPay;
|
|
BonusesPay = bonusesPay;
|
|
NightWorkPay = nightWorkPay;
|
|
MarriedAllowance = marriedAllowance;
|
|
ShiftPay = shiftPay;
|
|
FamilyAllowance = familyAllowance;
|
|
LeavePay = leavePay;
|
|
InsuranceDeduction = insuranceDeduction;
|
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
|
LateToWork = lateToWork;
|
|
EarlyExit = earlyExit;
|
|
HolidayWork = holidayWork;
|
|
BreakTime = breakTime;
|
|
LeavePermittedDays = leavePermittedDays;
|
|
WeeklyOffDays = weeklyOffDays.Select(x=> new WeeklyOffDay(x.DayOfWeek)).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// جمعه کاری
|
|
/// </summary>
|
|
public FridayPay FridayPay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// اضافه کاری
|
|
/// </summary>
|
|
public OverTimePay OverTimePay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// سنوات
|
|
/// </summary>
|
|
public BaseYearsPay BaseYearsPay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// عیدی
|
|
/// </summary>
|
|
public BonusesPay BonusesPay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// شب کاری
|
|
/// </summary>
|
|
public NightWorkPay NightWorkPay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// حق تاهل
|
|
/// </summary>
|
|
public MarriedAllowance MarriedAllowance { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// نوبت کاری
|
|
/// </summary>
|
|
public ShiftPay ShiftPay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// حق اولاد(حق فرزند)ء
|
|
/// </summary>
|
|
public FamilyAllowance FamilyAllowance { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// مزد مرخصی
|
|
/// </summary>
|
|
public LeavePay LeavePay { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// حق بیمه
|
|
/// </summary>
|
|
public InsuranceDeduction InsuranceDeduction { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// جریمه غیبت
|
|
/// </summary>
|
|
public FineAbsenceDeduction FineAbsenceDeduction { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// تاخیر در ورود
|
|
/// </summary>
|
|
public LateToWork LateToWork { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// نعجیل در خروج
|
|
/// </summary>
|
|
public EarlyExit EarlyExit { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// آیا جمعه کار میکند یا نه
|
|
/// </summary>
|
|
public FridayWork FridayWork { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// آیا در روز های تعطیل کار میکند
|
|
/// </summary>
|
|
public HolidayWork HolidayWork { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// تعداد روز های مجاز برای مرخصی
|
|
/// </summary>
|
|
public int LeavePermittedDays { get; protected set; }
|
|
|
|
|
|
public BreakTime BreakTime { get; protected set; }
|
|
|
|
public List<WeeklyOffDay> WeeklyOffDays { get; set; } = [];
|
|
|
|
public void FridayWorkToWeeklyDayOfWeek()
|
|
{
|
|
if (FridayWork == FridayWork.Default && !WeeklyOffDays.Any(x => x.DayOfWeek == DayOfWeek.Friday))
|
|
{
|
|
WeeklyOffDays.Add(new WeeklyOffDay(DayOfWeek.Friday));
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public class WeeklyOffDay
|
|
{
|
|
public WeeklyOffDay(DayOfWeek dayOfWeek)
|
|
{
|
|
DayOfWeek = dayOfWeek;
|
|
}
|
|
|
|
public long Id { get; set; }
|
|
public DayOfWeek DayOfWeek { get; set; }
|
|
public long ParentId { get; set; }
|
|
} |