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

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
}