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

76 lines
1.9 KiB
C#

using System.Collections.Generic;
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
public class LateToWork
{
public LateToWork(LateToWorkType lateToWorkType, List<LateToWorkTimeFine> lateToWorkTimeFines, double value)
{
LateToWorkType = lateToWorkType;
LateToWorkTimeFines = lateToWorkTimeFines??new ();
Value = value;
}
private LateToWork()
{
LateToWorkTimeFines = new ();
}
/// <summary>
/// نوع حساب کردن تاخیر در ورود
/// </summary>
public LateToWorkType LateToWorkType { get; private set; }
/// <summary>
/// این مقدار بستگی به نوع حساب کردن تاخیر در ورود
/// </summary>
public double Value { get; private set; }
/// <summary>
/// جریمه های اختصاصی پله ای
/// </summary>
public List<LateToWorkTimeFine> LateToWorkTimeFines { get; private set; }
}
public enum LateToWorkType
{
/// <summary>
/// محاسبه نمیشود
/// </summary>
None,
/// <summary>
/// هر دقیقه تاخیر به تناسب حقوق مزد روزانه کسر گردد
/// </summary>
DeductEveryMinuteAccordingToDailyWage,
/// <summary>
/// هر دقیقه تاخیر چند برابر از حقوق کسر میگردد
/// </summary>
MultiTimesPerMinute
}
public class LateToWorkTimeFine
{
public LateToWorkTimeFine(string minute, double fineMoney)
{
Minute = minute;
FineMoney = fineMoney;
}
private LateToWorkTimeFine()
{
}
/// <summary>
/// دقیقه تعیین شده برای جریمه
/// </summary>
public string Minute { get; private set; }
/// <summary>
/// مبلغ تعیین شده برای جریمه
/// </summary>
public double FineMoney { get; private set; }
}