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