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 fineAbsenceDayOfWeekCollection) { FineAbsenceDeductionType = fineAbsenceDeductionType; Value = value; FineAbsenceDayOfWeekCollection = fineAbsenceDayOfWeekCollection ?? new (); } /// /// نوع جریمه غیبت /// public FineAbsenceDeductionType FineAbsenceDeductionType { get; private set; } public double Value { get; set; } /// /// جریمه های اختصاصی به ازای روز های هفته /// public List FineAbsenceDayOfWeekCollection { get; private set; } } public class FineAbsenceDayOfWeek { public FineAbsenceDayOfWeek(DayOfWeek dayOfWeek) { DayOfWeek = dayOfWeek; } private FineAbsenceDayOfWeek() { } /// /// روز های هفته /// public DayOfWeek DayOfWeek { get; private set; } } //public enum FineAbsenceDayOfWeekType //{ // /// // /// مبلغ اختصاصی // /// // Money, // /// // /// چند برابر کردن جریمه به ازای مقداری که داده شده // /// // Multiple, // /// // /// درصد از مزد روزانه // /// // PercentageOfDailyWage //} public enum FineAbsenceDeductionType { /// /// محاسبه نمیشود /// None, /// /// در صورت استفاده غیر مجاز مرخصی و غیبت چند برابر از مزد روزانه کسر میگردد /// MultipleTimesOfDailyWage, /// /// به صورت مبلغ اختصاصی پرداخت میشود /// Money }