From 6219a4ea5ae425c49dca9cd58579135563714614 Mon Sep 17 00:00:00 2001 From: SamSys Date: Sun, 6 Oct 2024 20:20:21 +0330 Subject: [PATCH] mahan customize workshopSetimgs value object --- .../BaseYearsPay.cs | 60 + .../BonusesPay.cs | 71 + .../CustomizeCheckoutValueObjects/Currency.cs | 7 + .../EarlyExit.cs | 86 + .../FamilyAllowance.cs | 72 + .../FineAbsenceDeduction.cs | 85 + .../FineDeduction.cs | 20 + .../FineDeductionType.cs | 17 + .../FridayPay.cs | 42 + .../InsuranceDeduction.cs | 40 + .../LateToWork.cs | 76 + .../CustomizeCheckoutValueObjects/LeavePay.cs | 47 + .../MarriedAllowance.cs | 34 + .../MaxMonthDays.cs | 17 + .../NightWorkPay.cs | 34 + .../OverTimePay.cs | 31 + .../CustomizeCheckoutValueObjects/ShiftPay.cs | 66 + .../CustomizeWorkshopEmployeeSettings.cs | 212 + .../CustomizeWorkshopEmployeeSettingsShift.cs | 19 + ...omizeWorkshopEmployeeSettingsRepository.cs | 9 + .../CustomizeWorkshopGroupSettings.cs | 167 + .../CustomizeWorkshopGroupSettingsShift.cs | 19 + ...ustomizeWorkshopGroupSettingsRepository.cs | 16 + .../Entities/CustomizeWorkshopSettings.cs | 145 + .../CustomizeWorkshopSettingsShift.cs | 17 + .../ICustomizeWorkshopSettingsRepository.cs | 14 + Company.Domain/WorkshopAgg/Workshop.cs | 2 + .../CreateCustomizeEmployeeSettings.cs | 76 + .../CreateCustomizeWorkshopGroupSettings.cs | 14 + .../CreateCustomizeWorkshopSettings.cs | 10 + ...tomizeWorkshopEmployeeSettingsViewModel.cs | 13 + ...CustomizeWorkshopGroupSettingsViewModel.cs | 12 + .../CustomizeWorkshopSettingsViewModel.cs | 10 + .../CustomizeWorkshopShiftViewModel.cs | 8 + .../EditCustomizeEmployeeSettings.cs | 11 + .../EditCustomizeWorkshopGroupSettings.cs | 82 + .../EditCustomizeWorkshopSettings.cs | 80 + .../ICustomizeWorkshopSettingsApplication.cs | 39 + .../ShiftPlacement.cs | 8 + .../BaseYearsPayViewModel.cs | 9 + .../BonusesPayViewModel.cs | 9 + .../EarlyExitTimeFineViewModel.cs | 14 + .../EarlyExitViewModel.cs | 25 + .../FamilyAllowanceViewModel.cs | 19 + .../FineAbsenceDayOfWeekViewModel.cs | 17 + .../FineAbsenceDeductionViewModel.cs | 19 + .../FridayPayViewModel.cs | 9 + .../InsuranceDeductionViewModel.cs | 9 + .../LateToWorkTimeFineVewModel.cs | 14 + .../LateToWorkViewModel.cs | 28 + .../LeavePayViewModel.cs | 18 + .../MarriedAllowanceViewModel.cs | 9 + .../NightWorkPayViewModel.cs | 9 + .../OverTimePayViewModel.cs | 9 + .../ShiftPayViewModel.cs | 18 + .../CustomizeWorkshopSettingsApplication.cs | 377 + CompanyManagment.EFCore/CompanyContext.cs | 17 +- ...ustomizeWorkshopEmployeeSettingsMapping.cs | 202 + .../CustomizeWorkshopGroupSettingsMapping.cs | 207 + .../CustomizeWorkshopSettingsMapping.cs | 210 + ...52550_CustomizeWorkshopSetings.Designer.cs | 7327 +++++++++++++++++ ...20241006152550_CustomizeWorkshopSetings.cs | 505 ++ .../Migrations/CompanyContextModelSnapshot.cs | 1544 ++++ ...omizeWorkshopEmployeeSettingsRepository.cs | 12 + ...ustomizeWorkshopGroupSettingsRepository.cs | 125 + .../CustomizeWorkshopSettingsRepository.cs | 64 + .../Repository/RollCallMandatoryRepository.cs | 2 +- .../PersonalBootstrapper.cs | 12 + ServiceHost/appsettings.Development.json | 4 +- 69 files changed, 12626 insertions(+), 5 deletions(-) create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/BaseYearsPay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/BonusesPay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/Currency.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/EarlyExit.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/FamilyAllowance.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/FineAbsenceDeduction.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeduction.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeductionType.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/FridayPay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/InsuranceDeduction.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/LateToWork.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/LeavePay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/MarriedAllowance.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/MaxMonthDays.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/NightWorkPay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/OverTimePay.cs create mode 100644 0_Framework/Domain/CustomizeCheckoutValueObjects/ShiftPay.cs create mode 100644 Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettings.cs create mode 100644 Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettingsShift.cs create mode 100644 Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/ICustomizeWorkshopEmployeeSettingsRepository.cs create mode 100644 Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettings.cs create mode 100644 Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettingsShift.cs create mode 100644 Company.Domain/CustomizeWorkshopGroupSettingsAgg/ICustomizeWorkshopGroupSettingsRepository.cs create mode 100644 Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettings.cs create mode 100644 Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettingsShift.cs create mode 100644 Company.Domain/CustomizeWorkshopSettingsAgg/ICustomizeWorkshopSettingsRepository.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeEmployeeSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopGroupSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopGroupSettingsViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopSettingsViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopShiftViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeEmployeeSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopGroupSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopSettings.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ICustomizeWorkshopSettingsApplication.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ShiftPlacement.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BaseYearsPayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BonusesPayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitTimeFineViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FamilyAllowanceViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDayOfWeekViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDeductionViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FridayPayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/InsuranceDeductionViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkTimeFineVewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LeavePayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/MarriedAllowanceViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/NightWorkPayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/OverTimePayViewModel.cs create mode 100644 CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/ShiftPayViewModel.cs create mode 100644 CompanyManagment.Application/CustomizeWorkshopSettingsApplication.cs create mode 100644 CompanyManagment.EFCore/Mapping/CustomizeWorkshopEmployeeSettingsMapping.cs create mode 100644 CompanyManagment.EFCore/Mapping/CustomizeWorkshopGroupSettingsMapping.cs create mode 100644 CompanyManagment.EFCore/Mapping/CustomizeWorkshopSettingsMapping.cs create mode 100644 CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.Designer.cs create mode 100644 CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.cs create mode 100644 CompanyManagment.EFCore/Repository/CustomizeWorkshopEmployeeSettingsRepository.cs create mode 100644 CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs create mode 100644 CompanyManagment.EFCore/Repository/CustomizeWorkshopSettingsRepository.cs diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/BaseYearsPay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/BaseYearsPay.cs new file mode 100644 index 00000000..f02d15ce --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/BaseYearsPay.cs @@ -0,0 +1,60 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class BaseYearsPay +{ + public BaseYearsPay(BaseYearsPayType baseYearsPayType) + { + BaseYearsPayType = baseYearsPayType; + } + + private BaseYearsPay() + { + } + + public BaseYearsPayType BaseYearsPayType { get; private set; } + public double Value { get; set; } + public BaseYearsPaymentType PaymentType { get; set; } +} + +public enum BaseYearsPaymentType +{ + /// + /// پرداخت نمیگردد + /// + None, + /// + /// پرداخت به صورت سالانه در آخر سال پرداخت میگردد + /// + YearlyPay, + /// + /// پرداخت به صورت ماهانه + /// + MonthlyPay +} + +public enum BaseYearsPayType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// به صورت درصدی از حقوق + /// + PercentageOfSalary, + + /// + /// دوبرابر حقوق + /// + TwoTimeOfSalary, + + /// + /// یک برابر حقوق + /// + OneTimeOfSalary, + /// + /// مبلغ اختصاصی برای سنوات + /// + Money +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/BonusesPay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/BonusesPay.cs new file mode 100644 index 00000000..8d15031b --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/BonusesPay.cs @@ -0,0 +1,71 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class BonusesPay +{ + public BonusesPay(BonusesType bonusesPayType, int percentage) + { + BonusesPayType = bonusesPayType; + Value = percentage; + } + + private BonusesPay() + { + } + + /// + /// نوع عیدی + /// + public BonusesType BonusesPayType { get; private set; } + /// + /// مقدار درصد یا مبلغ + /// + public double Value { get; private set; } + /// + /// نوع پرداخت برای عیدی + /// + public BonusesPaymentType PaymentType { get; set; } +} + +public enum BonusesPaymentType +{ + /// + /// پرداخت نمیگردد + /// + None, + /// + /// پرداخت به صورت سالانه در آخر سال پرداخت میگردد + /// + YearlyPay, + /// + /// پرداخت به صورت ماهانه + /// + MonthlyPay + +} + +public enum BonusesType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// به صورت درصدی از حقوق + /// + PercentageOfSalary, + + /// + /// دوبرابر حقوق + /// + TwoTimeOfSalary, + + /// + /// یک برابر حقوق + /// + OneTimeOfSalary, + /// + /// مبلغ اختصاصی برای عیدی + /// + Money +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/Currency.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/Currency.cs new file mode 100644 index 00000000..8db21954 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/Currency.cs @@ -0,0 +1,7 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public enum Currency +{ + Rial, + Toman +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/EarlyExit.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/EarlyExit.cs new file mode 100644 index 00000000..5a30e3d9 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/EarlyExit.cs @@ -0,0 +1,86 @@ +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 +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/FamilyAllowance.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/FamilyAllowance.cs new file mode 100644 index 00000000..7538106b --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/FamilyAllowance.cs @@ -0,0 +1,72 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class FamilyAllowance +{ + public FamilyAllowance(FamilyAllowanceType familyAllowanceType, double value) + { + FamilyAllowanceType = familyAllowanceType; + //NumberOfChildren = numberOfChildren; + Value = value; + } + + private FamilyAllowance() + { + } + + /// + /// نوع حق اولاد را مشخص میکند که آیا پرداخت نمیکند یا به صورت درصدی پرداخت میکند یا به صورت مبلغ اختصاصی + /// + public FamilyAllowanceType FamilyAllowanceType { get; private set; } + + /// + /// تعداد فرزند هایی حق اولاد به آنها تعلق میگیرد. + /// + // ReSharper disable once GrammarMistakeInComment + //public NumberOfChildren NumberOfChildren { get; private set; } + + public double Value { get; private set; } + +} +public enum FamilyAllowanceType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// به ازای هر فرزند درصدی از مزد روزانه پرمسل + /// + Percentage, + /// + /// به ازای هر فرزند به صورت مبلغ اختصاصی پرداخت میشود + /// + Money +} +//public enum NumberOfChildren +//{ +// /// +// /// محاسبه نمیشود +// /// +// None, +// /// +// /// یک فرزند +// /// +// One, +// /// +// /// دو فرزند +// /// +// Two, +// /// +// /// سه فرزند +// /// +// Three, +// /// +// /// چهار فرزند +// /// +// Four, +// /// +// /// تمامی فرزند ها +// /// +// All +//} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/FineAbsenceDeduction.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineAbsenceDeduction.cs new file mode 100644 index 00000000..1b67f8a2 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineAbsenceDeduction.cs @@ -0,0 +1,85 @@ +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 +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeduction.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeduction.cs new file mode 100644 index 00000000..10cc893f --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeduction.cs @@ -0,0 +1,20 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class FineDeduction +{ + private FineDeduction() + { + } + + public FineDeduction(FineDeductionType fineDeductionType, int percentage) + { + FineDeductionType = fineDeductionType; + Percentage = percentage; + } + + public FineDeductionType FineDeductionType { get; private set; } + /// + /// مقدار درصد + /// + public int Percentage { get; private set; } +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeductionType.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeductionType.cs new file mode 100644 index 00000000..277e4761 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/FineDeductionType.cs @@ -0,0 +1,17 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public enum FineDeductionType +{ + /// + /// دوبرابر حقوق تعیین شده + /// + TwoTimeOfSalary, + /// + /// یک برابر حقوق تعیین شده + /// + OneTImeOfSalary, + /// + /// درصد تعیین شده + /// + Percentage +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/FridayPay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/FridayPay.cs new file mode 100644 index 00000000..19b97246 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/FridayPay.cs @@ -0,0 +1,42 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public enum FridayPayType +{ + /// + ///محاسبه نمیشود + /// + None, + /// + /// اضافه کار محاسبه میشود + /// + ExtraWorking, + /// + /// به صورت درصدی از مزد روزانه به ازای هر ساعت کار در جمعه + /// + PercentageFromSalaryPerHour, + /// + /// مقدار پول شخصی سازی شده به ازای هر ساعت کاری که پرسنل در جمعه کار میکند + /// + MoneyPerFridayPerHour, + /// + /// مقدار پول شخصی سازی شده برای هرروز کار در روز جمعه + /// + MoneyPerFridayForDay, + +} +public class FridayPay +{ + private FridayPay() + { + + } + public FridayPay(FridayPayType fridayPayType, double value) + { + FridayPayType = fridayPayType; + Value = value; + + } + + public FridayPayType FridayPayType { get; private set; } + public double Value { get; private set; } +} diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/InsuranceDeduction.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/InsuranceDeduction.cs new file mode 100644 index 00000000..d52cd13b --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/InsuranceDeduction.cs @@ -0,0 +1,40 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class InsuranceDeduction +{ + public InsuranceDeduction(InsuranceDeductionType insuranceDeductionType, double value) + { + InsuranceDeductionType = insuranceDeductionType; + Value = value; + } + + private InsuranceDeduction() + { + } + + public InsuranceDeductionType InsuranceDeductionType { get; private set; } + public double Value { get; private set; } +} +public enum InsuranceDeductionType +{ + /// + /// محاسبه نمیشود + /// + None, + + /// + /// بر اساس قانون کار (حقوق+بن کارگری+ بن مسکن+حق تاهل)*7درصد + /// + BasedOnLaborLaw, + + /// + /// بر اساس درصد از حقوق تعیین شده + /// + PercentageOfSalary, + + /// + /// به صورت مبلغ ماهانه اختصاصی پرداخت میشود + /// + Money + +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/LateToWork.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/LateToWork.cs new file mode 100644 index 00000000..d7786432 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/LateToWork.cs @@ -0,0 +1,76 @@ +using System.Collections.Generic; + +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class LateToWork +{ + public LateToWork(LateToWorkType lateToWorkType, List lateToWorkTimeFines, double value) + { + LateToWorkType = lateToWorkType; + LateToWorkTimeFines = lateToWorkTimeFines??new (); + Value = value; + } + + private LateToWork() + { + LateToWorkTimeFines = new (); + } + + /// + /// نوع حساب کردن تاخیر در ورود + /// + public LateToWorkType LateToWorkType { get; private set; } + + /// + /// این مقدار بستگی به نوع حساب کردن تاخیر در ورود + /// + public double Value { get; private set; } + + /// + /// جریمه های اختصاصی پله ای + /// + public List LateToWorkTimeFines { get; private set; } + + + + +} +public enum LateToWorkType +{ + /// + /// محاسبه نمیشود + /// + None, + + /// + /// هر دقیقه تاخیر به تناسب حقوق مزد روزانه کسر گردد + /// + DeductEveryMinuteAccordingToDailyWage, + + /// + /// هر دقیقه تاخیر چند برابر از حقوق کسر میگردد + /// + MultiTimesPerMinute +} +public class LateToWorkTimeFine +{ + public LateToWorkTimeFine(string minute, double fineMoney) + { + Minute = minute; + FineMoney = fineMoney; + } + + private LateToWorkTimeFine() + { + } + + /// + /// دقیقه تعیین شده برای جریمه + /// + public string Minute { get; private set; } + + /// + /// مبلغ تعیین شده برای جریمه + /// + public double FineMoney { get; private set; } +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/LeavePay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/LeavePay.cs new file mode 100644 index 00000000..6c44e908 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/LeavePay.cs @@ -0,0 +1,47 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class LeavePay +{ + public LeavePay(LeavePayType leavePayType, double value) + { + LeavePayType = leavePayType; + //DayCountAllowable = dayCountAllowable; + Value = value; + } + + private LeavePay() + { + } + + /// + /// نوع مرخصی + /// + public LeavePayType LeavePayType { get; private set; } + + ///// + ///// تعداد روز های مجاز مرخصی + ///// + //public string DayCountAllowable { get; set; } + + public double Value { get; private set; } +} +public enum LeavePayType +{ + /// + /// محاسبه و پرداخت نمیشود + /// + None, + /// + /// پرداخت میشود + /// + Pay, + + ///// + ///// به ازای هر روز استفاده نشده از مرخصی درصدی از حقوق + ///// + //Percentage, + ///// + ///// به ازای هر رور استفاده نشده از مرخصی به صورت مبلغ اختصاصی پرداخت میشود + ///// + //Money +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/MarriedAllowance.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/MarriedAllowance.cs new file mode 100644 index 00000000..880efe6f --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/MarriedAllowance.cs @@ -0,0 +1,34 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class MarriedAllowance +{ + private MarriedAllowance() + { + } + + public MarriedAllowance(MarriedAllowanceType marriedAllowanceType, double value) + { + MarriedAllowanceType = marriedAllowanceType; + Value = value; + } + + public MarriedAllowanceType MarriedAllowanceType { get; private set; } + public double Value { get; private set; } +} +public enum MarriedAllowanceType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// به صورت درصدی + /// + PercentageFromSalary, + + /// + /// به صورت مبلغ اختصاصی پرداخت میشود + /// + Money +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/MaxMonthDays.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/MaxMonthDays.cs new file mode 100644 index 00000000..a783a3a8 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/MaxMonthDays.cs @@ -0,0 +1,17 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public enum MaxMonthDays +{ + /// + /// تعداد روز های ماه به صورت عادی باشد و تغییری در آن اعمال نشود + /// + Default, + /// + /// تمامی ماه ها 30 روزه حساب شوند + /// + ThirtyDaysForAllMonth, + /// + /// تمامی ماه ها 30 روزه حساب شوند ولی اسفند 29 روزه + /// + ThirtyDaysForAllMonthExceptEsfand +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/NightWorkPay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/NightWorkPay.cs new file mode 100644 index 00000000..0cc76cbf --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/NightWorkPay.cs @@ -0,0 +1,34 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class NightWorkPay +{ + public NightWorkPay(NightWorkType nightWorkingType, double value) + { + NightWorkingType = nightWorkingType; + Value = value; + } + + private NightWorkPay() + { + } + + public NightWorkType NightWorkingType { get; private set; } + public double Value { get; private set; } +} +public enum NightWorkType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// به صورت درصدی از مزد روزانه + /// + PercentageFromSalary, + + /// + /// مقدار پول شخصی سازی شده برای هر ساعت شب کاری + /// + MoneyPerHour +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/OverTimePay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/OverTimePay.cs new file mode 100644 index 00000000..e0c5c154 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/OverTimePay.cs @@ -0,0 +1,31 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; +public enum OverTimePayType +{ + /// + ///محاسبه نمیشود + /// + None, + /// + /// مقدار پول شخصی سازی شده برای هر ساعت + /// + MoneyPerHour, + /// + /// به صورت درصدی از مزد روزانه به ازای هر ساعت. + /// + PercentagePerHourOfSalary +} +public class OverTimePay +{ + public OverTimePay(OverTimePayType overTimePayType, double value) + { + OverTimePayType = overTimePayType; + Value = value; + } + + private OverTimePay() + { + } + + public OverTimePayType OverTimePayType { get; private set; } + public double Value { get; private set; } +} \ No newline at end of file diff --git a/0_Framework/Domain/CustomizeCheckoutValueObjects/ShiftPay.cs b/0_Framework/Domain/CustomizeCheckoutValueObjects/ShiftPay.cs new file mode 100644 index 00000000..fa3fe879 --- /dev/null +++ b/0_Framework/Domain/CustomizeCheckoutValueObjects/ShiftPay.cs @@ -0,0 +1,66 @@ +namespace _0_Framework.Domain.CustomizeCheckoutValueObjects; + +public class ShiftPay +{ + public ShiftPay(ShiftType shiftType, ShiftPayType shiftPayType, double value) + { + ShiftType = shiftType; + ShiftPayType = shiftPayType; + Value = value; + } + + private ShiftPay() + { + } + + /// + /// نوع نوبت کاری را مشخص میکند . به عنوان مثال: صبح و عصر، عصر و شب و غیره... + /// + public ShiftType ShiftType { get; private set; } + + /// + /// نوع پرداخت را مشخص میکند که آیا به صورت درصدی است یا مبلغ اختصاصی. + /// + public ShiftPayType ShiftPayType { get; private set; } + + public double Value { get; private set; } +} +public enum ShiftPayType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// درصدی از حقوق + /// + PercentageOfSalary, + + /// + /// به صورت مبلغ اختصاصی پرداخت میشود + /// + Money +} +public enum ShiftType +{ + /// + ///محاسبه نمیشود + /// + None, + + /// + /// صبح و عصر + /// + MorningAndEvening, + + /// + /// عصر و شب + /// + EveningAndNight, + + /// + /// صبح و عصر و شب + /// + MorningAndEveningAndNight +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettings.cs b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettings.cs new file mode 100644 index 00000000..d6c3048b --- /dev/null +++ b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettings.cs @@ -0,0 +1,212 @@ +using System; +using System.Collections.Generic; +using _0_Framework.Domain; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using Company.Domain.EmployeeAgg; +using Company.Domain.WorkshopAgg; + +namespace Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; + +public class CustomizeWorkshopEmployeeSettings : EntityBase +{ + private CustomizeWorkshopEmployeeSettings() + { + + } + + public CustomizeWorkshopEmployeeSettings(FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, + BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay, + FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction, + LateToWork lateToWork, EarlyExit earlyExit, long employeeId, long workshopId, double salary, long customizeWorkshopGroupSettingId, + ICollection customizeWorkshopEmployeeSettingsShifts) + { + FridayPay = fridayPay; + OverTimePay = overTimePay; + BaseYearsPay = baseYearsPay; + BonusesPay = bonusesPay; + NightWorkPay = nightWorkPay; + FamilyAllowance = familyAllowance; + LeavePay = leavePay; + InsuranceDeduction = insuranceDeduction; + FineAbsenceDeduction = fineAbsenceDeduction; + LateToWork = lateToWork; + EarlyExit = earlyExit; + EmployeeId = employeeId; + WorkshopId = workshopId; + Salary = salary; + CustomizeWorkshopGroupSettingId = customizeWorkshopGroupSettingId; + CustomizeWorkshopEmployeeSettingsShifts = customizeWorkshopEmployeeSettingsShifts; + IsChanged = false; + } + + /// + /// جمعه کاری + /// + public FridayPay FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePay OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPay BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPay BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPay NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowance MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPay ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowance FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePay LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeduction InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeduction FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWork LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExit EarlyExit { get; private set; } + + + + + + public long EmployeeId { get; private set; } + public long WorkshopId { get; private set; } + public double Salary { get; private set; } + + public bool IsChanged { get; private set; } + + public long CustomizeWorkshopGroupSettingId { get; set; } + + + + + public ICollection CustomizeWorkshopEmployeeSettingsShifts { get; set; } + public CustomizeWorkshopGroupSettings CustomizeWorkshopGroupSettings { get; set; } + + + /// + /// تغییر مقادیر تنظیمات پرسنل با وضعیت بدون تغییر + /// + /// شیفت های کاری پرسنل + /// حقوق ماهیانه اختصاص داده شده + /// جمعه کاری + /// اضافه کاری + /// سنوات + /// عیدی + /// شب کاری + /// حق تاهل + /// نوبت کاری + /// حق اولاد + /// مزد مرخصی + /// حق بیمه + /// جریمه غیبت + /// تاخیر در ورود + /// تعجیل درخروج + internal void EditEmployeesAndMakeIsChangeFalse( + ICollection employeeSettingsShifts, double salary, FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, + NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay, + FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, + FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit) + { + FridayPay = fridayPay; + OverTimePay = overTimePay; + BaseYearsPay = baseYearsPay; + BonusesPay = bonusesPay; + NightWorkPay = nightWorkPay; + MarriedAllowance = marriedAllowance; + ShiftPay = shiftPay; + FamilyAllowance = familyAllowance; + LeavePay = leavePay; + InsuranceDeduction = insuranceDeduction; + FineAbsenceDeduction = fineAbsenceDeduction; + LateToWork = lateToWork; + EarlyExit = earlyExit; + Salary = salary; + CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShifts; + IsChanged = false; + } + + + /// + /// تغییر مقادیر تنظیمات پرسنل و تغییر وضعیت آن به تغییر یافته + /// + /// شیفت های کاری پرسنل + /// حقوق ماهیانه اختصاص داده شده + /// جمعه کاری + /// اضافه کاری + /// سنوات + /// عیدی + /// شب کاری + /// حق تاهل + /// نوبت کاری + /// حق اولاد + /// مزد مرخصی + /// حق بیمه + /// جریمه غیبت + /// تاخیر در ورود + /// تعجیل درخروج + public void EditEmployeesAndMakeIsChangeTrue( + ICollection employeeSettingsShifts, double salary, FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, + NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay, + FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, + FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit) + { + FridayPay = fridayPay; + OverTimePay = overTimePay; + BaseYearsPay = baseYearsPay; + BonusesPay = bonusesPay; + NightWorkPay = nightWorkPay; + MarriedAllowance = marriedAllowance; + ShiftPay = shiftPay; + FamilyAllowance = familyAllowance; + LeavePay = leavePay; + InsuranceDeduction = insuranceDeduction; + FineAbsenceDeduction = fineAbsenceDeduction; + LateToWork = lateToWork; + EarlyExit = earlyExit; + Salary = salary; + CustomizeWorkshopEmployeeSettingsShifts = employeeSettingsShifts; + IsChanged = true; + } + +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettingsShift.cs b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettingsShift.cs new file mode 100644 index 00000000..9796dabb --- /dev/null +++ b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/Entities/CustomizeWorkshopEmployeeSettingsShift.cs @@ -0,0 +1,19 @@ +using _0_Framework.Domain; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +namespace Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; + +public class CustomizeWorkshopEmployeeSettingsShift( + string startTime, + string endTime, + ShiftPlacement placement) : EntityBase +{ + public string StartTime { get; private set; } = startTime; + public string EndTime { get; private set; } = endTime; + public ShiftPlacement Placement { get; private set; } = placement; + + public long CustomizeWorkshopEmployeeSettingsId { get; private set; } + + public CustomizeWorkshopEmployeeSettings CustomizeWorkshopEmployeeSettings { get; set; } + +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/ICustomizeWorkshopEmployeeSettingsRepository.cs b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/ICustomizeWorkshopEmployeeSettingsRepository.cs new file mode 100644 index 00000000..afc8018e --- /dev/null +++ b/Company.Domain/CustomizeWorkshopEmployeeSettingsAgg/ICustomizeWorkshopEmployeeSettingsRepository.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; + +namespace Company.Domain.CustomizeWorkshopEmployeeSettingsAgg; + +public interface ICustomizeWorkshopEmployeeSettingsRepository : IRepository +{ + +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettings.cs b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettings.cs new file mode 100644 index 00000000..9a86363d --- /dev/null +++ b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettings.cs @@ -0,0 +1,167 @@ +using System.Collections.Generic; +using System.Linq; +using _0_Framework.Domain; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; + +namespace Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; + +public class CustomizeWorkshopGroupSettings : EntityBase +{ + private CustomizeWorkshopGroupSettings() + { + } + + public CustomizeWorkshopGroupSettings( string groupName, double salary, long customizeWorkshopSettingId, ICollection customizeWorkshopGroupSettingsShifts) + { + GroupName = groupName; + Salary = salary; + CustomizeWorkshopSettingId = customizeWorkshopSettingId; + CustomizeWorkshopGroupSettingsShifts = customizeWorkshopGroupSettingsShifts; + FridayPay = new FridayPay(FridayPayType.None, 0); + OverTimePay = new OverTimePay(OverTimePayType.None, 0); + BaseYearsPay = new BaseYearsPay(BaseYearsPayType.None); + BonusesPay = new BonusesPay(BonusesType.None, 0); + NightWorkPay = new NightWorkPay(NightWorkType.None, 0); + MarriedAllowance = new MarriedAllowance(MarriedAllowanceType.None, 0); + ShiftPay = new ShiftPay(ShiftType.None, ShiftPayType.None, 0); + FamilyAllowance = new FamilyAllowance(FamilyAllowanceType.None, 0); + LeavePay = new LeavePay(LeavePayType.None, 0); + InsuranceDeduction = new InsuranceDeduction(InsuranceDeductionType.None, 0); + FineAbsenceDeduction = new FineAbsenceDeduction(FineAbsenceDeductionType.None, 0, new()); + LateToWork = new LateToWork(LateToWorkType.None, new(), 0); + EarlyExit = new EarlyExit(EarlyExitType.None, new(), 0); + + + } + + /// + /// جمعه کاری + /// + public FridayPay FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePay OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPay BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPay BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPay NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowance MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPay ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowance FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePay LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeduction InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeduction FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWork LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExit EarlyExit { get; private set; } + + + + public string GroupName { get; private set; } + public double Salary { get; private set; } + public long CustomizeWorkshopSettingId { get; private set; } + + public ICollection CustomizeWorkshopGroupSettingsShifts { get; set; } + public ICollection CustomizeWorkshopEmployeeSettingsCollection { get; set; } + public CustomizeWorkshopSettings CustomizeWorkshopSettings { get; set; } + + + public void EditAndOverwriteOnEmployees(string groupName, double salary, IEnumerable employeeIds, FridayPay fridayPay, + OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay, + NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance, + LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction, + LateToWork lateToWork, EarlyExit earlyExit,ICollection customizeWorkshopGroupSettingsShifts) + { + GroupName = groupName; + Salary = salary; + FridayPay = fridayPay; + OverTimePay = overTimePay; + BaseYearsPay = baseYearsPay; + BonusesPay = bonusesPay; + NightWorkPay = nightWorkPay; + MarriedAllowance = marriedAllowance; + ShiftPay = shiftPay; + FamilyAllowance = familyAllowance; + LeavePay = leavePay; + InsuranceDeduction = insuranceDeduction; + FineAbsenceDeduction = fineAbsenceDeduction; + LateToWork = lateToWork; + EarlyExit = earlyExit; + CustomizeWorkshopGroupSettingsShifts = customizeWorkshopGroupSettingsShifts; + var employeeSettingsShift = customizeWorkshopGroupSettingsShifts + .Select(x=>new CustomizeWorkshopEmployeeSettingsShift(x.StartTime,x.EndTime,x.Placement)).ToList(); + + var permittedToOverWrite = CustomizeWorkshopEmployeeSettingsCollection.Where(x => employeeIds.Contains(x.id)); + foreach (var item in permittedToOverWrite) + { + item.EditEmployeesAndMakeIsChangeFalse(employeeSettingsShift, salary, fridayPay, overTimePay, baseYearsPay, bonusesPay + , nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, + lateToWork, earlyExit); + } + } + + public void RemoveEmployeeFromGroup(long employeeId) + { + var currentItem = CustomizeWorkshopEmployeeSettingsCollection.FirstOrDefault(x => x.EmployeeId == employeeId); + if (currentItem != null) + CustomizeWorkshopEmployeeSettingsCollection.Remove(currentItem); + } + + + + //public void OverWriteEmployeesShiftAndSalary(IEnumerable ids,ICollection employeeSettingsShifts,double salary) + //{ + // var permittedToOverWrite= RollCallWorkshopEmployeeSettingsCollection.Where(x => ids.Contains(x.id)); + // foreach (var item in permittedToOverWrite) + // { + // item.OverWriteSalaryAndShift(employeeSettingsShifts, salary); + // } + //} + +} diff --git a/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettingsShift.cs b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettingsShift.cs new file mode 100644 index 00000000..a1143ccb --- /dev/null +++ b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/Entities/CustomizeWorkshopGroupSettingsShift.cs @@ -0,0 +1,19 @@ +using _0_Framework.Domain; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +namespace Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; + +public class CustomizeWorkshopGroupSettingsShift( + string startTime, + string endTime, + ShiftPlacement placement) : EntityBase +{ + public string StartTime { get; private set; } = startTime; + public string EndTime { get; private set; } = endTime; + public ShiftPlacement Placement { get; private set; } = placement; + public long CustomizeWorkshopGroupSettingsId { get; private set; } + + public CustomizeWorkshopGroupSettings CustomizeWorkshopGroupSettings { get; set; } + + +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopGroupSettingsAgg/ICustomizeWorkshopGroupSettingsRepository.cs b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/ICustomizeWorkshopGroupSettingsRepository.cs new file mode 100644 index 00000000..e3bdcdc9 --- /dev/null +++ b/Company.Domain/CustomizeWorkshopGroupSettingsAgg/ICustomizeWorkshopGroupSettingsRepository.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using _0_Framework.Domain; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using CompanyManagment.App.Contracts.Employee; + +namespace Company.Domain.CustomizeWorkshopGroupSettingsAgg; + +public interface ICustomizeWorkshopGroupSettingsRepository : IRepository +{ + CustomizeWorkshopGroupSettings GetIncludeWorkshopSettings(long id); + List GetEmployeesWithoutGroup(long workshopId); + CustomizeWorkshopGroupSettings GetWithEmployees(long groupId); + List GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId); + List GetEmployeeSettingsByGroupSettingsId(long groupSettingsId); +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettings.cs b/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettings.cs new file mode 100644 index 00000000..dd86c939 --- /dev/null +++ b/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettings.cs @@ -0,0 +1,145 @@ +using System.Collections.Generic; +using _0_Framework.Domain; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using Company.Domain.WorkshopAgg; + +namespace Company.Domain.CustomizeWorkshopSettingsAgg.Entities; +public class CustomizeWorkshopSettings : EntityBase +{ + private CustomizeWorkshopSettings() + { + } + + public CustomizeWorkshopSettings(long workshopId, + ICollection customizeWorkshopSettingsShifts) + { + FridayPay = new FridayPay(FridayPayType.None,0); + OverTimePay =new OverTimePay(OverTimePayType.None,0); + BaseYearsPay = new BaseYearsPay(BaseYearsPayType.None); + BonusesPay = new BonusesPay(BonusesType.None,0); + NightWorkPay = new NightWorkPay(NightWorkType.None,0); + MarriedAllowance = new MarriedAllowance(MarriedAllowanceType.None,0); + ShiftPay = new ShiftPay(ShiftType.None,ShiftPayType.None,0); + FamilyAllowance = new FamilyAllowance(FamilyAllowanceType.None ,0); + LeavePay = new LeavePay(LeavePayType.None,0); + InsuranceDeduction = new InsuranceDeduction(InsuranceDeductionType.None,0); + FineAbsenceDeduction = new FineAbsenceDeduction(FineAbsenceDeductionType.None,0,new()); + LateToWork = new LateToWork(LateToWorkType.None,new(),0); + EarlyExit = new EarlyExit(EarlyExitType.None,new(),0); + WorkshopId = workshopId; + CustomizeWorkshopSettingsShifts = customizeWorkshopSettingsShifts; + Currency = Currency.Rial; + MaxMonthDays = MaxMonthDays.Default; + } + + /// + /// جمعه کاری + /// + public FridayPay FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePay OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPay BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPay BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPay NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowance MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPay ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowance FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePay LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeduction InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeduction FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWork LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExit EarlyExit { get; private set; } + + /// + /// نوع محاسبه تعداد روز های ماه برای محاسبه فیش حقوقی + /// + public MaxMonthDays MaxMonthDays { get; private set; } + + public long WorkshopId { get; private set; } + public Workshop Workshop { get; set; } + public ICollection CustomizeWorkshopSettingsShifts { get; set; } + public ICollection CustomizeWorkshopGroupSettingsCollection { get; set; } + + public Currency Currency { get; set; } + + + public void Edit(FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, + NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay, + FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, + FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, + ICollection customizeWorkshopSettingsShifts) + { + FridayPay = fridayPay; + OverTimePay = overTimePay; + BaseYearsPay = baseYearsPay; + BonusesPay = bonusesPay; + NightWorkPay = nightWorkPay; + MarriedAllowance = marriedAllowance; + ShiftPay = shiftPay; + FamilyAllowance = familyAllowance; + LeavePay = leavePay; + InsuranceDeduction = insuranceDeduction; + FineAbsenceDeduction = fineAbsenceDeduction; + LateToWork = lateToWork; + EarlyExit = earlyExit; + CustomizeWorkshopSettingsShifts = customizeWorkshopSettingsShifts; + + } + + //edits the shifts of workshop + public void ChangeCurrency(Currency currency) + { + if (currency == Currency) + return; + + Currency = currency; + } +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettingsShift.cs b/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettingsShift.cs new file mode 100644 index 00000000..79ca8703 --- /dev/null +++ b/Company.Domain/CustomizeWorkshopSettingsAgg/Entities/CustomizeWorkshopSettingsShift.cs @@ -0,0 +1,17 @@ +using _0_Framework.Domain; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +namespace Company.Domain.CustomizeWorkshopSettingsAgg.Entities; + +public class CustomizeWorkshopSettingsShift( + string startTime, + string endTime, + ShiftPlacement placement) : EntityBase +{ + public string StartTime { get; private set; } = startTime; + public string EndTime { get; private set; } = endTime; + public ShiftPlacement Placement { get; private set; } = placement; + public long CustomizeWorkshopSettingsId { get; private set; } + + public CustomizeWorkshopSettings CustomizeWorkshopSettings { get; set; } +} \ No newline at end of file diff --git a/Company.Domain/CustomizeWorkshopSettingsAgg/ICustomizeWorkshopSettingsRepository.cs b/Company.Domain/CustomizeWorkshopSettingsAgg/ICustomizeWorkshopSettingsRepository.cs new file mode 100644 index 00000000..33d1844b --- /dev/null +++ b/Company.Domain/CustomizeWorkshopSettingsAgg/ICustomizeWorkshopSettingsRepository.cs @@ -0,0 +1,14 @@ +using _0_Framework.Domain; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +namespace Company.Domain.CustomizeWorkshopSettingsAgg; + +public interface ICustomizeWorkshopSettingsRepository : IRepository +{ + // It will Get the Workshop Settings with its groups and the employees of groups. + CustomizeWorkshopSettings GetWorkshopSettingsByWorkshopId(long workshopId); + + CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdGroupSettingsId(long workshopId, + long employeeId); +} \ No newline at end of file diff --git a/Company.Domain/WorkshopAgg/Workshop.cs b/Company.Domain/WorkshopAgg/Workshop.cs index 18c530a3..1daccb68 100644 --- a/Company.Domain/WorkshopAgg/Workshop.cs +++ b/Company.Domain/WorkshopAgg/Workshop.cs @@ -6,6 +6,7 @@ using Company.Domain.CheckoutAgg; using Company.Domain.ClientEmployeeWorkshopAgg; using Company.Domain.ContractAgg; using Company.Domain.CustomizeCheckoutAgg; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; using Company.Domain.EmployeeInsuranceRecordAgg; using Company.Domain.empolyerAgg; using Company.Domain.InsuranceAgg; @@ -218,6 +219,7 @@ public class Workshop : EntityBase public InsuranceWorkshopInfo InsuranceWorkshopInfo { get; set; } public List TaxLeftWorkCategoryList { get; set; } public List CustomizeCheckouts { get; set; } + public CustomizeWorkshopSettings CustomizeWorkshopSettings { get; set; } public void Edit(string workshopName, string workshopSureName, string insuranceCode,string typeOfOwnership, string archiveCode, string agentName, string agentPhone, string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm, diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeEmployeeSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeEmployeeSettings.cs new file mode 100644 index 00000000..13706f9c --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeEmployeeSettings.cs @@ -0,0 +1,76 @@ +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CreateCustomizeEmployeeSettings +{ + /// + /// جمعه کاری + /// + public FridayPayViewModel FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePayViewModel OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPayViewModel BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPayViewModel BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPayViewModel NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowanceViewModel MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPayViewModel ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowanceViewModel FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePayViewModel LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeductionViewModel InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWorkViewModel LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExitViewModel EarlyExit { get; private set; } + public List EmployeeIds { get; set; } + public long GroupId { get; set; } + public long WorkshopSettingId { get; set; } + public long WorkshopId { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopGroupSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopGroupSettings.cs new file mode 100644 index 00000000..06e841b0 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopGroupSettings.cs @@ -0,0 +1,14 @@ + +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CreateCustomizeWorkshopGroupSettings +{ + + public string Name { get; set; } + public string Salary { get; set; } + public long CustomizeWorkshopSettingId { get; set; } + public IEnumerable ShiftViewModel { get; set; } + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopSettings.cs new file mode 100644 index 00000000..baf04331 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CreateCustomizeWorkshopSettings.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CreateCustomizeWorkshopSettings +{ + public IEnumerable ShiftsList { get; set; } + + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs new file mode 100644 index 00000000..20855cdc --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CustomizeWorkshopEmployeeSettingsViewModel +{ + public long Id { get; set; } + public long EmployeeId { get; set; } + public double Salary { get; set;} + public bool IsChanged { get; set; } + public string Name { get; set; } + public List RollCallWorkshopShifts { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopGroupSettingsViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopGroupSettingsViewModel.cs new file mode 100644 index 00000000..cac57e60 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopGroupSettingsViewModel.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CustomizeWorkshopGroupSettingsViewModel +{ + public long Id { get; set; } + public double Salary { get; set; } + public string GroupName { get; set; } + public List RollCallWorkshopShifts { get; set; } + public List RollCallWorkshopEmployeesSettings { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopSettingsViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopSettingsViewModel.cs new file mode 100644 index 00000000..4ded8bb7 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopSettingsViewModel.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CustomizeWorkshopSettingsViewModel +{ + public long Id { get; set; } + public string Name { get; set; } + public List GroupSettings { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopShiftViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopShiftViewModel.cs new file mode 100644 index 00000000..d2a0b700 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopShiftViewModel.cs @@ -0,0 +1,8 @@ +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class CustomizeWorkshopShiftViewModel +{ + public string StartTime { get; set; } + public string EndTime { get; set; } + public ShiftPlacement Placement { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeEmployeeSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeEmployeeSettings.cs new file mode 100644 index 00000000..eedbc9c7 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeEmployeeSettings.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class EditCustomizeEmployeeSettings:CreateCustomizeEmployeeSettings +{ + public long Id { get; set; } + public string Salary { get; set; } + public string EmployeeFullName { get; set; } + public IEnumerable ShiftViewModel { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopGroupSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopGroupSettings.cs new file mode 100644 index 00000000..defd0e34 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopGroupSettings.cs @@ -0,0 +1,82 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; +using System.Collections.Generic; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class EditCustomizeWorkshopGroupSettings:CreateCustomizeWorkshopGroupSettings +{ + public long Id { get; set; } + public List EmployeeIds { get; set; } + /// + /// نوع محاسبه تعداد روز های ماه برای محاسبه فیش حقوقی + /// + public MaxMonthDays MaxMonthDays { get; set; } + + /// + /// جمعه کاری + /// + public FridayPayViewModel FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePayViewModel OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPayViewModel BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPayViewModel BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPayViewModel NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowanceViewModel MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPayViewModel ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowanceViewModel FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePayViewModel LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeductionViewModel InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWorkViewModel LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExitViewModel EarlyExit { get; private set; } + + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopSettings.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopSettings.cs new file mode 100644 index 00000000..2eaa7302 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/EditCustomizeWorkshopSettings.cs @@ -0,0 +1,80 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public class EditCustomizeWorkshopSettings:CreateCustomizeWorkshopSettings +{ + public long Id { get; set; } + public Currency Currency { get; set; } + + /// + /// نوع محاسبه تعداد روز های ماه برای محاسبه فیش حقوقی + /// + public MaxMonthDays MaxMonthDays { get; set; } + + /// + /// جمعه کاری + /// + public FridayPayViewModel FridayPay { get; private set; } + + /// + /// اضافه کاری + /// + public OverTimePayViewModel OverTimePay { get; private set; } + + /// + /// سنوات + /// + public BaseYearsPayViewModel BaseYearsPay { get; private set; } + + /// + /// عیدی + /// + public BonusesPayViewModel BonusesPay { get; private set; } + + /// + /// شب کاری + /// + public NightWorkPayViewModel NightWorkPay { get; private set; } + + /// + /// حق تاهل + /// + public MarriedAllowanceViewModel MarriedAllowance { get; private set; } + + /// + /// نوبت کاری + /// + public ShiftPayViewModel ShiftPay { get; private set; } + + /// + /// حق اولاد(حق فرزند)ء + /// + public FamilyAllowanceViewModel FamilyAllowance { get; private set; } + + /// + /// مزد مرخصی + /// + public LeavePayViewModel LeavePay { get; private set; } + + /// + /// حق بیمه + /// + public InsuranceDeductionViewModel InsuranceDeduction { get; private set; } + + /// + /// جریمه غیبت + /// + public FineAbsenceDeductionViewModel FineAbsenceDeduction { get; private set; } + + /// + /// تاخیر در ورود + /// + public LateToWorkViewModel LateToWork { get; private set; } + + /// + /// نعجیل در خروج + /// + public EarlyExitViewModel EarlyExit { get; private set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ICustomizeWorkshopSettingsApplication.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ICustomizeWorkshopSettingsApplication.cs new file mode 100644 index 00000000..197ad3c4 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ICustomizeWorkshopSettingsApplication.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +using _0_Framework.Application; +using CompanyManagment.App.Contracts.Employee; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public interface ICustomizeWorkshopSettingsApplication +{ + //Create workshop settings + OperationResult CreateWorkshopSettings(CreateCustomizeWorkshopSettings command); + + //create group settings with workshopSettingsId. + OperationResult CreateGroupSettingsByRollCallWorkshopSettingId(CreateCustomizeWorkshopGroupSettings command); + + + OperationResult CreateRollCallEmployeeSettings(CreateCustomizeEmployeeSettings command); + + //Edit the Workshop Settings Data + OperationResult EditWorkshopSetting(EditCustomizeWorkshopSettings command); + + //Edit the Group Settings Data + OperationResult EditRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command); + + //Edit the Employee settings and change the 'IsChanged' bool to true. + OperationResult EditRollCallEmployeeSettings(EditCustomizeEmployeeSettings command); + + //Remove the Employee From the Group Settings + OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId,long groupId); + + // It will Get the Workshop Settings with its groups and the employees of groups. + CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId); + + List GetChangedEmployeeSettingsByGroupSettingsId( + long groupSettingsId); + List GetEmployeesWithoutGroup(long rollCallWorkshopSettingId); + CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdGroupSettingsId(long workshopId,long employeeId); + + List GetEmployeeSettingsByGroupSettingsId(long groupSettingsId); +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ShiftPlacement.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ShiftPlacement.cs new file mode 100644 index 00000000..0e343168 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ShiftPlacement.cs @@ -0,0 +1,8 @@ +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings; + +public enum ShiftPlacement +{ + First, + Second, + Third +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BaseYearsPayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BaseYearsPayViewModel.cs new file mode 100644 index 00000000..7e2517c0 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BaseYearsPayViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class BaseYearsPayViewModel +{ + public BaseYearsPayType BaseYearsPayType { get; set; } + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BonusesPayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BonusesPayViewModel.cs new file mode 100644 index 00000000..72d02949 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/BonusesPayViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class BonusesPayViewModel +{ + public BonusesType BonusesPayType { get; set; } + public int Percentage { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitTimeFineViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitTimeFineViewModel.cs new file mode 100644 index 00000000..88c8b4c7 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitTimeFineViewModel.cs @@ -0,0 +1,14 @@ +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class EarlyExitTimeFineViewModel +{ + /// + /// دقیقه تعیین شده برای جریمه + /// + public string Minute { get; set; } + + /// + /// مبلغ تعیین شده برای جریمه + /// + public double FineMoney { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitViewModel.cs new file mode 100644 index 00000000..d44f1e5a --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/EarlyExitViewModel.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class EarlyExitViewModel +{ + /// + /// نوع حساب کردن تعجیل در خروج + /// + public EarlyExitType EarlyExitType { get; private set; } + + /// + /// جریمه های اختصاصی پله ای + /// + public List EarlyExitTimeFinesViewModels { get; private set; } + + ///// + ///// نوع محاسبه جریمه های اختصاصی پله ای. این بخش میتواند نال باشد چون ممکن است شخص جریمه ای اختصاص ندهد + ///// + //public EarlyExitTimeFineType? EarlyExitTimeFineType { get; private set; } + + public double Value { get; private set; } + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FamilyAllowanceViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FamilyAllowanceViewModel.cs new file mode 100644 index 00000000..777ace78 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FamilyAllowanceViewModel.cs @@ -0,0 +1,19 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class FamilyAllowanceViewModel +{ + /// + /// نوع حق اولاد را مشخص میکند که آیا پرداخت نمیکند یا به صورت درصدی پرداخت میکند یا به صورت مبلغ اختصاصی + /// + public FamilyAllowanceType FamilyAllowanceType { get; set; } + + /// + /// تعداد فرزند هایی حق اولاد به آنها تعلق میگیرد. + /// + // ReSharper disable once GrammarMistakeInComment + //public NumberOfChildren NumberOfChildren { get; set; } + + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDayOfWeekViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDayOfWeekViewModel.cs new file mode 100644 index 00000000..89fbdd5d --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDayOfWeekViewModel.cs @@ -0,0 +1,17 @@ +using System; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class FineAbsenceDayOfWeekViewModel +{ + /// + /// روز های هفته + /// + public DayOfWeek DayOfWeek { get; set; } + ///// + ///// نوع جریمه غیبت بر اساس روز خاصی از هفته + ///// + //public FineAbsenceDayOfWeekType AbsenceDayOfWeekType { get; set; } + + //public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDeductionViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDeductionViewModel.cs new file mode 100644 index 00000000..efcd265b --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FineAbsenceDeductionViewModel.cs @@ -0,0 +1,19 @@ +using System.Collections.Generic; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class FineAbsenceDeductionViewModel +{ + /// + /// نوع جریمه غیبت + /// + public FineAbsenceDeductionType FineAbsenceDeductionType { get; set; } + + public double Value { get; set; } + + /// + /// جریمه های اختصاصی به ازای روز های هفته + /// + public List FineAbsenceDayOfWeekViewModels { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FridayPayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FridayPayViewModel.cs new file mode 100644 index 00000000..a0704aad --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/FridayPayViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class FridayPayViewModel +{ + public FridayPayType FridayPayType { get; set; } + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/InsuranceDeductionViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/InsuranceDeductionViewModel.cs new file mode 100644 index 00000000..3f396b31 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/InsuranceDeductionViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class InsuranceDeductionViewModel +{ + public InsuranceDeductionType InsuranceDeductionType { get; set; } + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkTimeFineVewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkTimeFineVewModel.cs new file mode 100644 index 00000000..88c466c0 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkTimeFineVewModel.cs @@ -0,0 +1,14 @@ +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class LateToWorkTimeFineVewModel +{ + /// + /// دقیقه تعیین شده برای جریمه + /// + public string Minute { get; set; } + + /// + /// مبلغ تعیین شده برای جریمه + /// + public double FineMoney { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkViewModel.cs new file mode 100644 index 00000000..8c092491 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LateToWorkViewModel.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class LateToWorkViewModel +{ + /// + /// نوع حساب کردن تاخیر در ورود + /// + public LateToWorkType LateToWorkType { get; private set; } + + /// + /// این مقدار اگر نوع حساب کردن به صور مبلغی باشد از این بخش استفاده میشود + /// + public double Value { get; private set; } + + /// + /// جریمه های اختصاصی پله ای + /// + public List LateToWorkTimeFinesVewModels { get; private set; } + + ///// + ///// نوع محاسبه جریمه های اختصاصی پله ای. این بخش میتواند نال باشد چون ممکن است شخص جریمه ای اختصاص ندهد + ///// + //public LateToWorkTimeFineType? LateToWorkTimeFineType { get; private set; } + +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LeavePayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LeavePayViewModel.cs new file mode 100644 index 00000000..0e564f3b --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/LeavePayViewModel.cs @@ -0,0 +1,18 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class LeavePayViewModel +{ + /// + /// نوع مرخصی + /// + public LeavePayType LeavePayType { get; set; } + + ///// + ///// تعداد روز های مجاز مرخصی + ///// + //public string DayCountAllowable { get; set; } + + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/MarriedAllowanceViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/MarriedAllowanceViewModel.cs new file mode 100644 index 00000000..48b83d95 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/MarriedAllowanceViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class MarriedAllowanceViewModel +{ + public MarriedAllowanceType MarriedAllowanceType { get; set; } + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/NightWorkPayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/NightWorkPayViewModel.cs new file mode 100644 index 00000000..c5f4f6f2 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/NightWorkPayViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class NightWorkPayViewModel +{ + public NightWorkType NightWorkingType { get; set; } + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/OverTimePayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/OverTimePayViewModel.cs new file mode 100644 index 00000000..a80a04a3 --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/OverTimePayViewModel.cs @@ -0,0 +1,9 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class OverTimePayViewModel +{ + public OverTimePayType OverTimePayType { get; set; } + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/ShiftPayViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/ShiftPayViewModel.cs new file mode 100644 index 00000000..134435be --- /dev/null +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/ValueObjectsViewModel/ShiftPayViewModel.cs @@ -0,0 +1,18 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; + +namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel; + +public class ShiftPayViewModel +{ + /// + /// نوع نوبت کاری را مشخص میکند . به عنوان مثال: صبح و عصر، عصر و شب و غیره... + /// + public ShiftType ShiftType { get; set; } + + /// + /// نوع پرداخت را مشخص میکند که آیا به صورت درصدی است یا مبلغ اختصاصی. + /// + public ShiftPayType ShiftPayType { get; set; } + + public double Value { get; set; } +} \ No newline at end of file diff --git a/CompanyManagment.Application/CustomizeWorkshopSettingsApplication.cs b/CompanyManagment.Application/CustomizeWorkshopSettingsApplication.cs new file mode 100644 index 00000000..3c900492 --- /dev/null +++ b/CompanyManagment.Application/CustomizeWorkshopSettingsApplication.cs @@ -0,0 +1,377 @@ +using System.Collections.Generic; +using System.Linq; +using _0_Framework.Application; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using Company.Domain.CustomizeWorkshopSettingsAgg; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; +using Company.Domain.EmployeeAgg; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using CompanyManagment.App.Contracts.Employee; + + +namespace CompanyManagment.Application; + +public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepository customizeWorkshopSettingsRepository, + IAuthHelper authHelper, IPasswordHasher passwordHasher, + ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository, IEmployeeRepository employeeRepository, + ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository) + : ICustomizeWorkshopSettingsApplication +{ + private readonly ICustomizeWorkshopSettingsRepository _customizeWorkshopSettingsRepository = customizeWorkshopSettingsRepository; + private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository = customizeWorkshopGroupSettingsRepository; + private readonly ICustomizeWorkshopEmployeeSettingsRepository _customizeWorkshopEmployeeSettingsRepository = customizeWorkshopEmployeeSettingsRepository; + private readonly IAuthHelper _authHelper = authHelper; + private readonly IEmployeeRepository _employeeRepository = employeeRepository; + private readonly IPasswordHasher _passwordHasher = passwordHasher; + + //Create workshop settings + public OperationResult CreateWorkshopSettings(CreateCustomizeWorkshopSettings command) + { + OperationResult op = new(); + var workshopId = _passwordHasher.SlugDecrypt(_authHelper.GetWorkshopSlug()); + + if (command.ShiftsList.Any(x => string.IsNullOrWhiteSpace(x.StartTime) || string.IsNullOrWhiteSpace(x.EndTime))) + return op.Failed("ساعات کاری شروع و پایان نمیتواند خالی باشد"); + + #region Validation + if (workshopId < 1) + { + return op.Failed("خطای سیستمی"); + } + #endregion + //تبدیل شیفت های ویو مدل به انتیتی + var shiftCollection = + command.ShiftsList.Select(x => new CustomizeWorkshopSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + + var record = new CustomizeWorkshopSettings(workshopId,shiftCollection); + _customizeWorkshopSettingsRepository.Create(record); + _customizeWorkshopSettingsRepository.SaveChanges(); + return op.Succcedded(record.id); + } + + //create group settings with workshopSettingsId. + public OperationResult CreateGroupSettingsByRollCallWorkshopSettingId(CreateCustomizeWorkshopGroupSettings command) + { + OperationResult op = new(); + + #region validation + + if (!_customizeWorkshopSettingsRepository.Exists(x => x.id == command.CustomizeWorkshopSettingId)) + return op.Failed("چنین ساعت کاری برای کارگاهی وجود ندارد"); + + #endregion + + double salary = command.Salary.MoneyToDouble(); + + var collection = command.ShiftViewModel + .Select(x => new CustomizeWorkshopGroupSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + + var entity = new CustomizeWorkshopGroupSettings(command.Name, salary, command.CustomizeWorkshopSettingId ,collection); + _customizeWorkshopGroupSettingsRepository.Create(entity); + + _customizeWorkshopGroupSettingsRepository.SaveChanges(); + return op.Succcedded(); + } + + //Create Employee Settings with Group data. It will Replace the Group data (such as salary, shifts and ...) on Employee settings On creation. + public OperationResult CreateRollCallEmployeeSettings(CreateCustomizeEmployeeSettings command) + { + OperationResult op = new(); + + #region Validation + + if (!_customizeWorkshopGroupSettingsRepository.Exists(x => x.id == command.GroupId)) + return op.Failed("چنین گروهی وجود ندارد"); + if (!_employeeRepository.Exists(x => command.EmployeeIds.Any(y => x.id == y))) + return op.Failed("چنین پرسنلی وجود ندارد"); + #endregion + + var groupData = _customizeWorkshopGroupSettingsRepository.GetIncludeWorkshopSettings(command.GroupId); + var shifts = groupData.CustomizeWorkshopGroupSettingsShifts.Select(x => + new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + foreach (var id in command.EmployeeIds) + { + + var entity = new CustomizeWorkshopEmployeeSettings(groupData.FridayPay,groupData.OverTimePay, + groupData.BaseYearsPay,groupData.BonusesPay,groupData.NightWorkPay,groupData.MarriedAllowance, + groupData.ShiftPay,groupData.FamilyAllowance,groupData.LeavePay,groupData.InsuranceDeduction, + groupData.FineAbsenceDeduction,groupData.LateToWork,groupData.EarlyExit,id, + groupData.CustomizeWorkshopSettings.WorkshopId , groupData.Salary, groupData.id,shifts ); + _customizeWorkshopEmployeeSettingsRepository.Create(entity); + } + + _customizeWorkshopEmployeeSettingsRepository.SaveChanges(); + return op.Succcedded(); + } + + //Edit the Workshop Settings Data + public OperationResult EditWorkshopSetting(EditCustomizeWorkshopSettings command) + { + OperationResult op = new(); + + #region Validation + + if (!_customizeWorkshopSettingsRepository.Exists(x => x.id == command.Id)) + return op.Failed("خطای سیستمی"); + + #endregion + + var entity = _customizeWorkshopSettingsRepository.Get(command.Id); + + FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value); + OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value); + BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType); + BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage); + NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value); + MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value); + ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value); + FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value); + LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value); + InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value); + FineAbsenceDeduction fineAbsenceDeduction = new( + command.FineAbsenceDeduction.FineAbsenceDeductionType, command.FineAbsenceDeduction.Value, + command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels + .Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList() + ); + LateToWork lateToWork = new( + command.LateToWork.LateToWorkType, + command.LateToWork.LateToWorkTimeFinesVewModels.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.LateToWork.Value + ); + + EarlyExit earlyExit = new(command.EarlyExit.EarlyExitType, + command.EarlyExit.EarlyExitTimeFinesViewModels.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.EarlyExit.Value); + + var shifts = + command.ShiftsList.Select(x => new CustomizeWorkshopSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + + entity.Edit(fridayPay,overTimePay,baseYearsPay,bonusesPay,nightWorkPay,marriedAllowance,shiftPay,familyAllowance,leavePay,insuranceDeduction, + fineAbsenceDeduction,lateToWork,earlyExit,shifts); + + _customizeWorkshopSettingsRepository.SaveChanges(); + + return op.Succcedded(); + } + + //Edit the Group Settings Data + public OperationResult EditRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command) + { + OperationResult op = new(); + + #region Validation + if (!_customizeWorkshopGroupSettingsRepository.Exists(x => x.id == command.Id)) + return op.Failed("خطای سیستمی"); + + #endregion + + + var entity = _customizeWorkshopGroupSettingsRepository.GetWithEmployees(command.Id); + + FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value); + OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value); + BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType); + BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage); + NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value); + MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value); + ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value); + FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value); + LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value); + InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value); + FineAbsenceDeduction fineAbsenceDeduction = new( + command.FineAbsenceDeduction.FineAbsenceDeductionType, command.FineAbsenceDeduction.Value, + command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels + .Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList() + ); + LateToWork lateToWork = new( + command.LateToWork.LateToWorkType, + command.LateToWork.LateToWorkTimeFinesVewModels.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.LateToWork.Value + ); + EarlyExit earlyExit = new(command.EarlyExit.EarlyExitType, + command.EarlyExit.EarlyExitTimeFinesViewModels.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.EarlyExit.Value); + + double salary = command.Salary.MoneyToDouble(); + + var employeesShifts = command.ShiftViewModel.Select(x => new CustomizeWorkshopGroupSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + entity.EditAndOverwriteOnEmployees(command.Name, salary, command.EmployeeIds,fridayPay,overTimePay, + baseYearsPay,bonusesPay,shiftPay,nightWorkPay,marriedAllowance,familyAllowance, + leavePay,insuranceDeduction,fineAbsenceDeduction,lateToWork,earlyExit,employeesShifts); + + _customizeWorkshopGroupSettingsRepository.SaveChanges(); + + return op.Succcedded(); + } + + //Edit the Employee settings and change the 'IsChanged' bool to true. + public OperationResult EditRollCallEmployeeSettings(EditCustomizeEmployeeSettings command) + { + OperationResult op = new(); + var entity = _customizeWorkshopEmployeeSettingsRepository.Get(command.Id); + + #region Validation + + if (entity == null) + return op.Failed("چنین پرسنلی وجود ندارد"); + + #endregion + + FridayPay fridayPay = new(command.FridayPay.FridayPayType, command.FridayPay.Value); + OverTimePay overTimePay = new(command.OverTimePay.OverTimePayType, command.OverTimePay.Value); + BaseYearsPay baseYearsPay = new(command.BaseYearsPay.BaseYearsPayType); + BonusesPay bonusesPay = new(command.BonusesPay.BonusesPayType, command.BonusesPay.Percentage); + NightWorkPay nightWorkPay = new(command.NightWorkPay.NightWorkingType, command.NightWorkPay.Value); + MarriedAllowance marriedAllowance = new(command.MarriedAllowance.MarriedAllowanceType, command.MarriedAllowance.Value); + ShiftPay shiftPay = new(command.ShiftPay.ShiftType, command.ShiftPay.ShiftPayType, command.ShiftPay.Value); + FamilyAllowance familyAllowance = new(command.FamilyAllowance.FamilyAllowanceType, command.FamilyAllowance.Value); + LeavePay leavePay = new(command.LeavePay.LeavePayType, command.LeavePay.Value); + InsuranceDeduction insuranceDeduction = new(command.InsuranceDeduction.InsuranceDeductionType, command.InsuranceDeduction.Value); + FineAbsenceDeduction fineAbsenceDeduction = new( + command.FineAbsenceDeduction.FineAbsenceDeductionType, command.FineAbsenceDeduction.Value, + command.FineAbsenceDeduction.FineAbsenceDayOfWeekViewModels + .Select(x => new FineAbsenceDayOfWeek(x.DayOfWeek)).ToList() + ); + LateToWork lateToWork = new( + command.LateToWork.LateToWorkType, + command.LateToWork.LateToWorkTimeFinesVewModels.Select(x => new LateToWorkTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.LateToWork.Value + ); + EarlyExit earlyExit = new(command.EarlyExit.EarlyExitType, + command.EarlyExit.EarlyExitTimeFinesViewModels.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney)) + .ToList(), command.EarlyExit.Value); + + + double salary = command.Salary.MoneyToDouble(); + + var employeesShifts = command.ShiftViewModel.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(); + + //change employee data manually. It changes the 'IsChanged' property to true. + entity.EditEmployeesAndMakeIsChangeTrue(employeesShifts, salary,fridayPay, overTimePay, baseYearsPay, + bonusesPay, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, + insuranceDeduction, fineAbsenceDeduction, lateToWork, earlyExit); + + + _customizeWorkshopEmployeeSettingsRepository.SaveChanges(); + return op.Succcedded(); + } + + public List GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId) + { + return _customizeWorkshopGroupSettingsRepository.GetChangedEmployeeSettingsByGroupSettingsId( + groupSettingsId); + } + + + //Remove the Employee From the Group Settings + public OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId, long groupId) + { + OperationResult op = new(); + var groupEntity = _customizeWorkshopGroupSettingsRepository.GetWithEmployees(groupId); + + #region Validation + + if (groupEntity == null) + { + return op.Failed("چنین گروهی وجود ندارد"); + } + + #endregion + + groupEntity.RemoveEmployeeFromGroup(employeeId); + _customizeWorkshopGroupSettingsRepository.SaveChanges(); + return op.Succcedded(); + } + + // It will Get the Workshop Settings with its groups and the employees of groups. + public CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId) + { + var user = _authHelper.CurrentAccountInfo(); + + #region Validation + + if (workshopId is < 1) + return new(); + + var record = _customizeWorkshopSettingsRepository.GetWorkshopSettingsByWorkshopId(workshopId); + + if (record == null) + return new(); + + #endregion + + return new CustomizeWorkshopSettingsViewModel() + { + Id = record.id, + Name = user.WorkshopList.FirstOrDefault(w => w.Id == record.WorkshopId)?.Name, + GroupSettings = record.CustomizeWorkshopGroupSettingsCollection.Select(x => + new CustomizeWorkshopGroupSettingsViewModel() + { + Id = x.id, + GroupName = x.GroupName, + RollCallWorkshopEmployeesSettings = x.CustomizeWorkshopEmployeeSettingsCollection.Select(y => + { + var employee = _employeeRepository.Get(y.EmployeeId); + return new CustomizeWorkshopEmployeeSettingsViewModel() + { + Id = y.id, + EmployeeId = y.EmployeeId, + IsChanged = y.IsChanged, + Name = $"{employee.FName} {employee.LName}", + RollCallWorkshopShifts = y.CustomizeWorkshopEmployeeSettingsShifts.Select(s => + new CustomizeWorkshopShiftViewModel() + { + EndTime = s.EndTime, + Placement = s.Placement, + StartTime = s.StartTime + }).ToList(), + Salary = y.Salary, + + }; + }).ToList(), + Salary = x.Salary, + RollCallWorkshopShifts = x.CustomizeWorkshopGroupSettingsShifts.Select(s => + new CustomizeWorkshopShiftViewModel() + { + EndTime = s.EndTime, + Placement = s.Placement, + StartTime = s.StartTime + + }).ToList(), + }).ToList(), + }; + } + + public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdGroupSettingsId(long workshopId, + long employeeId) + { + throw new System.NotImplementedException(); + } + + public List GetEmployeeSettingsByGroupSettingsId(long groupSettingsId) + { + + List result = _customizeWorkshopGroupSettingsRepository.GetEmployeeSettingsByGroupSettingsId(groupSettingsId); + + if (result == null) + return new(); + + return result; + + } + + public List GetEmployeesWithoutGroup(long rollCallWorkshopSettingId) + { + return _customizeWorkshopGroupSettingsRepository.GetEmployeesWithoutGroup(rollCallWorkshopSettingId); + } + + public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByEmployeeIdWorkshopId(long workshopId, long employeeId) + { + return _customizeWorkshopSettingsRepository.GetEmployeeSettingsByWorkshopIdGroupSettingsId(workshopId, employeeId); + } + +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/CompanyContext.cs b/CompanyManagment.EFCore/CompanyContext.cs index 4e38af23..56ef4dab 100644 --- a/CompanyManagment.EFCore/CompanyContext.cs +++ b/CompanyManagment.EFCore/CompanyContext.cs @@ -13,6 +13,9 @@ using Company.Domain.CrossJobAgg; using Company.Domain.CrossJobGuildAgg; using Company.Domain.CrossJobItemsAgg; using Company.Domain.CustomizeCheckoutAgg; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; using Company.Domain.DateSalaryAgg; using Company.Domain.DateSalaryItemAgg; using Company.Domain.EmployeeAccountAgg; @@ -130,9 +133,19 @@ public class CompanyContext : DbContext //public DbSet Tasks { get; set; } //public DbSet TaskStatuses { get; set; } //public DbSet TaskTitles { get; set; } - - + + //-------Main-Project---------------------------- + + #region Mahan + + + //-----------------------------RollCallWorkshopSettings----------------------------- + public DbSet CustomizeWorkshopSettings { get; set; } + public DbSet CustomizeWorkshopGroupSettings { get; set; } + public DbSet CustomizeWorkshopEmployeeSettings { get; set; } + + #endregion public DbSet CustomizeCheckouts { get; set; } public DbSet TaxLeftWorkItems { get; set; } public DbSet TaxLeftWorkCategories { get; set; } diff --git a/CompanyManagment.EFCore/Mapping/CustomizeWorkshopEmployeeSettingsMapping.cs b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopEmployeeSettingsMapping.cs new file mode 100644 index 00000000..25a3363b --- /dev/null +++ b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopEmployeeSettingsMapping.cs @@ -0,0 +1,202 @@ +using System; +using System.Security.Cryptography.X509Certificates; +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace CompanyManagment.EFCore.Mapping; + +public class CustomizeWorkshopEmployeeSettingsMapping : IEntityTypeConfiguration +{ + public void Configure(EntityTypeBuilder builder) + { + builder.ToTable("CustomizeWorkshopEmployeeSettings"); + builder.HasKey(x => x.id); + + builder.HasOne(x => x.CustomizeWorkshopGroupSettings).WithMany(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .HasForeignKey(x => x.CustomizeWorkshopGroupSettingId); + + builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay => + { + baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType"); + baseYearsPay.Property(x => x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType"); + + baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value"); + + }); + + builder.OwnsOne(x => x.BonusesPay, bonusesPay => + { + bonusesPay.Property(x => x.BonusesPayType).HasConversion( + v => v.ToString("d"), + v => (BonusesType)Enum.Parse(typeof(BonusesType), v)).HasMaxLength(1).HasColumnName("BonusesPay_BonusesPayType"); + + bonusesPay.Property(x=>x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BonusesPaymentType)Enum.Parse(typeof(BonusesPaymentType), v)).HasMaxLength(1).HasColumnName("BonusesPay_PaymentType"); + + bonusesPay.Property(x => x.Value).HasColumnName("BonusesPay_Value"); + }); + + + builder.OwnsOne(x => x.EarlyExit, earlyExit => + { + earlyExit.Property(x => x.EarlyExitType).HasConversion( + v => v.ToString("d"), + v => (EarlyExitType)Enum.Parse(typeof(EarlyExitType), v)).HasMaxLength(1).HasColumnName("EarlyExit_EarlyExitType"); + + //earlyExit.Property(x => x.EarlyExitTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (EarlyExitTimeFineType)Enum.Parse(typeof(EarlyExitTimeFineType), v) + // : null).HasColumnName("EarlyExit_EarlyExitTimeFineType").HasMaxLength(1); + + earlyExit.OwnsMany(x => x.EarlyExitTimeFines, earlyExitTimeFines => + { + earlyExitTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + earlyExitTimeFines.Property(x => x.FineMoney).HasColumnName("EarlyExitTimeFines_FineMoney"); + + earlyExitTimeFines.Property(x => x.Minute).HasColumnName("EarlyExitTimeFines_Minute").HasMaxLength(4); + }); + earlyExit.Property(x => x.Value).HasColumnName("EarlyExitTimeFines_Value"); + }); + + builder.OwnsOne(x => x.FamilyAllowance, familyAllowance => + { + familyAllowance.Property(x => x.Value).HasColumnName("FamilyAllowance_Value"); + + //familyAllowance.Property(x => x.NumberOfChildren).HasConversion( + // v => v.ToString("d"), + // v => (NumberOfChildren)Enum.Parse(typeof(NumberOfChildren), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_NumberOfChildren"); + + familyAllowance.Property(x => x.FamilyAllowanceType).HasConversion( + v => v.ToString("d"), + v => (FamilyAllowanceType)Enum.Parse(typeof(FamilyAllowanceType), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_FamilyAllowanceType"); + }); + + + builder.OwnsOne(x => x.FineAbsenceDeduction, fineAbsenceDeduction => + { + fineAbsenceDeduction.Property(x => x.Value).HasColumnName("FineAbsenceDeduction_Value"); + + fineAbsenceDeduction.Property(x => x.FineAbsenceDeductionType).HasConversion( + v => v.ToString("d"), + v => (FineAbsenceDeductionType)Enum.Parse(typeof(FineAbsenceDeductionType), v)).HasMaxLength(1).HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + fineAbsenceDeduction.OwnsMany(x => x.FineAbsenceDayOfWeekCollection, fineAbsenceDayOfWeek => + { + fineAbsenceDayOfWeek.WithOwner().HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + fineAbsenceDayOfWeek.Property(x => x.DayOfWeek).HasConversion( + v => v.ToString("d"), + v => (DayOfWeek)Enum.Parse(typeof(DayOfWeek), v)).HasMaxLength(1) + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + }); + }); + + builder.OwnsOne(x => x.FridayPay, fridayPay => + { + fridayPay.Property(x => x.Value).HasColumnName("FridayPay_Value"); + fridayPay.Property(x => x.FridayPayType).HasConversion( + v => v.ToString("d"), + v => (FridayPayType)Enum.Parse(typeof(FridayPayType), v)).HasMaxLength(1); + }); + + builder.OwnsOne(x => x.InsuranceDeduction, insuranceDeduction => + { + insuranceDeduction.Property(x => x.Value).HasColumnName("InsuranceDeduction_Value"); + insuranceDeduction.Property(x => x.InsuranceDeductionType).HasConversion( + v => v.ToString("d"), + v => (InsuranceDeductionType)Enum.Parse(typeof(InsuranceDeductionType), v)).HasMaxLength(1) + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + }); + + builder.OwnsOne(x => x.LateToWork, lateToWork => + { + lateToWork.Property(x => x.Value).HasColumnName("LateToWork_Value"); + lateToWork.Property(x => x.LateToWorkType).HasConversion( + v => v.ToString("d"), + v => (LateToWorkType)Enum.Parse(typeof(LateToWorkType), v)).HasMaxLength(1) + .HasColumnName("LateToWork_LateToWorkType"); + + //lateToWork.Property(x => x.LateToWorkTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (LateToWorkTimeFineType)Enum.Parse(typeof(LateToWorkTimeFineType), v) + // : null).HasColumnName("LateToWork_LateToWorkTimeFineType").HasMaxLength(1); + lateToWork.OwnsMany(x => x.LateToWorkTimeFines, lateToWorkTimeFines => + { + lateToWorkTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + lateToWorkTimeFines.Property(x => x.FineMoney).HasColumnName("LateToWorkTimeFines_FineMoney"); + lateToWorkTimeFines.Property(x => x.Minute).HasMaxLength(4).HasColumnName("LateToWorkTimeFines_Minute"); + }); + }); + + builder.OwnsOne(x => x.LeavePay, leavePay => + { + leavePay.Property(x => x.Value).HasColumnName("LeavePay_Value"); + //leavePay.Property(x => x.DayCountAllowable).HasMaxLength(3).HasColumnName("LeavePay_DayCountAllowable"); + leavePay.Property(x => x.LeavePayType).HasConversion( + v => v.ToString("d"), + v => (LeavePayType)Enum.Parse(typeof(LeavePayType), v)).HasMaxLength(1) + .HasColumnName("LeavePay_LeavePayType"); + }); + + builder.OwnsOne(x => x.MarriedAllowance, marriedAllowance => + { + marriedAllowance.Property(x => x.Value).HasColumnName("MarriedAllowance_Value"); + marriedAllowance.Property(x => x.MarriedAllowanceType).HasConversion( + v => v.ToString("d"), + v => (MarriedAllowanceType)Enum.Parse(typeof(MarriedAllowanceType), v)).HasMaxLength(1) + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + }); + + builder.OwnsOne(x => x.NightWorkPay, nightWorkPay => + { + nightWorkPay.Property(x => x.NightWorkingType).HasConversion( + v => v.ToString("d"), + v => (NightWorkType)Enum.Parse(typeof(NightWorkType), v)).HasMaxLength(1) + .HasColumnName("NightWorkPay_NightWorkingType"); + nightWorkPay.Property(x => x.Value).HasColumnName("NightWorkPay_Value"); + }); + builder.OwnsOne(x => x.OverTimePay, overTimePay => + { + overTimePay.Property(x => x.Value).HasColumnName("OverTimePay_Value"); + overTimePay.Property(x => x.OverTimePayType).HasConversion( + v => v.ToString("d"), + v => (OverTimePayType)Enum.Parse(typeof(OverTimePayType), v)).HasMaxLength(1) + .HasColumnName("OverTimePay_OverTimePayType"); + }); + builder.OwnsOne(x => x.ShiftPay, shiftPay => + { + shiftPay.Property(x => x.Value).HasColumnName("ShiftPay_Value"); + shiftPay.Property(x=>x.ShiftPayType).HasConversion( + v => v.ToString("d"), + v => (ShiftPayType)Enum.Parse(typeof(ShiftPayType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftPayType"); + shiftPay.Property(x=>x.ShiftType).HasConversion( + v => v.ToString("d"), + v => (ShiftType)Enum.Parse(typeof(ShiftType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftType"); + }); + + builder.OwnsMany(x => x.CustomizeWorkshopEmployeeSettingsShifts, shift => + { + shift.ToTable("CustomizeWorkshopEmployeeSettingsShifts"); + shift.HasKey(x => x.id); + shift.Property(x => x.Placement).HasConversion().HasMaxLength(20); + shift.Property(x => x.StartTime).HasMaxLength(5); + shift.Property(x => x.EndTime).HasMaxLength(5); + + shift.WithOwner(x => x.CustomizeWorkshopEmployeeSettings).HasForeignKey(a => a.CustomizeWorkshopEmployeeSettingsId); + + }); + + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Mapping/CustomizeWorkshopGroupSettingsMapping.cs b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopGroupSettingsMapping.cs new file mode 100644 index 00000000..477826b2 --- /dev/null +++ b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopGroupSettingsMapping.cs @@ -0,0 +1,207 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using System; + +namespace CompanyManagment.EFCore.Mapping; + +public class CustomizeWorkshopGroupSettingsMapping : IEntityTypeConfiguration +{ + public void Configure(EntityTypeBuilder builder) + { + builder.ToTable("CustomizeWorkshopGroupSettings"); + builder.HasKey(x => x.id); + + builder.Property(x => x.GroupName).HasMaxLength(120); + + builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay => + { + baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType"); + baseYearsPay.Property(x => x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType"); + + baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value"); + + }); + + builder.OwnsOne(x => x.BonusesPay, bonusesPay => + { + bonusesPay.Property(x => x.BonusesPayType).HasConversion( + v => v.ToString("d"), + v => (BonusesType)Enum.Parse(typeof(BonusesType), v)).HasMaxLength(1).HasColumnName("BonusesPay_BonusesPayType"); + + bonusesPay.Property(x => x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BonusesPaymentType)Enum.Parse(typeof(BonusesPaymentType), v)).HasMaxLength(1).HasColumnName("BonusesPay_PaymentType"); + + bonusesPay.Property(x => x.Value).HasColumnName("BonusesPay_Value"); + }); + + + builder.OwnsOne(x => x.EarlyExit, earlyExit => + { + earlyExit.Property(x => x.EarlyExitType).HasConversion( + v => v.ToString("d"), + v => (EarlyExitType)Enum.Parse(typeof(EarlyExitType), v)).HasMaxLength(1).HasColumnName("EarlyExit_EarlyExitType"); + + //earlyExit.Property(x => x.EarlyExitTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (EarlyExitTimeFineType)Enum.Parse(typeof(EarlyExitTimeFineType), v) + // : null).HasColumnName("EarlyExit_EarlyExitTimeFineType").HasMaxLength(1); + + earlyExit.OwnsMany(x => x.EarlyExitTimeFines, earlyExitTimeFines => + { + earlyExitTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + earlyExitTimeFines.Property(x => x.FineMoney).HasColumnName("EarlyExitTimeFines_FineMoney"); + + earlyExitTimeFines.Property(x => x.Minute).HasColumnName("EarlyExitTimeFines_Minute").HasMaxLength(4); + }); + earlyExit.Property(x => x.Value).HasColumnName("EarlyExitTimeFines_Value"); + }); + + builder.OwnsOne(x => x.FamilyAllowance, familyAllowance => + { + familyAllowance.Property(x => x.Value).HasColumnName("FamilyAllowance_Value"); + + //familyAllowance.Property(x => x.NumberOfChildren).HasConversion( + // v => v.ToString("d"), + // v => (NumberOfChildren)Enum.Parse(typeof(NumberOfChildren), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_NumberOfChildren"); + + familyAllowance.Property(x => x.FamilyAllowanceType).HasConversion( + v => v.ToString("d"), + v => (FamilyAllowanceType)Enum.Parse(typeof(FamilyAllowanceType), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_FamilyAllowanceType"); + }); + + + builder.OwnsOne(x => x.FineAbsenceDeduction, fineAbsenceDeduction => + { + fineAbsenceDeduction.Property(x => x.Value).HasColumnName("FineAbsenceDeduction_Value"); + + fineAbsenceDeduction.Property(x => x.FineAbsenceDeductionType).HasConversion( + v => v.ToString("d"), + v => (FineAbsenceDeductionType)Enum.Parse(typeof(FineAbsenceDeductionType), v)).HasMaxLength(1).HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + fineAbsenceDeduction.OwnsMany(x => x.FineAbsenceDayOfWeekCollection, fineAbsenceDayOfWeek => + { + fineAbsenceDayOfWeek.WithOwner().HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + fineAbsenceDayOfWeek.Property(x => x.DayOfWeek).HasConversion( + v => v.ToString("d"), + v => (DayOfWeek)Enum.Parse(typeof(DayOfWeek), v)).HasMaxLength(1) + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + }); + }); + + builder.OwnsOne(x => x.FridayPay, fridayPay => + { + fridayPay.Property(x => x.Value).HasColumnName("FridayPay_Value"); + fridayPay.Property(x => x.FridayPayType).HasConversion( + v => v.ToString("d"), + v => (FridayPayType)Enum.Parse(typeof(FridayPayType), v)).HasMaxLength(1); + }); + + builder.OwnsOne(x => x.InsuranceDeduction, insuranceDeduction => + { + insuranceDeduction.Property(x => x.Value).HasColumnName("InsuranceDeduction_Value"); + insuranceDeduction.Property(x => x.InsuranceDeductionType).HasConversion( + v => v.ToString("d"), + v => (InsuranceDeductionType)Enum.Parse(typeof(InsuranceDeductionType), v)).HasMaxLength(1) + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + }); + + builder.OwnsOne(x => x.LateToWork, lateToWork => + { + lateToWork.Property(x => x.Value).HasColumnName("LateToWork_Value"); + lateToWork.Property(x => x.LateToWorkType).HasConversion( + v => v.ToString("d"), + v => (LateToWorkType)Enum.Parse(typeof(LateToWorkType), v)).HasMaxLength(1) + .HasColumnName("LateToWork_LateToWorkType"); + + //lateToWork.Property(x => x.LateToWorkTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (LateToWorkTimeFineType)Enum.Parse(typeof(LateToWorkTimeFineType), v) + // : null).HasColumnName("LateToWork_LateToWorkTimeFineType").HasMaxLength(1); + lateToWork.OwnsMany(x => x.LateToWorkTimeFines, lateToWorkTimeFines => + { + lateToWorkTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopGroupSettingsId"); + lateToWorkTimeFines.Property(x => x.FineMoney).HasColumnName("LateToWorkTimeFines_FineMoney"); + lateToWorkTimeFines.Property(x => x.Minute).HasMaxLength(4).HasColumnName("LateToWorkTimeFines_Minute"); + }); + }); + + builder.OwnsOne(x => x.LeavePay, leavePay => + { + leavePay.Property(x => x.Value).HasColumnName("LeavePay_Value"); + //leavePay.Property(x => x.DayCountAllowable).HasMaxLength(3).HasColumnName("LeavePay_DayCountAllowable"); + leavePay.Property(x => x.LeavePayType).HasConversion( + v => v.ToString("d"), + v => (LeavePayType)Enum.Parse(typeof(LeavePayType), v)).HasMaxLength(1) + .HasColumnName("LeavePay_LeavePayType"); + }); + + builder.OwnsOne(x => x.MarriedAllowance, marriedAllowance => + { + marriedAllowance.Property(x => x.Value).HasColumnName("MarriedAllowance_Value"); + marriedAllowance.Property(x => x.MarriedAllowanceType).HasConversion( + v => v.ToString("d"), + v => (MarriedAllowanceType)Enum.Parse(typeof(MarriedAllowanceType), v)).HasMaxLength(1) + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + }); + + builder.OwnsOne(x => x.NightWorkPay, nightWorkPay => + { + nightWorkPay.Property(x => x.NightWorkingType).HasConversion( + v => v.ToString("d"), + v => (NightWorkType)Enum.Parse(typeof(NightWorkType), v)).HasMaxLength(1) + .HasColumnName("NightWorkPay_NightWorkingType"); + nightWorkPay.Property(x => x.Value).HasColumnName("NightWorkPay_Value"); + }); + builder.OwnsOne(x => x.OverTimePay, overTimePay => + { + overTimePay.Property(x => x.Value).HasColumnName("OverTimePay_Value"); + overTimePay.Property(x => x.OverTimePayType).HasConversion( + v => v.ToString("d"), + v => (OverTimePayType)Enum.Parse(typeof(OverTimePayType), v)).HasMaxLength(1) + .HasColumnName("OverTimePay_OverTimePayType"); + }); + builder.OwnsOne(x => x.ShiftPay, shiftPay => + { + shiftPay.Property(x => x.Value).HasColumnName("ShiftPay_Value"); + shiftPay.Property(x => x.ShiftPayType).HasConversion( + v => v.ToString("d"), + v => (ShiftPayType)Enum.Parse(typeof(ShiftPayType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftPayType"); + shiftPay.Property(x => x.ShiftType).HasConversion( + v => v.ToString("d"), + v => (ShiftType)Enum.Parse(typeof(ShiftType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftType"); + }); + + builder.OwnsMany(x => x.CustomizeWorkshopGroupSettingsShifts, shift => + { + + shift.ToTable("CustomizeWorkshopGroupSettingsShifts"); + shift.HasKey(x => x.id); + shift.Property(x => x.Placement).HasConversion().HasMaxLength(20); + shift.Property(x => x.StartTime).HasMaxLength(5); + shift.Property(x => x.EndTime).HasMaxLength(5); + + shift.WithOwner(x=>x.CustomizeWorkshopGroupSettings).HasForeignKey(a => a.CustomizeWorkshopGroupSettingsId); + + }); + + builder.HasOne(x => x.CustomizeWorkshopSettings).WithMany(x => x.CustomizeWorkshopGroupSettingsCollection) + .HasForeignKey(x => x.CustomizeWorkshopSettingId); + + builder.HasMany(x => x.CustomizeWorkshopEmployeeSettingsCollection).WithOne(x => x.CustomizeWorkshopGroupSettings) + .HasForeignKey(x => x.CustomizeWorkshopGroupSettingId); + + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Mapping/CustomizeWorkshopSettingsMapping.cs b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopSettingsMapping.cs new file mode 100644 index 00000000..5db6e69c --- /dev/null +++ b/CompanyManagment.EFCore/Mapping/CustomizeWorkshopSettingsMapping.cs @@ -0,0 +1,210 @@ +using _0_Framework.Domain.CustomizeCheckoutValueObjects; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using System; + +namespace CompanyManagment.EFCore.Mapping; + +public class CustomizeWorkshopSettingsMapping:IEntityTypeConfiguration +{ + public void Configure(EntityTypeBuilder builder) + { + builder.ToTable("CustomizeWorkshopSettings"); + builder.HasKey(x => x.id); + builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay => + { + baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType"); + }); + + builder.OwnsOne(x => x.BaseYearsPay, baseYearsPay => + { + baseYearsPay.Property(a => a.BaseYearsPayType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPayType)Enum.Parse(typeof(BaseYearsPayType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_BaseYearsPayType"); + baseYearsPay.Property(x => x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BaseYearsPaymentType)Enum.Parse(typeof(BaseYearsPaymentType), v)).HasMaxLength(1).HasColumnName("BaseYearsPay_PaymentType"); + + baseYearsPay.Property(x => x.Value).HasColumnName("BaseYearsPay_Value"); + + }); + + builder.OwnsOne(x => x.BonusesPay, bonusesPay => + { + bonusesPay.Property(x => x.BonusesPayType).HasConversion( + v => v.ToString("d"), + v => (BonusesType)Enum.Parse(typeof(BonusesType), v)).HasMaxLength(1).HasColumnName("BonusesPay_BonusesPayType"); + + bonusesPay.Property(x => x.PaymentType).HasConversion( + v => v.ToString("d"), + v => (BonusesPaymentType)Enum.Parse(typeof(BonusesPaymentType), v)).HasMaxLength(1).HasColumnName("BonusesPay_PaymentType"); + + bonusesPay.Property(x => x.Value).HasColumnName("BonusesPay_Value"); + }); + + + builder.OwnsOne(x => x.EarlyExit, earlyExit => + { + earlyExit.Property(x => x.EarlyExitType).HasConversion( + v => v.ToString("d"), + v => (EarlyExitType)Enum.Parse(typeof(EarlyExitType), v)).HasMaxLength(1).HasColumnName("EarlyExit_EarlyExitType"); + + //earlyExit.Property(x => x.EarlyExitTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (EarlyExitTimeFineType)Enum.Parse(typeof(EarlyExitTimeFineType), v) + // : null).HasColumnName("EarlyExit_EarlyExitTimeFineType").HasMaxLength(1); + + earlyExit.OwnsMany(x => x.EarlyExitTimeFines, earlyExitTimeFines => + { + earlyExitTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopSettingsId"); + + earlyExitTimeFines.Property(x => x.FineMoney).HasColumnName("EarlyExitTimeFines_FineMoney"); + + earlyExitTimeFines.Property(x => x.Minute).HasColumnName("EarlyExitTimeFines_Minute").HasMaxLength(4); + }); + earlyExit.Property(x => x.Value).HasColumnName("EarlyExitTimeFines_Value"); + }); + + builder.OwnsOne(x => x.FamilyAllowance, familyAllowance => + { + familyAllowance.Property(x => x.Value).HasColumnName("FamilyAllowance_Value"); + + //familyAllowance.Property(x => x.NumberOfChildren).HasConversion( + // v => v.ToString("d"), + // v => (NumberOfChildren)Enum.Parse(typeof(NumberOfChildren), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_NumberOfChildren"); + + familyAllowance.Property(x => x.FamilyAllowanceType).HasConversion( + v => v.ToString("d"), + v => (FamilyAllowanceType)Enum.Parse(typeof(FamilyAllowanceType), v)).HasMaxLength(1).HasColumnName("FamilyAllowance_FamilyAllowanceType"); + }); + + + builder.OwnsOne(x => x.FineAbsenceDeduction, fineAbsenceDeduction => + { + fineAbsenceDeduction.Property(x => x.Value).HasColumnName("FineAbsenceDeduction_Value"); + + fineAbsenceDeduction.Property(x => x.FineAbsenceDeductionType).HasConversion( + v => v.ToString("d"), + v => (FineAbsenceDeductionType)Enum.Parse(typeof(FineAbsenceDeductionType), v)).HasMaxLength(1).HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + fineAbsenceDeduction.OwnsMany(x => x.FineAbsenceDayOfWeekCollection, fineAbsenceDayOfWeek => + { + fineAbsenceDayOfWeek.WithOwner().HasForeignKey("CustomizeWorkshopSettingsId"); + + fineAbsenceDayOfWeek.Property(x => x.DayOfWeek).HasConversion( + v => v.ToString("d"), + v => (DayOfWeek)Enum.Parse(typeof(DayOfWeek), v)).HasMaxLength(1) + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + }); + }); + + builder.OwnsOne(x => x.FridayPay, fridayPay => + { + fridayPay.Property(x => x.Value).HasColumnName("FridayPay_Value"); + fridayPay.Property(x => x.FridayPayType).HasConversion( + v => v.ToString("d"), + v => (FridayPayType)Enum.Parse(typeof(FridayPayType), v)).HasMaxLength(1); + }); + + builder.OwnsOne(x => x.InsuranceDeduction, insuranceDeduction => + { + insuranceDeduction.Property(x => x.Value).HasColumnName("InsuranceDeduction_Value"); + insuranceDeduction.Property(x => x.InsuranceDeductionType).HasConversion( + v => v.ToString("d"), + v => (InsuranceDeductionType)Enum.Parse(typeof(InsuranceDeductionType), v)).HasMaxLength(1) + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + }); + + builder.OwnsOne(x => x.LateToWork, lateToWork => + { + lateToWork.Property(x => x.Value).HasColumnName("LateToWork_Value"); + lateToWork.Property(x => x.LateToWorkType).HasConversion( + v => v.ToString("d"), + v => (LateToWorkType)Enum.Parse(typeof(LateToWorkType), v)).HasMaxLength(1) + .HasColumnName("LateToWork_LateToWorkType"); + + //lateToWork.Property(x => x.LateToWorkTimeFineType).HasConversion( + // v => v.HasValue ? v.Value.ToString("d") : null, + // v => v != null + // ? (LateToWorkTimeFineType)Enum.Parse(typeof(LateToWorkTimeFineType), v) + // : null).HasColumnName("LateToWork_LateToWorkTimeFineType").HasMaxLength(1); + lateToWork.OwnsMany(x => x.LateToWorkTimeFines, lateToWorkTimeFines => + { + lateToWorkTimeFines.WithOwner().HasForeignKey("CustomizeWorkshopSettingsId"); + lateToWorkTimeFines.Property(x => x.FineMoney).HasColumnName("LateToWorkTimeFines_FineMoney"); + lateToWorkTimeFines.Property(x => x.Minute).HasMaxLength(4).HasColumnName("LateToWorkTimeFines_Minute"); + }); + }); + + builder.OwnsOne(x => x.LeavePay, leavePay => + { + leavePay.Property(x => x.Value).HasColumnName("LeavePay_Value"); + //leavePay.Property(x => x.DayCountAllowable).HasMaxLength(3).HasColumnName("LeavePay_DayCountAllowable"); + leavePay.Property(x => x.LeavePayType).HasConversion( + v => v.ToString("d"), + v => (LeavePayType)Enum.Parse(typeof(LeavePayType), v)).HasMaxLength(1) + .HasColumnName("LeavePay_LeavePayType"); + }); + + builder.OwnsOne(x => x.MarriedAllowance, marriedAllowance => + { + marriedAllowance.Property(x => x.Value).HasColumnName("MarriedAllowance_Value"); + marriedAllowance.Property(x => x.MarriedAllowanceType).HasConversion( + v => v.ToString("d"), + v => (MarriedAllowanceType)Enum.Parse(typeof(MarriedAllowanceType), v)).HasMaxLength(1) + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + }); + + builder.OwnsOne(x => x.NightWorkPay, nightWorkPay => + { + nightWorkPay.Property(x => x.NightWorkingType).HasConversion( + v => v.ToString("d"), + v => (NightWorkType)Enum.Parse(typeof(NightWorkType), v)).HasMaxLength(1) + .HasColumnName("NightWorkPay_NightWorkingType"); + nightWorkPay.Property(x => x.Value).HasColumnName("NightWorkPay_Value"); + }); + builder.OwnsOne(x => x.OverTimePay, overTimePay => + { + overTimePay.Property(x => x.Value).HasColumnName("OverTimePay_Value"); + overTimePay.Property(x => x.OverTimePayType).HasConversion( + v => v.ToString("d"), + v => (OverTimePayType)Enum.Parse(typeof(OverTimePayType), v)).HasMaxLength(1) + .HasColumnName("OverTimePay_OverTimePayType"); + }); + builder.OwnsOne(x => x.ShiftPay, shiftPay => + { + shiftPay.Property(x => x.Value).HasColumnName("ShiftPay_Value"); + shiftPay.Property(x => x.ShiftPayType).HasConversion( + v => v.ToString("d"), + v => (ShiftPayType)Enum.Parse(typeof(ShiftPayType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftPayType"); + shiftPay.Property(x => x.ShiftType).HasConversion( + v => v.ToString("d"), + v => (ShiftType)Enum.Parse(typeof(ShiftType), v)).HasMaxLength(1) + .HasColumnName("ShiftPay_ShiftType"); + }); + + builder.OwnsMany(x => x.CustomizeWorkshopSettingsShifts, shift => + { + + shift.ToTable("CustomizeWorkshopSettingsShifts"); + shift.HasKey(x => x.id); + shift.Property(x => x.Placement).HasConversion().HasMaxLength(20); + shift.Property(x => x.StartTime).HasMaxLength(5); + shift.Property(x => x.EndTime).HasMaxLength(5); + shift.WithOwner(x=>x.CustomizeWorkshopSettings).HasForeignKey(a => a.CustomizeWorkshopSettingsId); + + }); + + + builder.HasMany(x => x.CustomizeWorkshopGroupSettingsCollection).WithOne(x => x.CustomizeWorkshopSettings) + .HasForeignKey(x => x.CustomizeWorkshopSettingId); + + builder.HasOne(x => x.Workshop).WithOne(x => x.CustomizeWorkshopSettings) + .HasForeignKey(x => x.WorkshopId); + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.Designer.cs b/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.Designer.cs new file mode 100644 index 00000000..3cd292f5 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.Designer.cs @@ -0,0 +1,7327 @@ +// +using System; +using CompanyManagment.EFCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + [DbContext(typeof(CompanyContext))] + [Migration("20241006152550_CustomizeWorkshopSetings")] + partial class CustomizeWorkshopSetings + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.4") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Company.Domain.BillAgg.EntityBill", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Appointed") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("ProcessingStage") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectBill") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Bill", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardChairman") + .HasColumnType("nvarchar(max)"); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("Branch") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DisputeResolutionPetitionDate") + .HasColumnType("datetime2"); + + b.Property("ExpertReport") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Boards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BoardTypes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("Subtitle_Id"); + + b.ToTable("TextManager_Chapter", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AbsenceDeduction") + .HasColumnType("float"); + + b.Property("AbsencePeriod") + .HasColumnType("float"); + + b.Property("ArchiveCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("AverageHoursPerDay") + .HasColumnType("float"); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ConsumableItems") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreditLeaves") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EmployeeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FathersName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("HasRollCall") + .HasColumnType("bit"); + + b.Property("HousingAllowance") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LeaveCheckout") + .HasColumnType("bit"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MissionPay") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightworkPay") + .HasColumnType("float"); + + b.Property("OvertimePay") + .HasColumnType("float"); + + b.Property("PersonnelCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("Signature") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SumOfWorkingDays") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("TaxDeducation") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalDeductions") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(70) + .HasColumnType("nvarchar(70)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearsPay") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Checkouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClassifiedSalaryAgg.ClassifiedSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("ClassifiedSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployeeId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("ClientWorkshopEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Contact2Agg.EntityContact", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameContact") + .HasColumnType("nvarchar(max)"); + + b.Property("Signature") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Contact", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .HasColumnType("int"); + + b.Property("BlockTimes") + .HasColumnType("int"); + + b.Property("City") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsBlock") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("State") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SureName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Zone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("PersonalContractingParties", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AgreementSalary") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ConsumableItems") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContarctStart") + .HasColumnType("datetime2"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ContractPeriod") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ContractType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayliWage") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GetWorkDate") + .HasColumnType("datetime2"); + + b.Property("HousingAllowance") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActiveString") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("JobType") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobTypeId") + .HasColumnType("bigint"); + + b.Property("MandatoryHoursid") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("SetContractDate") + .HasColumnType("datetime2"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("WorkingHoursWeekly") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopAddress1") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopIds") + .HasColumnType("bigint"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("EmployerId"); + + b.HasIndex("JobTypeId"); + + b.HasIndex("MandatoryHoursid"); + + b.HasIndex("WorkshopIds"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("Contracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.Property("PersonalContractingPartyId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("PersonalContractingPartyId", "AccountId"); + + b.ToTable("ContractingPartyAccount", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobGuildId") + .HasColumnType("bigint"); + + b.Property("EquivalentRialOver") + .HasColumnType("bigint"); + + b.Property("EquivalentRialUnder") + .HasColumnType("bigint"); + + b.Property("SalaryRatioOver") + .HasColumnType("float"); + + b.Property("SalaryRatioUnder") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CrossJobGuildId"); + + b.ToTable("CrossJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("CrossJobGuilds", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CrossJobId"); + + b.HasIndex("JobId"); + + b.ToTable("CrossJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EarlyExitDeduction") + .HasColumnType("float"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FineAbsenceDeduction") + .HasColumnType("float"); + + b.Property("FineDeduction") + .HasColumnType("float"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("IsActiveString") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LateToWorkDeduction") + .HasColumnType("float"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MonthInt") + .HasColumnType("int"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NightWorkPay") + .HasColumnType("float"); + + b.Property("OverTimePay") + .HasColumnType("float"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("SumOfWorkingDays") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxDeduction") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalDeductions") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearInt") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("CustomizeCheckouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopGroupSettingId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IsChanged") + .HasColumnType("bit"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopGroupSettingId"); + + b.ToTable("CustomizeWorkshopEmployeeSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopSettingId") + .HasColumnType("bigint"); + + b.Property("GroupName") + .HasMaxLength(120) + .HasColumnType("nvarchar(120)"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopSettingId"); + + b.ToTable("CustomizeWorkshopGroupSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Currency") + .HasColumnType("int"); + + b.Property("MaxMonthDays") + .HasColumnType("int"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("CustomizeWorkshopSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EndDateGr") + .HasColumnType("datetime2"); + + b.Property("StartDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("StartDateGr") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("DateSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateSalaryId") + .HasColumnType("bigint"); + + b.Property("Percent") + .HasColumnType("float"); + + b.Property("PercentageId") + .HasColumnType("bigint"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("DateSalaryId"); + + b.HasIndex("PercentageId"); + + b.ToTable("DateSalaryItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployeeId", "AccountId"); + + b.ToTable("EmployeeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("BankBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BankCardNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FieldOfStudy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByMonth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByYear") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("LevelOfEducation") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MilitaryService") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NumberOfChildren") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("Employees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ParentNationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeChildren", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeComputeOptionsAgg.EmployeeComputeOptions", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("EmployeeComputeOptions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsurancListDataAgg.EmployeeInsurancListData", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BenefitsIncludedContinuous") + .HasColumnType("float"); + + b.Property("BenefitsIncludedNonContinuous") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("InsuranceListId") + .HasColumnType("bigint"); + + b.Property("InsuranceShare") + .HasColumnType("float"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("MonthlyBenefits") + .HasColumnType("float"); + + b.Property("MonthlyBenefitsIncluded") + .HasColumnType("float"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkingDays") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("EmployeeInsurancListData", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfEnd") + .HasColumnType("datetime2"); + + b.Property("DateOfStart") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkShopId"); + + b.ToTable("EmployeeInsuranceRecord", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployerId", "AccountId"); + + b.ToTable("EmployerAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Evidences", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Evidence_Id") + .HasColumnType("bigint"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("Evidence_Id"); + + b.ToTable("EvidenceDetails", (string)null); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ArchiveNo") + .HasColumnType("bigint"); + + b.Property("Client") + .HasColumnType("int"); + + b.Property("ClientVisitDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FileClass") + .HasColumnType("nvarchar(max)"); + + b.Property("HasMandate") + .HasColumnType("int"); + + b.Property("ProceederReference") + .HasColumnType("nvarchar(max)"); + + b.Property("Reqester") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Summoned") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Files", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AdditionalDeadline") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileState_Id") + .HasColumnType("bigint"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("FileState_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("File_Alerts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.Property("FileId") + .HasColumnType("bigint"); + + b.Property("FileEmployerId") + .HasColumnType("bigint"); + + b.HasKey("FileId", "FileEmployerId"); + + b.HasIndex("FileEmployerId"); + + b.ToTable("FileAndFileEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceWorkshopCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NationalId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RegisterId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployer", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileTiming_Id") + .HasColumnType("bigint"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("FileTiming_Id"); + + b.ToTable("File_States", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Deadline") + .HasColumnType("int"); + + b.Property("Tips") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Timings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTitle.FileTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Titles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("FinancialStatments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Balance") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Creditor") + .HasColumnType("float"); + + b.Property("Deptor") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(600) + .HasColumnType("nvarchar(600)"); + + b.Property("DescriptionOption") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinancialStatementId") + .HasColumnType("bigint"); + + b.Property("MessageText") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("SentSms") + .HasColumnType("bit"); + + b.Property("SentSmsDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateGr") + .HasColumnType("datetime2"); + + b.Property("TypeOfTransaction") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("FinancialStatementId"); + + b.ToTable("FinancialTransactions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AnnualSalary") + .HasColumnType("float"); + + b.Property("BaseSalary") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("JobSalary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("GroupPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("GroupPlanId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("JobName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("GroupPlanId"); + + b.ToTable("GroupPlanJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("Holidays", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("HolidayId") + .HasColumnType("bigint"); + + b.Property("HolidayYear") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Holidaydate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("HolidayId"); + + b.ToTable("Holidayitems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("City") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ContractAmount") + .HasColumnType("float"); + + b.Property("ContractDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractDateGr") + .HasColumnType("datetime2"); + + b.Property("ContractEndFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("ContractStartFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyCompenseation") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(10000) + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeManualCount") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExtensionNo") + .HasColumnType("int"); + + b.Property("HasValueAddedTax") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Obligation") + .HasColumnType("float"); + + b.Property("OfficialCompany") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("RepresentativeName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("State") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("TotalAmount") + .HasColumnType("float"); + + b.Property("TypeOfContract") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("WorkshopManualCount") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("id"); + + b.ToTable("InstitutionContracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FnameLname") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("PhoneNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("PhoneType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Position") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SendSms") + .HasColumnType("bit"); + + b.HasKey("id"); + + b.HasIndex("InstitutionContractId"); + + b.ToTable("InstitutinContractContactInfo", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.InstitutionPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseContractAmont") + .HasColumnType("float"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("FinalContractAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("InstitutionPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("InsuranceJobTitle") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("InsuranceJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgreementNumber") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ListNumber") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("InsuranceWorkshopInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ListNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.Property("WorkShopStr") + .HasColumnType("nvarchar(max)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("WorkShopId"); + + b.ToTable("Insurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("InsuranceEmployeeInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("InsuranceJobItemId") + .HasColumnType("bigint"); + + b.HasKey("JobId", "InsuranceJobItemId"); + + b.HasIndex("InsuranceJobItemId"); + + b.ToTable("InsuranceJobAndJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("PercentageLessThan") + .HasColumnType("float"); + + b.Property("PercentageMoreThan") + .HasColumnType("float"); + + b.Property("SalaeyLessThan") + .HasColumnType("float"); + + b.Property("SalaryMoreThan") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("InsuranceJobId"); + + b.ToTable("InsuranceJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmSentlist") + .HasColumnType("bit"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DifficultJobsInsuranc") + .HasColumnType("float"); + + b.Property("EmployerShare") + .HasColumnType("float"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Included") + .HasColumnType("float"); + + b.Property("IncludedAndNotIncluded") + .HasColumnType("float"); + + b.Property("InsuredShare") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("SumOfBenefitsIncluded") + .HasColumnType("float"); + + b.Property("SumOfDailyWage") + .HasColumnType("float"); + + b.Property("SumOfEmployees") + .HasColumnType("int"); + + b.Property("SumOfSalaries") + .HasColumnType("float"); + + b.Property("SumOfWorkingDays") + .HasColumnType("int"); + + b.Property("UnEmploymentInsurance") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("InsuranceLists", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.Property("InsurancListId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("InsurancListId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("InsuranceListWorkshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceYearlySalaryAgg.InsuranceYearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group21") + .HasColumnType("float"); + + b.Property("Group22") + .HasColumnType("float"); + + b.Property("Group23") + .HasColumnType("float"); + + b.Property("Group24") + .HasColumnType("float"); + + b.Property("Group25") + .HasColumnType("float"); + + b.Property("Group26") + .HasColumnType("float"); + + b.Property("Group27") + .HasColumnType("float"); + + b.Property("Group28") + .HasColumnType("float"); + + b.Property("Group29") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group30") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("InsuranceYearlySalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("JobCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("Jobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeaveAgg.Leave", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Decription") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndLeave") + .HasColumnType("datetime2"); + + b.Property("IsAccepted") + .HasColumnType("bit"); + + b.Property("LeaveHourses") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("PaidLeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("StartLeave") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("Leave", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWork", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWorkInsurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Aban") + .HasColumnType("float"); + + b.Property("AbanFridays") + .HasColumnType("int"); + + b.Property("AbanHolidays") + .HasColumnType("int"); + + b.Property("AbanMonadatoryDays") + .HasColumnType("int"); + + b.Property("Azar") + .HasColumnType("float"); + + b.Property("AzarFridays") + .HasColumnType("int"); + + b.Property("AzarHolidays") + .HasColumnType("int"); + + b.Property("AzarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Bahman") + .HasColumnType("float"); + + b.Property("BahmanFridays") + .HasColumnType("int"); + + b.Property("BahmanHolidays") + .HasColumnType("int"); + + b.Property("BahmanMonadatoryDays") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Dey") + .HasColumnType("float"); + + b.Property("DeyFridays") + .HasColumnType("int"); + + b.Property("DeyHolidays") + .HasColumnType("int"); + + b.Property("DeyMonadatoryDays") + .HasColumnType("int"); + + b.Property("Esfand") + .HasColumnType("float"); + + b.Property("EsfandFridays") + .HasColumnType("int"); + + b.Property("EsfandHolidays") + .HasColumnType("int"); + + b.Property("EsfandMonadatoryDays") + .HasColumnType("int"); + + b.Property("Farvardin") + .HasColumnType("float"); + + b.Property("FarvardinFridays") + .HasColumnType("int"); + + b.Property("FarvardinHolidays") + .HasColumnType("int"); + + b.Property("FarvardinMonadatoryDays") + .HasColumnType("int"); + + b.Property("Khordad") + .HasColumnType("float"); + + b.Property("KhordadFridays") + .HasColumnType("int"); + + b.Property("KhordadHolidays") + .HasColumnType("int"); + + b.Property("KhordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mehr") + .HasColumnType("float"); + + b.Property("MehrFridays") + .HasColumnType("int"); + + b.Property("MehrHolidays") + .HasColumnType("int"); + + b.Property("MehrMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mordad") + .HasColumnType("float"); + + b.Property("MordadFridays") + .HasColumnType("int"); + + b.Property("MordadHolidays") + .HasColumnType("int"); + + b.Property("MordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Ordibehesht") + .HasColumnType("float"); + + b.Property("OrdibeheshtFridays") + .HasColumnType("int"); + + b.Property("OrdibeheshtHolidays") + .HasColumnType("int"); + + b.Property("OrdibeheshtMonadatoryDays") + .HasColumnType("int"); + + b.Property("Shahrivar") + .HasColumnType("float"); + + b.Property("ShahrivarFridays") + .HasColumnType("int"); + + b.Property("ShahrivarHolidays") + .HasColumnType("int"); + + b.Property("ShahrivarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Tir") + .HasColumnType("float"); + + b.Property("TirFridays") + .HasColumnType("int"); + + b.Property("TirHolidays") + .HasColumnType("int"); + + b.Property("TirMonadatoryDays") + .HasColumnType("int"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("MandatoryHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("MasterName") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Master_Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameSubModule") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Module", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.Property("TextManagerId") + .HasColumnType("bigint"); + + b.Property("ModuleId") + .HasColumnType("bigint"); + + b.HasKey("TextManagerId", "ModuleId"); + + b.HasIndex("ModuleId"); + + b.ToTable("TextManager_ModuleTextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.ToTable("TextManager_OriginalTitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("PaymentToEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankCheckNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CashDescription") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DestinationBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DestinationBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PayDate") + .HasColumnType("datetime2"); + + b.Property("Payment") + .HasColumnType("float"); + + b.Property("PaymentMetod") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("PaymentTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentToEmployeeId") + .HasColumnType("bigint"); + + b.Property("SourceBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeDestinationBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeSourceBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("PaymentToEmployeeId"); + + b.ToTable("PaymentToEmployeeItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2(7)"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2(7)"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Percent") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("Percentages", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("PersonnelCodes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("NotificationPetitionDate") + .HasColumnType("datetime2"); + + b.Property("PetitionIssuanceDate") + .HasColumnType("datetime2"); + + b.Property("PetitionNo") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenalty") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenaltyTitles") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Board_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Time") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("Board_Id"); + + b.ToTable("ProceedingSessions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgentPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("RegisterId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.HasKey("id"); + + b.ToTable("Representative", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallAgg.RollCall", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCall", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("HasUploadedImage") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("RollCallEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("RollCallEmployeeId") + .HasColumnType("bigint"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("RollCallEmployeeId"); + + b.ToTable("RollCallEmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.RollCallPlanAgg.RollCallPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseAmont") + .HasColumnType("float"); + + b.Property("FinalAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCallPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Duration") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("EndService") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.Property("ServiceType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("StartService") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("AccountId"); + + b.ToTable("RollCallServices", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SmsResultAgg.SmsResult", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPatyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("Mobile") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("Status") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("TypeOfSms") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("SmsResults", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EntitySubtitleid") + .HasColumnType("bigint"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Subtitle") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.HasIndex("EntitySubtitleid"); + + b.HasIndex("OriginalTitle_Id"); + + b.ToTable("TextManager_Subtitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxJobCategoryAgg.TaxJobCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("JobCategoryCode") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("JobCategoryName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("TaxJobCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BudgetLawExceptions") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Country") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CurrencyType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("EmploymentLocationStatus") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("ExchangeRate") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("InsuranceBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobCategoryCode") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("JobCategoryId") + .HasColumnType("bigint"); + + b.Property("JobTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RetirementDate") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TaxExempt") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfEmployment") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfInsurance") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("TaxLeftWorkCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("TaxLeftWorkCategoryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("TaxLeftWorkCategoryId"); + + b.ToTable("TaxLeftWorkItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NoteNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Paragraph") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("TextManager_TextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("NumberOfFriday") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("NumberOfWorkingDays") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverNightWorkH") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverNightWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("OverTimeWorkH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverTimeWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("TotalHoursesH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("TotalHoursesM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WeeklyWorkingTime") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("ContractId"); + + b.ToTable("WorkingHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursId"); + + b.ToTable("WorkingHoursItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WorkShopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkingHoursTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursTempId"); + + b.ToTable("WorkingHoursTempItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("ContractAndCheckout") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Insurance") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveSting") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Tax") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("WorkshopId", "AccountId"); + + b.ToTable("WorkshopeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgreementNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractTerm") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FixedSalary") + .HasColumnType("bit"); + + b.Property("HasRollCallFreeVip") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsClassified") + .HasColumnType("bit"); + + b.Property("IsOldContract") + .HasColumnType("bit"); + + b.Property("Population") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TotalPaymentHide") + .HasColumnType("bit"); + + b.Property("TypeOfContract") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfInsuranceSend") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfOwnership") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopHolidayWorking") + .HasColumnType("bit"); + + b.Property("WorkshopName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopSureName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Workshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployerId"); + + b.HasIndex("EmployerId"); + + b.ToTable("WorkshopeEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Designer") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DesignerPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ExecutionDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExecutionDateGr") + .HasColumnType("datetime2"); + + b.Property("IncludingDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IncludingDateGr") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkshopPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("WorkshopPlanEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConnectionId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.ToTable("YearlySalariess", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ItemName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ItemValue") + .HasColumnType("float"); + + b.Property("ParentConnectionId") + .HasColumnType("int"); + + b.Property("ValueType") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("YearlyItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlysSalaryTitleAgg.YearlySalaryTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title1") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title10") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title2") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title3") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title4") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title5") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title6") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title7") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title8") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title9") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("YearlySalaryTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ZoneAgg.Zone", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Zones", (string)null); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployerLName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployerNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsLegal") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("ContractingPartyId"); + + b.ToTable("Employers", (string)null); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.Property("EmployersListid") + .HasColumnType("bigint"); + + b.Property("WorkshopsListid") + .HasColumnType("bigint"); + + b.HasKey("EmployersListid", "WorkshopsListid"); + + b.HasIndex("WorkshopsListid"); + + b.ToTable("EmployerWorkshop"); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("BoardsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("BoardsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", "EntitySubtitle") + .WithMany("Chapters") + .HasForeignKey("Subtitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntitySubtitle"); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Checkouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("ContractingParties") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("Contracts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("Contracts") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("ContractsList") + .HasForeignKey("JobTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.MandatoryHoursAgg.MandatoryHours", null) + .WithMany("Contracts") + .HasForeignKey("MandatoryHoursid"); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Contracts2") + .HasForeignKey("WorkshopIds") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("Contracts") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Employer"); + + b.Navigation("Job"); + + b.Navigation("Workshop"); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "PersonalContractingParty") + .WithMany() + .HasForeignKey("PersonalContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PersonalContractingParty"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.HasOne("Company.Domain.CrossJobGuildAgg.CrossJobGuild", "CrossJobGuild") + .WithMany("CrossJobList") + .HasForeignKey("CrossJobGuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJobGuild"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.HasOne("Company.Domain.CrossJobAgg.CrossJob", "CrossJob") + .WithMany("CrossJobItemsList") + .HasForeignKey("CrossJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("CrossJobItemsList") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJob"); + + b.Navigation("Job"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeCheckoutAgg.CustomizeCheckout", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("CustomizeCheckouts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("CustomizeCheckouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", "CustomizeWorkshopGroupSettings") + .WithMany("CustomizeWorkshopEmployeeSettingsCollection") + .HasForeignKey("CustomizeWorkshopGroupSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettingsShift", "CustomizeWorkshopEmployeeSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopEmployeeSettingsId"); + + b1.ToTable("CustomizeWorkshopEmployeeSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopEmployeeSettings") + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + b1.Navigation("CustomizeWorkshopEmployeeSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopEmployeeSettingsShifts"); + + b.Navigation("CustomizeWorkshopGroupSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "CustomizeWorkshopSettings") + .WithMany("CustomizeWorkshopGroupSettingsCollection") + .HasForeignKey("CustomizeWorkshopSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettingsShift", "CustomizeWorkshopGroupSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopGroupSettingsId"); + + b1.ToTable("CustomizeWorkshopGroupSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopGroupSettings") + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + b1.Navigation("CustomizeWorkshopGroupSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopGroupSettingsShifts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("CustomizeWorkshopSettings") + .HasForeignKey("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettingsShift", "CustomizeWorkshopSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopSettingsId"); + + b1.ToTable("CustomizeWorkshopSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopSettings") + .HasForeignKey("CustomizeWorkshopSettingsId"); + + b1.Navigation("CustomizeWorkshopSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopSettingsShifts"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.HasOne("Company.Domain.DateSalaryAgg.DateSalary", "DateSalary") + .WithMany("DateSalaryItemList") + .HasForeignKey("DateSalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.PercentageAgg.Percentage", "Percentage") + .WithMany("DateSalaryItemList") + .HasForeignKey("PercentageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DateSalary"); + + b.Navigation("Percentage"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeChildrenList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany() + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("EvidencesList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("EvidencesList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.HasOne("Company.Domain.Evidence.Evidence", "Evidence") + .WithMany("EvidenceDetailsList") + .HasForeignKey("Evidence_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Evidence"); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.HasOne("Company.Domain.FileState.FileState", "FileState") + .WithMany("FileAlertsList") + .HasForeignKey("FileState_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File") + .WithMany("FileAlertsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("FileState"); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.HasOne("Company.Domain.FileEmployerAgg.FileEmployer", "FileEmployer") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileEmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File1"); + + b.Navigation("FileEmployer"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployeeList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployerList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.HasOne("Company.Domain.FileTiming.FileTiming", "FileTiming") + .WithMany("FileStates") + .HasForeignKey("FileTiming_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileTiming"); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.HasOne("Company.Domain.FinancialStatmentAgg.FinancialStatment", "FinancialStatment") + .WithMany("FinancialTransactionList") + .HasForeignKey("FinancialStatementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FinancialStatment"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("GroupPlans") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.HasOne("Company.Domain.GroupPlanAgg.GroupPlan", "GroupPlan") + .WithMany("GroupPlanJobItems") + .HasForeignKey("GroupPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GroupPlan"); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.HasOne("Company.Domain.HolidayAgg.Holiday", "Holidayss") + .WithMany("HolidayItems") + .HasForeignKey("HolidayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Holidayss"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.HasOne("Company.Domain.InstitutionContractAgg.InstitutionContract", "InstitutionContracts") + .WithMany("ContactInfoList") + .HasForeignKey("InstitutionContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InstitutionContracts"); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("InsuranceWorkshopInfo") + .HasForeignKey("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Insurances") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("InsuranceEmployeeInfo") + .HasForeignKey("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.HasOne("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", "InsuranceJobItem") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("InsuranceJobItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Jobs") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJobItem"); + + b.Navigation("Jobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.HasOne("Company.Domain.InsurancJobAgg.InsuranceJob", "InsuranceJob") + .WithMany("InsuranceJobItemList") + .HasForeignKey("InsuranceJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJob"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.HasOne("Company.Domain.InsuranceListAgg.InsuranceList", "InsuranceList") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("InsurancListId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceList"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorks") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorks") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorkInsurances") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorkInsurances") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterPenaltyTitlesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("MasterPetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("MasterPetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterWorkHistoriesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.HasOne("Company.Domain.ModuleAgg.EntityModule", "Module") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("ModuleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.TextManagerAgg.EntityTextManager", "TextManager") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("TextManagerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Module"); + + b.Navigation("TextManager"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.HasOne("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", "PaymentToEmployee") + .WithMany("PaymentToEmployeeItemList") + .HasForeignKey("PaymentToEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PaymentToEmployee"); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("PenaltyTitlesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("PersonnelCodeList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("PersonnelCodeList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("PetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("PetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.HasOne("Company.Domain.Board.Board", "Board") + .WithMany("ProceedingSessionsList") + .HasForeignKey("Board_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Board"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.HasOne("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", "RollCallEmployee") + .WithMany("EmployeesStatus") + .HasForeignKey("RollCallEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RollCallEmployee"); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("RollCallServicesList") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", null) + .WithMany("Subtitles") + .HasForeignKey("EntitySubtitleid"); + + b.HasOne("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", "EntityOriginalTitle") + .WithMany("Subtitles") + .HasForeignKey("OriginalTitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntityOriginalTitle"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("TaxLeftWorkCategoryList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.HasOne("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", "TaxLeftWorkCategory") + .WithMany("TaxLeftWorkItemList") + .HasForeignKey("TaxLeftWorkCategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaxLeftWorkCategory"); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("WorkHistoriesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.HasOne("Company.Domain.ContractAgg.Contract", "Contracts") + .WithMany("WorkingHoursList") + .HasForeignKey("ContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.HasOne("Company.Domain.WorkingHoursAgg.WorkingHours", "WorkingHourses") + .WithMany("WorkingHoursItemsList") + .HasForeignKey("WorkingHoursId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHourses"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.HasOne("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", "WorkingHoursTemp") + .WithMany("WorkingHoursTempItemList") + .HasForeignKey("WorkingHoursTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHoursTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("WorkshopEmployers") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopEmployers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("WorkshopPlanEmployees") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("YearlySalaryItemsList") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "ContractingParty") + .WithMany("Employers") + .HasForeignKey("ContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ContractingParty"); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", null) + .WithMany() + .HasForeignKey("EmployersListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", null) + .WithMany() + .HasForeignKey("WorkshopsListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Navigation("ProceedingSessionsList"); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Navigation("Employers"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Navigation("WorkingHoursList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Navigation("CrossJobItemsList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Navigation("CrossJobList"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Navigation("CustomizeWorkshopEmployeeSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Navigation("CustomizeWorkshopGroupSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("EmployeeChildrenList"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceEmployeeInfo"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Navigation("EvidenceDetailsList"); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("FileAlertsList"); + + b.Navigation("FileAndFileEmployers"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Navigation("FileAndFileEmployers"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Navigation("FileAlertsList"); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Navigation("FileStates"); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Navigation("FinancialTransactionList"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Navigation("GroupPlanJobItems"); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Navigation("HolidayItems"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Navigation("ContactInfoList"); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Navigation("InsuranceJobItemList"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Navigation("InsuranceListWorkshops"); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Navigation("ContractsList"); + + b.Navigation("CrossJobItemsList"); + + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Navigation("MasterPenaltyTitlesList"); + + b.Navigation("MasterWorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Navigation("PaymentToEmployeeItemList"); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Navigation("PenaltyTitlesList"); + + b.Navigation("WorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Navigation("ContractingParties"); + + b.Navigation("FileEmployeeList"); + + b.Navigation("FileEmployerList"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Navigation("EmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Navigation("Chapters"); + + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Navigation("TaxLeftWorkItemList"); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Navigation("WorkingHoursItemsList"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Navigation("WorkingHoursTempItemList"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Navigation("Checkouts"); + + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts2"); + + b.Navigation("CustomizeCheckouts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceListWorkshops"); + + b.Navigation("InsuranceWorkshopInfo"); + + b.Navigation("Insurances"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + + b.Navigation("RollCallServicesList"); + + b.Navigation("TaxLeftWorkCategoryList"); + + b.Navigation("WorkshopEmployers"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Navigation("GroupPlans"); + + b.Navigation("WorkshopPlanEmployees"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Navigation("Contracts"); + + b.Navigation("YearlySalaryItemsList"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Navigation("Contracts"); + + b.Navigation("WorkshopEmployers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.cs b/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.cs new file mode 100644 index 00000000..fc8a4d33 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20241006152550_CustomizeWorkshopSetings.cs @@ -0,0 +1,505 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + /// + public partial class CustomizeWorkshopSetings : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "CustomizeWorkshopSettings", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FridayPay_FridayPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FridayPay_Value = table.Column(type: "float", nullable: true), + OverTimePay_OverTimePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + OverTimePay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_BaseYearsPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BaseYearsPay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_BonusesPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_Value = table.Column(type: "float", nullable: true), + BonusesPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_NightWorkingType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_Value = table.Column(type: "float", nullable: true), + MarriedAllowance_MarriedAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + MarriedAllowance_Value = table.Column(type: "float", nullable: true), + ShiftPay_ShiftType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_ShiftPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_Value = table.Column(type: "float", nullable: true), + FamilyAllowance_FamilyAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FamilyAllowance_Value = table.Column(type: "float", nullable: true), + LeavePay_LeavePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LeavePay_Value = table.Column(type: "float", nullable: true), + InsuranceDeduction_InsuranceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + InsuranceDeduction_Value = table.Column(type: "float", nullable: true), + FineAbsenceDeduction_FineAbsenceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FineAbsenceDeduction_Value = table.Column(type: "float", nullable: true), + LateToWork_LateToWorkType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LateToWork_Value = table.Column(type: "float", nullable: true), + EarlyExit_EarlyExitType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + EarlyExitTimeFines_Value = table.Column(type: "float", nullable: true), + MaxMonthDays = table.Column(type: "int", nullable: false), + WorkshopId = table.Column(type: "bigint", nullable: false), + Currency = table.Column(type: "int", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopSettings", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopSettings_Workshops_WorkshopId", + column: x => x.WorkshopId, + principalTable: "Workshops", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopGroupSettings", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FridayPay_FridayPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FridayPay_Value = table.Column(type: "float", nullable: true), + OverTimePay_OverTimePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + OverTimePay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_BaseYearsPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BaseYearsPay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_BonusesPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_Value = table.Column(type: "float", nullable: true), + BonusesPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_NightWorkingType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_Value = table.Column(type: "float", nullable: true), + MarriedAllowance_MarriedAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + MarriedAllowance_Value = table.Column(type: "float", nullable: true), + ShiftPay_ShiftType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_ShiftPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_Value = table.Column(type: "float", nullable: true), + FamilyAllowance_FamilyAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FamilyAllowance_Value = table.Column(type: "float", nullable: true), + LeavePay_LeavePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LeavePay_Value = table.Column(type: "float", nullable: true), + InsuranceDeduction_InsuranceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + InsuranceDeduction_Value = table.Column(type: "float", nullable: true), + FineAbsenceDeduction_FineAbsenceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FineAbsenceDeduction_Value = table.Column(type: "float", nullable: true), + LateToWork_LateToWorkType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LateToWork_Value = table.Column(type: "float", nullable: true), + EarlyExit_EarlyExitType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + EarlyExitTimeFines_Value = table.Column(type: "float", nullable: true), + GroupName = table.Column(type: "nvarchar(120)", maxLength: 120, nullable: true), + Salary = table.Column(type: "float", nullable: false), + CustomizeWorkshopSettingId = table.Column(type: "bigint", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopGroupSettings", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopGroupSettings_CustomizeWorkshopSettings_CustomizeWorkshopSettingId", + column: x => x.CustomizeWorkshopSettingId, + principalTable: "CustomizeWorkshopSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopSettings_EarlyExitTimeFines", + columns: table => new + { + CustomizeWorkshopSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + EarlyExitTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + EarlyExitTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopSettings_EarlyExitTimeFines", x => new { x.CustomizeWorkshopSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopSettings_EarlyExitTimeFines_CustomizeWorkshopSettings_CustomizeWorkshopSettingsId", + column: x => x.CustomizeWorkshopSettingsId, + principalTable: "CustomizeWorkshopSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection", + columns: table => new + { + CustomizeWorkshopSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FineAbsenceDayOfWeekCollection_DayOfWeek = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection", x => new { x.CustomizeWorkshopSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection_CustomizeWorkshopSettings_CustomizeWorkshopSettingsId", + column: x => x.CustomizeWorkshopSettingsId, + principalTable: "CustomizeWorkshopSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopSettings_LateToWorkTimeFines", + columns: table => new + { + CustomizeWorkshopSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LateToWorkTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + LateToWorkTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopSettings_LateToWorkTimeFines", x => new { x.CustomizeWorkshopSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopSettings_LateToWorkTimeFines_CustomizeWorkshopSettings_CustomizeWorkshopSettingsId", + column: x => x.CustomizeWorkshopSettingsId, + principalTable: "CustomizeWorkshopSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopSettingsShifts", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + StartTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + EndTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + Placement = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), + CustomizeWorkshopSettingsId = table.Column(type: "bigint", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopSettingsShifts", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopSettingsShifts_CustomizeWorkshopSettings_CustomizeWorkshopSettingsId", + column: x => x.CustomizeWorkshopSettingsId, + principalTable: "CustomizeWorkshopSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopEmployeeSettings", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FridayPay_FridayPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FridayPay_Value = table.Column(type: "float", nullable: true), + OverTimePay_OverTimePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + OverTimePay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_BaseYearsPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BaseYearsPay_Value = table.Column(type: "float", nullable: true), + BaseYearsPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_BonusesPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + BonusesPay_Value = table.Column(type: "float", nullable: true), + BonusesPay_PaymentType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_NightWorkingType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + NightWorkPay_Value = table.Column(type: "float", nullable: true), + MarriedAllowance_MarriedAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + MarriedAllowance_Value = table.Column(type: "float", nullable: true), + ShiftPay_ShiftType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_ShiftPayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ShiftPay_Value = table.Column(type: "float", nullable: true), + FamilyAllowance_FamilyAllowanceType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FamilyAllowance_Value = table.Column(type: "float", nullable: true), + LeavePay_LeavePayType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LeavePay_Value = table.Column(type: "float", nullable: true), + InsuranceDeduction_InsuranceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + InsuranceDeduction_Value = table.Column(type: "float", nullable: true), + FineAbsenceDeduction_FineAbsenceDeductionType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + FineAbsenceDeduction_Value = table.Column(type: "float", nullable: true), + LateToWork_LateToWorkType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + LateToWork_Value = table.Column(type: "float", nullable: true), + EarlyExit_EarlyExitType = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + EarlyExitTimeFines_Value = table.Column(type: "float", nullable: true), + EmployeeId = table.Column(type: "bigint", nullable: false), + WorkshopId = table.Column(type: "bigint", nullable: false), + Salary = table.Column(type: "float", nullable: false), + IsChanged = table.Column(type: "bit", nullable: false), + CustomizeWorkshopGroupSettingId = table.Column(type: "bigint", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopEmployeeSettings", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopGroupSettings_CustomizeWorkshopGroupSettingId", + column: x => x.CustomizeWorkshopGroupSettingId, + principalTable: "CustomizeWorkshopGroupSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopGroupSettings_EarlyExitTimeFines", + columns: table => new + { + CustomizeWorkshopGroupSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + EarlyExitTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + EarlyExitTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopGroupSettings_EarlyExitTimeFines", x => new { x.CustomizeWorkshopGroupSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopGroupSettings_EarlyExitTimeFines_CustomizeWorkshopGroupSettings_CustomizeWorkshopGroupSettingsId", + column: x => x.CustomizeWorkshopGroupSettingsId, + principalTable: "CustomizeWorkshopGroupSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection", + columns: table => new + { + CustomizeWorkshopGroupSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FineAbsenceDayOfWeekCollection_DayOfWeek = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection", x => new { x.CustomizeWorkshopGroupSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection_CustomizeWorkshopGroupSettings_CustomizeWorkshopGroupSettingsId", + column: x => x.CustomizeWorkshopGroupSettingsId, + principalTable: "CustomizeWorkshopGroupSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopGroupSettings_LateToWorkTimeFines", + columns: table => new + { + CustomizeWorkshopGroupSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LateToWorkTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + LateToWorkTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopGroupSettings_LateToWorkTimeFines", x => new { x.CustomizeWorkshopGroupSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopGroupSettings_LateToWorkTimeFines_CustomizeWorkshopGroupSettings_CustomizeWorkshopGroupSettingsId", + column: x => x.CustomizeWorkshopGroupSettingsId, + principalTable: "CustomizeWorkshopGroupSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopGroupSettingsShifts", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + StartTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + EndTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + Placement = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), + CustomizeWorkshopGroupSettingsId = table.Column(type: "bigint", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopGroupSettingsShifts", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopGroupSettingsShifts_CustomizeWorkshopGroupSettings_CustomizeWorkshopGroupSettingsId", + column: x => x.CustomizeWorkshopGroupSettingsId, + principalTable: "CustomizeWorkshopGroupSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines", + columns: table => new + { + CustomizeWorkshopEmployeeSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + EarlyExitTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + EarlyExitTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines", x => new { x.CustomizeWorkshopEmployeeSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopEmployeeSettingsId", + column: x => x.CustomizeWorkshopEmployeeSettingsId, + principalTable: "CustomizeWorkshopEmployeeSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection", + columns: table => new + { + CustomizeWorkshopEmployeeSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FineAbsenceDayOfWeekCollection_DayOfWeek = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection", x => new { x.CustomizeWorkshopEmployeeSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopEmployee~", + column: x => x.CustomizeWorkshopEmployeeSettingsId, + principalTable: "CustomizeWorkshopEmployeeSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines", + columns: table => new + { + CustomizeWorkshopEmployeeSettingsId = table.Column(type: "bigint", nullable: false), + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + LateToWorkTimeFines_Minute = table.Column(type: "nvarchar(4)", maxLength: 4, nullable: true), + LateToWorkTimeFines_FineMoney = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines", x => new { x.CustomizeWorkshopEmployeeSettingsId, x.Id }); + table.ForeignKey( + name: "FK_CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopEmployeeSettingsId", + column: x => x.CustomizeWorkshopEmployeeSettingsId, + principalTable: "CustomizeWorkshopEmployeeSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CustomizeWorkshopEmployeeSettingsShifts", + columns: table => new + { + id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + StartTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + EndTime = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: true), + Placement = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), + CustomizeWorkshopEmployeeSettingsId = table.Column(type: "bigint", nullable: false), + CreationDate = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomizeWorkshopEmployeeSettingsShifts", x => x.id); + table.ForeignKey( + name: "FK_CustomizeWorkshopEmployeeSettingsShifts_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopEmployeeSettingsId", + column: x => x.CustomizeWorkshopEmployeeSettingsId, + principalTable: "CustomizeWorkshopEmployeeSettings", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopEmployeeSettings_CustomizeWorkshopGroupSettingId", + table: "CustomizeWorkshopEmployeeSettings", + column: "CustomizeWorkshopGroupSettingId"); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopEmployeeSettingsShifts_CustomizeWorkshopEmployeeSettingsId", + table: "CustomizeWorkshopEmployeeSettingsShifts", + column: "CustomizeWorkshopEmployeeSettingsId"); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopGroupSettings_CustomizeWorkshopSettingId", + table: "CustomizeWorkshopGroupSettings", + column: "CustomizeWorkshopSettingId"); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopGroupSettingsShifts_CustomizeWorkshopGroupSettingsId", + table: "CustomizeWorkshopGroupSettingsShifts", + column: "CustomizeWorkshopGroupSettingsId"); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopSettings_WorkshopId", + table: "CustomizeWorkshopSettings", + column: "WorkshopId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_CustomizeWorkshopSettingsShifts_CustomizeWorkshopSettingsId", + table: "CustomizeWorkshopSettingsShifts", + column: "CustomizeWorkshopSettingsId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopEmployeeSettingsShifts"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopGroupSettings_EarlyExitTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopGroupSettings_LateToWorkTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopGroupSettingsShifts"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopSettings_EarlyExitTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopSettings_LateToWorkTimeFines"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopSettingsShifts"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopEmployeeSettings"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopGroupSettings"); + + migrationBuilder.DropTable( + name: "CustomizeWorkshopSettings"); + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs index 91d63786..48c4fb19 100644 --- a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs +++ b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs @@ -895,6 +895,95 @@ namespace CompanyManagment.EFCore.Migrations b.ToTable("CustomizeCheckouts", (string)null); }); + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopGroupSettingId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IsChanged") + .HasColumnType("bit"); + + b.Property("Salary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopGroupSettingId"); + + b.ToTable("CustomizeWorkshopEmployeeSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CustomizeWorkshopSettingId") + .HasColumnType("bigint"); + + b.Property("GroupName") + .HasMaxLength(120) + .HasColumnType("nvarchar(120)"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CustomizeWorkshopSettingId"); + + b.ToTable("CustomizeWorkshopGroupSettings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Currency") + .HasColumnType("int"); + + b.Property("MaxMonthDays") + .HasColumnType("int"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("CustomizeWorkshopSettings", (string)null); + }); + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => { b.Property("id") @@ -4843,6 +4932,1449 @@ namespace CompanyManagment.EFCore.Migrations b.Navigation("Workshop"); }); + modelBuilder.Entity("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", "CustomizeWorkshopGroupSettings") + .WithMany("CustomizeWorkshopEmployeeSettingsCollection") + .HasForeignKey("CustomizeWorkshopGroupSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities.CustomizeWorkshopEmployeeSettingsShift", "CustomizeWorkshopEmployeeSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopEmployeeSettingsId"); + + b1.ToTable("CustomizeWorkshopEmployeeSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopEmployeeSettings") + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + + b1.Navigation("CustomizeWorkshopEmployeeSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopEmployeeSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopEmployeeSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopEmployeeSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopEmployeeSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopEmployeeSettingsid"); + + b1.ToTable("CustomizeWorkshopEmployeeSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopEmployeeSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopEmployeeSettingsShifts"); + + b.Navigation("CustomizeWorkshopGroupSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.HasOne("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "CustomizeWorkshopSettings") + .WithMany("CustomizeWorkshopGroupSettingsCollection") + .HasForeignKey("CustomizeWorkshopSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettingsShift", "CustomizeWorkshopGroupSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopGroupSettingsId"); + + b1.ToTable("CustomizeWorkshopGroupSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopGroupSettings") + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + + b1.Navigation("CustomizeWorkshopGroupSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopGroupSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopGroupSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopGroupSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopGroupSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopGroupSettingsid"); + + b1.ToTable("CustomizeWorkshopGroupSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopGroupSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopGroupSettingsShifts"); + + b.Navigation("CustomizeWorkshopSettings"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("CustomizeWorkshopSettings") + .HasForeignKey("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsMany("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettingsShift", "CustomizeWorkshopSettingsShifts", b1 => + { + b1.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id")); + + b1.Property("CreationDate") + .HasColumnType("datetime2"); + + b1.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b1.Property("EndTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.Property("Placement") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.Property("StartTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b1.HasKey("id"); + + b1.HasIndex("CustomizeWorkshopSettingsId"); + + b1.ToTable("CustomizeWorkshopSettingsShifts", (string)null); + + b1.WithOwner("CustomizeWorkshopSettings") + .HasForeignKey("CustomizeWorkshopSettingsId"); + + b1.Navigation("CustomizeWorkshopSettings"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BaseYearsPay", "BaseYearsPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BaseYearsPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_BaseYearsPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BaseYearsPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BaseYearsPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.BonusesPay", "BonusesPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("BonusesPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_BonusesPayType"); + + b1.Property("PaymentType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("BonusesPay_PaymentType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("BonusesPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExit", "EarlyExit", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("EarlyExitType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("EarlyExit_EarlyExitType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.EarlyExitTimeFine", "EarlyExitTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("EarlyExitTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("EarlyExitTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_EarlyExitTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("EarlyExitTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FamilyAllowance", "FamilyAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FamilyAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FamilyAllowance_FamilyAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FamilyAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDeduction", "FineAbsenceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FineAbsenceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDeduction_FineAbsenceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FineAbsenceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.FineAbsenceDayOfWeek", "FineAbsenceDayOfWeekCollection", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("DayOfWeek") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("FineAbsenceDayOfWeekCollection_DayOfWeek"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_FineAbsenceDayOfWeekCollection"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("FineAbsenceDayOfWeekCollection"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.FridayPay", "FridayPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("FridayPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("FridayPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.InsuranceDeduction", "InsuranceDeduction", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("InsuranceDeductionType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("InsuranceDeduction_InsuranceDeductionType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("InsuranceDeduction_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWork", "LateToWork", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LateToWorkType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LateToWork_LateToWorkType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LateToWork_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + + b1.OwnsMany("_0_Framework.Domain.CustomizeCheckoutValueObjects.LateToWorkTimeFine", "LateToWorkTimeFines", b2 => + { + b2.Property("CustomizeWorkshopSettingsId") + .HasColumnType("bigint"); + + b2.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b2.Property("Id")); + + b2.Property("FineMoney") + .HasColumnType("float") + .HasColumnName("LateToWorkTimeFines_FineMoney"); + + b2.Property("Minute") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)") + .HasColumnName("LateToWorkTimeFines_Minute"); + + b2.HasKey("CustomizeWorkshopSettingsId", "Id"); + + b2.ToTable("CustomizeWorkshopSettings_LateToWorkTimeFines"); + + b2.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsId"); + }); + + b1.Navigation("LateToWorkTimeFines"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.LeavePay", "LeavePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("LeavePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("LeavePay_LeavePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("LeavePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.MarriedAllowance", "MarriedAllowance", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("MarriedAllowanceType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("MarriedAllowance_MarriedAllowanceType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("MarriedAllowance_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.NightWorkPay", "NightWorkPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("NightWorkingType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("NightWorkPay_NightWorkingType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("NightWorkPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.OverTimePay", "OverTimePay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("OverTimePayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("OverTimePay_OverTimePayType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("OverTimePay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.OwnsOne("_0_Framework.Domain.CustomizeCheckoutValueObjects.ShiftPay", "ShiftPay", b1 => + { + b1.Property("CustomizeWorkshopSettingsid") + .HasColumnType("bigint"); + + b1.Property("ShiftPayType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftPayType"); + + b1.Property("ShiftType") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)") + .HasColumnName("ShiftPay_ShiftType"); + + b1.Property("Value") + .HasColumnType("float") + .HasColumnName("ShiftPay_Value"); + + b1.HasKey("CustomizeWorkshopSettingsid"); + + b1.ToTable("CustomizeWorkshopSettings"); + + b1.WithOwner() + .HasForeignKey("CustomizeWorkshopSettingsid"); + }); + + b.Navigation("BaseYearsPay"); + + b.Navigation("BonusesPay"); + + b.Navigation("CustomizeWorkshopSettingsShifts"); + + b.Navigation("EarlyExit"); + + b.Navigation("FamilyAllowance"); + + b.Navigation("FineAbsenceDeduction"); + + b.Navigation("FridayPay"); + + b.Navigation("InsuranceDeduction"); + + b.Navigation("LateToWork"); + + b.Navigation("LeavePay"); + + b.Navigation("MarriedAllowance"); + + b.Navigation("NightWorkPay"); + + b.Navigation("OverTimePay"); + + b.Navigation("ShiftPay"); + + b.Navigation("Workshop"); + }); + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => { b.HasOne("Company.Domain.DateSalaryAgg.DateSalary", "DateSalary") @@ -5538,6 +7070,16 @@ namespace CompanyManagment.EFCore.Migrations b.Navigation("CrossJobList"); }); + modelBuilder.Entity("Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities.CustomizeWorkshopGroupSettings", b => + { + b.Navigation("CustomizeWorkshopEmployeeSettingsCollection"); + }); + + modelBuilder.Entity("Company.Domain.CustomizeWorkshopSettingsAgg.Entities.CustomizeWorkshopSettings", b => + { + b.Navigation("CustomizeWorkshopGroupSettingsCollection"); + }); + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => { b.Navigation("DateSalaryItemList"); @@ -5733,6 +7275,8 @@ namespace CompanyManagment.EFCore.Migrations b.Navigation("CustomizeCheckouts"); + b.Navigation("CustomizeWorkshopSettings"); + b.Navigation("EmployeeInsuranceRecords"); b.Navigation("InsuranceListWorkshops"); diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopEmployeeSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopEmployeeSettingsRepository.cs new file mode 100644 index 00000000..6783f3ba --- /dev/null +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopEmployeeSettingsRepository.cs @@ -0,0 +1,12 @@ +using _0_Framework.InfraStructure; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities; + +namespace CompanyManagment.EFCore.Repository; + +public class CustomizeWorkshopEmployeeSettingsRepository(CompanyContext companyContext) + : RepositoryBase(companyContext), + ICustomizeWorkshopEmployeeSettingsRepository +{ + private readonly CompanyContext _companyContext = companyContext; +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs new file mode 100644 index 00000000..fe4550e7 --- /dev/null +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using _0_Framework.InfraStructure; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg.Entities; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using CompanyManagment.App.Contracts.Employee; +using Microsoft.EntityFrameworkCore; + +namespace CompanyManagment.EFCore.Repository; + +public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyContext) + : RepositoryBase(companyContext), + ICustomizeWorkshopGroupSettingsRepository +{ + private readonly CompanyContext _companyContext = companyContext; + public CustomizeWorkshopGroupSettings GetIncludeWorkshopSettings(long id) + { + return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopSettings) + .FirstOrDefault(x => x.id == id); + } + + public List GetEmployeesWithoutGroup(long rollCallWorkshopSettingId) + { + var rollCallWorkshopSettings = _companyContext.CustomizeWorkshopSettings + .Include(x => x.CustomizeWorkshopGroupSettingsCollection).ThenInclude(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.id == rollCallWorkshopSettingId); + + if (rollCallWorkshopSettings == null) + return new(); + + var dateNow = DateTime.Now; + + var listOfEmployeeIdsHasGroup = rollCallWorkshopSettings.CustomizeWorkshopGroupSettingsCollection.SelectMany(x => + x.CustomizeWorkshopEmployeeSettingsCollection.Select(a => a.EmployeeId).Distinct()).ToList(); + + var employees = _companyContext.Employees.Include(x => x.LeftWorks).Include(x => x.LeftWorkInsurances) + .Where(x => x.LeftWorks.Any(y => y.WorkshopId == rollCallWorkshopSettings.WorkshopId && y.StartWorkDate <= dateNow && y.LeftWorkDate > dateNow) || + x.LeftWorkInsurances + .Any(y => y.WorkshopId == rollCallWorkshopSettings.WorkshopId && y.StartWorkDate <= dateNow && (y.LeftWorkDate > dateNow || y.LeftWorkDate == null)) ) + .Select(x => new EmployeeViewModel() + { + Id = x.id, + EmployeeFullName = $"{x.FName} {x.LName}" + + }).Where(x=>!listOfEmployeeIdsHasGroup.Contains(x.Id)).ToList(); + //_companyContext.LeftWorkList; + //_companyContext.Employees.Where(x=> x.LeftWorks.any&& !listOfEmployeeIdsHasGroup.Contains(x.id)).Select() + + return employees; + } + + public CustomizeWorkshopGroupSettings GetWithEmployees(long groupId) + { + return _companyContext.CustomizeWorkshopGroupSettings.Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.id == groupId); + } + + public List GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId) + { + var groupEmployeeSettingsList = _companyContext.CustomizeWorkshopGroupSettings + .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.id == groupSettingsId)?.CustomizeWorkshopEmployeeSettingsCollection + .Where(x => x.IsChanged).ToList(); + if (groupEmployeeSettingsList == null) + return new(); + + var employeeIds = groupEmployeeSettingsList.Select(x => x.EmployeeId); + var employees = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x => new + { + x.FullName, + x.id + }).ToList(); + + return groupEmployeeSettingsList.Join(employees,x=>x.EmployeeId,y=>y.id, (x,y)=> new CustomizeWorkshopEmployeeSettingsViewModel() + { + EmployeeId = x.EmployeeId, + Id = x.id, + IsChanged = x.IsChanged, + Name = y.FullName, + RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z=> new CustomizeWorkshopShiftViewModel() + { + EndTime = z.EndTime, + Placement = z.Placement, + StartTime = z.StartTime + }).ToList() + }).ToList(); + } + + public List GetEmployeeSettingsByGroupSettingsId(long groupSettingsId) + { + var entity = _companyContext.CustomizeWorkshopGroupSettings.Select(x=>new{x.CustomizeWorkshopEmployeeSettingsCollection,x.id}) + .FirstOrDefault(x => x.id == groupSettingsId); + + + + if (entity == null) + return new(); + + var employees = entity.CustomizeWorkshopEmployeeSettingsCollection; + + + var employeeIds = employees.Select(x => x.EmployeeId); + + + var names = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x=>new{x.id,x.FullName}).ToList(); + + var joinedList = employees.Join(names, x => x.EmployeeId, y => y.id, (x, y) => + new CustomizeWorkshopEmployeeSettingsViewModel + { + EmployeeId = x.EmployeeId, + Id = x.id, + Name = y.FullName, + IsChanged = x.IsChanged, + RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z=>new CustomizeWorkshopShiftViewModel() + { + EndTime = z.EndTime, + StartTime = z.StartTime, + Placement = z.Placement + }).ToList() + }); + return joinedList.ToList(); + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopSettingsRepository.cs new file mode 100644 index 00000000..5e595df5 --- /dev/null +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopSettingsRepository.cs @@ -0,0 +1,64 @@ + + +using System; +using System.Linq; +using _0_Framework.InfraStructure; +using Company.Domain.CustomizeWorkshopSettingsAgg; +using Company.Domain.CustomizeWorkshopSettingsAgg.Entities; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; +using Microsoft.EntityFrameworkCore; + +namespace CompanyManagment.EFCore.Repository +{ + public class CustomizeWorkshopSettingsRepository(CompanyContext companyContext) + : RepositoryBase(companyContext), ICustomizeWorkshopSettingsRepository + { + private readonly CompanyContext _companyContext = companyContext; + + public CustomizeWorkshopSettings GetWorkshopSettingsByWorkshopId(long workshopId) + { + return _companyContext.CustomizeWorkshopSettings + .Include(x=>x.CustomizeWorkshopGroupSettingsCollection) + .ThenInclude(x=>x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.WorkshopId == workshopId); + } + + public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdGroupSettingsId(long workshopId, + long employeeId) + { + throw new NotImplementedException(); + } + + public CustomizeWorkshopEmployeeSettingsViewModel GetEmployeeSettingsByWorkshopIdEmployeeId(long workshopId, long employeeId) + { + var employee = _companyContext.CustomizeWorkshopSettings + .Include(x => x.CustomizeWorkshopGroupSettingsCollection) + .ThenInclude(x => x.CustomizeWorkshopEmployeeSettingsCollection).ThenInclude( + customizeWorkshopEmployeeSettings => + customizeWorkshopEmployeeSettings.CustomizeWorkshopEmployeeSettingsShifts) + .FirstOrDefault(x => x.WorkshopId == workshopId)?.CustomizeWorkshopGroupSettingsCollection.SelectMany(x=>x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.EmployeeId == employeeId); + + if (employee == null) + return new(); + + var employeeName = _companyContext.Employees.Select(x => new { x.FullName, x.id }) + .FirstOrDefault(x => x.id == employee.EmployeeId); + return new CustomizeWorkshopEmployeeSettingsViewModel() + { + EmployeeId = employee.EmployeeId, + Id = employee.id, + IsChanged = employee.IsChanged, + Name = employeeName?.FullName, + RollCallWorkshopShifts = employee.CustomizeWorkshopEmployeeSettingsShifts.Select(x => + new CustomizeWorkshopShiftViewModel() + { + EndTime = x.EndTime, + Placement = x.Placement, + StartTime = x.StartTime + }).ToList(), + Salary = employee.Salary + }; + } + } +} \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index 0beef7a1..dba09ed0 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -568,7 +568,7 @@ public class RollCallMandatoryRepository : RepositoryBase, IRoll return result; } - + public List RotatingShiftCheck(List rollCallList) { List finalResult = new List(); diff --git a/PersonalContractingParty.Config/PersonalBootstrapper.cs b/PersonalContractingParty.Config/PersonalBootstrapper.cs index 4593fe67..d27daef2 100644 --- a/PersonalContractingParty.Config/PersonalBootstrapper.cs +++ b/PersonalContractingParty.Config/PersonalBootstrapper.cs @@ -166,6 +166,10 @@ using CompanyManagment.App.Contracts.ReportClient; using CompanyManagment.App.Contracts.TaxJobCategory; using Company.Domain.RollCallEmployeeStatusAgg; using CompanyManagment.App.Contracts.RollCallEmployeeStatus; +using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg; +using Company.Domain.CustomizeWorkshopGroupSettingsAgg; +using Company.Domain.CustomizeWorkshopSettingsAgg; +using CompanyManagment.App.Contracts.CustomizeWorkshopSettings; namespace PersonalContractingParty.Config; @@ -351,6 +355,14 @@ public class PersonalBootstrapper services.AddTransient(); services.AddTransient(); + #region Mahan + + services.AddTransient(); + services.AddTransient(); + services.AddTransient(); + services.AddTransient(); + + #endregion //=========End Of Main==================================== //---File Project------------------------------------ diff --git a/ServiceHost/appsettings.Development.json b/ServiceHost/appsettings.Development.json index 73485d7b..9840962d 100644 --- a/ServiceHost/appsettings.Development.json +++ b/ServiceHost/appsettings.Development.json @@ -12,10 +12,10 @@ //"MesbahDb": "Data Source=DESKTOP-NUE119G\\MSNEW;Initial Catalog=Mesbah_db;Integrated Security=True" //server - //"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170]is[3019]#@ATt;TrustServerCertificate=true;" + "MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170]is[3019]#@ATt;TrustServerCertificate=true;" //local - "MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;" + //"MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;" }, "GoogleRecaptchaV3": { "SiteKey": "6Lfhp_AnAAAAAB79WkrMoHd1k8ir4m8VvfjE7FTH",