86 lines
2.0 KiB
C#
86 lines
2.0 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace _0_Framework.Domain.CustomizeCheckoutValueObjects;
|
|
|
|
public class EarlyExit
|
|
{
|
|
public EarlyExit(EarlyExitType earlyExitType, List<EarlyExitTimeFine> earlyExitTimeFines, double value)
|
|
{
|
|
EarlyExitType = earlyExitType;
|
|
EarlyExitTimeFines = earlyExitTimeFines??new ();
|
|
Value = value;
|
|
}
|
|
|
|
private EarlyExit()
|
|
{
|
|
EarlyExitTimeFines = new();
|
|
}
|
|
|
|
/// <summary>
|
|
/// نوع حساب کردن تعجیل در خروج
|
|
/// </summary>
|
|
public EarlyExitType EarlyExitType { get; private set; }
|
|
|
|
/// <summary>
|
|
/// جریمه های اختصاصی پله ای
|
|
/// </summary>
|
|
public List<EarlyExitTimeFine> EarlyExitTimeFines { get; private set; }
|
|
|
|
public double Value { get; private set; }
|
|
|
|
|
|
}
|
|
|
|
public class EarlyExitTimeFine
|
|
{
|
|
public EarlyExitTimeFine(string minute, double fineMoney)
|
|
{
|
|
Minute = minute;
|
|
FineMoney = fineMoney;
|
|
}
|
|
|
|
private EarlyExitTimeFine()
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// دقیقه تعیین شده برای جریمه
|
|
/// </summary>
|
|
public string Minute { get; private set; }
|
|
|
|
/// <summary>
|
|
/// مبلغ تعیین شده برای جریمه
|
|
/// </summary>
|
|
public double FineMoney { get; private set; }
|
|
}
|
|
|
|
//public enum EarlyExitTimeFineType
|
|
//{
|
|
// /// <summary>
|
|
// /// جریمه های زمانی به صورت پله همه باهم جمع گردد
|
|
// /// </summary>
|
|
// StepByStep,
|
|
|
|
// /// <summary>
|
|
// /// فقط آخرین جریمه لحاظ شود
|
|
// /// </summary>
|
|
// LastStep,
|
|
//}
|
|
|
|
public enum EarlyExitType
|
|
{
|
|
/// <summary>
|
|
/// محاسبه نمیشود
|
|
/// </summary>
|
|
None,
|
|
|
|
/// <summary>
|
|
/// هر دقیقه تاخیر به تناسب حقوق مزد روزانه کسر گردد
|
|
/// </summary>
|
|
DeductEveryMinuteAccordingToDailyWage,
|
|
|
|
/// <summary>
|
|
/// هر دقیقه تاخیر مبلغی کسر میگردد
|
|
/// </summary>
|
|
MoneyPerMinute
|
|
} |