Files
Backend-Api/0_Framework/Domain/CustomizeCheckoutValueObjects/FineAbsenceDeduction.cs
2024-10-06 20:20:21 +03:30

85 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
public class FineAbsenceDeduction
{
private FineAbsenceDeduction()
{
FineAbsenceDayOfWeekCollection = new ();
}
public FineAbsenceDeduction(FineAbsenceDeductionType fineAbsenceDeductionType, double value,List<FineAbsenceDayOfWeek> fineAbsenceDayOfWeekCollection)
{
FineAbsenceDeductionType = fineAbsenceDeductionType;
Value = value;
FineAbsenceDayOfWeekCollection = fineAbsenceDayOfWeekCollection ?? new ();
}
/// <summary>
/// نوع جریمه غیبت
/// </summary>
public FineAbsenceDeductionType FineAbsenceDeductionType { get; private set; }
public double Value { get; set; }
/// <summary>
/// جریمه های اختصاصی به ازای روز های هفته
/// </summary>
public List<FineAbsenceDayOfWeek> FineAbsenceDayOfWeekCollection { get; private set; }
}
public class FineAbsenceDayOfWeek
{
public FineAbsenceDayOfWeek(DayOfWeek dayOfWeek)
{
DayOfWeek = dayOfWeek;
}
private FineAbsenceDayOfWeek()
{
}
/// <summary>
/// روز های هفته
/// </summary>
public DayOfWeek DayOfWeek { get; private set; }
}
//public enum FineAbsenceDayOfWeekType
//{
// /// <summary>
// /// مبلغ اختصاصی
// /// </summary>
// Money,
// /// <summary>
// /// چند برابر کردن جریمه به ازای مقداری که داده شده
// /// </summary>
// Multiple,
// /// <summary>
// /// درصد از مزد روزانه
// /// </summary>
// PercentageOfDailyWage
//}
public enum FineAbsenceDeductionType
{
/// <summary>
/// محاسبه نمیشود
/// </summary>
None,
/// <summary>
/// در صورت استفاده غیر مجاز مرخصی و غیبت چند برابر از مزد روزانه کسر میگردد
/// </summary>
MultipleTimesOfDailyWage,
/// <summary>
/// به صورت مبلغ اختصاصی پرداخت میشود
/// </summary>
Money
}