seedPermiision for subAcount

This commit is contained in:
SamSys
2025-01-04 18:00:04 +03:30
parent 64a09f6c25
commit 0feba76fb4
19 changed files with 3963 additions and 444 deletions

View File

@@ -0,0 +1,914 @@
namespace _0_Framework.Application
{
public static class SubAccountPermissionHelper
{
#region تعریف های مجوز ها
#region عملیات کارگاه
/// <summary>
/// عملیات کارگاه
/// </summary>
public const int WorkshopOperationsPermissionCode = 102;
/// <summary>
/// لیست قرارداد
/// </summary>
public const int ContractListPermissionCode = 10201;
/// <summary>
/// لیست فیش حقوقی
/// </summary>
public const int CheckoutListPermissionCode = 10202;
/// <summary>
/// لیست بیمه
/// </summary>
public const int InsuranceListPermissionCode = 10203;
/// <summary>
/// گزارش وضعیت پرسنل به صورت گروهی
/// </summary>
public const int PersonnelStatusGroupReportPermissionCode = 10204;
/// <summary>
/// گزارش وضعیت پرسنل به صورت انفرادی
/// </summary>
public const int PersonnelStatusIndividualReportPermissionCode = 10205;
/// <summary>
/// لیست کل پرسنل
/// </summary>
public const int PersonnelListPermissionCode = 10206;
#endregion
#region عملیات پرسنل
/// <summary>
/// عملیات پرسنل
/// </summary>
public const int PersonnelOperationsPermissionCode = 103;
/// <summary>
/// ثبت مرخصی
/// </summary>
public const int LeaveCreatePermissionCode = 10301;
/// <summary>
/// لیست کل مرخصی
/// </summary>
public const int LeaveListPermissionCode = 10302;
/// <summary>
/// عملیات مدارک پرسنل
/// </summary>
public const int EmployeeDocumentsOperationsPermissionCode = 10303;
/// <summary>
/// عملیات پرداخت حقوق پرسنل
/// </summary>
public const int PaymentToEmployeePermissionCode = 10304;
#region عملیات وام
/// <summary>
/// عملیات وام
/// </summary>
public const int LoanOperationsPermissionCode = 10305;
/// <summary>
/// ایجاد وام
/// </summary>
public const int CreateLoanPermissionCode = 1030501;
/// <summary>
/// ویرایش وام
/// </summary>
public const int EditLoanPermissionCode = 1030502;
/// <summary>
/// حذف وام
/// </summary>
public const int DeleteLoanPermissionCode = 1030503;
#endregion
#region عملیات پاداش
/// <summary>
/// عملیات پاداش
/// </summary>
public const int RewardOperationsPermissionCode = 10306;
/// <summary>
/// ایجاد پاداش
/// </summary>
public const int CreateRewardPermissionCode = 1030601;
/// <summary>
/// ویرایش پاداش
/// </summary>
public const int EditRewardPermissionCode = 1030602;
/// <summary>
/// حذف پاداش
/// </summary>
public const int DeleteRewardPermissionCode = 1030603;
#endregion
#region عملیات مساعده
/// <summary>
/// عملیات مساعده
/// </summary>
public const int SalaryAidOperationsPermissionCode = 10307;
/// <summary>
/// ایجاد مساعده
/// </summary>
public const int CreateSalaryAidPermissionCode = 1030701;
/// <summary>
/// ویرایش مساعده
/// </summary>
public const int EditSalaryAidPermissionCode = 1030702;
/// <summary>
/// حذف مساعده
/// </summary>
public const int DeleteSalaryAidPermissionCode = 1030703;
#endregion
#region عملیات جرایم
/// <summary>
/// عملیات جرایم
/// </summary>
public const int FineOperationsPermissionCode = 10308;
/// <summary>
/// ایجاد جریمه
/// </summary>
public const int CreateFinePermissionCode = 1030801;
/// <summary>
/// ایجاد عنوان جریمه
/// </summary>
public const int CreateFineTitlePermissionCode = 1030802;
/// <summary>
/// ویرایش
/// </summary>
public const int EditFinePermissionCode = 1030803;
/// <summary>
/// حذف جریمه
/// </summary>
public const int DeleteFinePermissionCode = 1030804;
#endregion
#endregion
#region فیش حقوقی غیر رسمی
/// <summary>
/// عملیات فیش حقوقی غیر رسمی
/// </summary>
public const int CustomizeCheckoutOperationsPermissionCode = 104;
#region تنظیم گروهبندی و حقوق پرسنل
/// <summary>
/// تنظیم گروهبندی و حقوق پرسنل
/// </summary>
public const int CustomizeCheckoutSetGroupAndSalaryPermissionCode = 10402;
/// <summary>
/// تنظیمات محاسبه فیش حقوقی غیر رسمی
/// </summary>
public const int CustomizeCheckoutSettingsPermissionCode = 1040201;
#endregion
#region فیش حقوقی غیر رسمی موقت
/// <summary>
/// لیست فیش حقوقی غیر رسمی موقت
/// </summary>
public const int CustomizeCheckoutTempListPermissionCode = 10403;
/// <summary>
/// ایجاد فیش حقوقی غیر رسمی موقت
/// </summary>
public const int CreateCustomizeCheckoutTempPermissionCode = 1040301;
/// <summary>
/// پرینت فیش حقوقی غیر رسمی موقت
/// </summary>
public const int PrintCustomizeCheckoutTempPermissionCode = 1040302;
/// <summary>
/// حذف فیش حقوقی غیر رسمی موقت
/// </summary>
public const int DeleteCustomizeCheckoutTempPermissionCode = 1040303;
#endregion
#region فیش حقوقی غیر رسمی نهایی
/// <summary>
/// لیست فیش حقوقی غیر رسمی نهایی
/// </summary>
public const int CustomizeCheckoutListPermissionCode = 10404;
/// <summary>
/// ایجاد فیش حقوقی غیر رسمی نهایی
/// </summary>
public const int CreateCustomizeCheckoutPermissionCode = 1040401;
/// <summary>
/// پرینت فیش حقوقی غیر رسمی نهایی
/// </summary>
public const int PrintCustomizeCheckoutPermissionCode = 1040402;
/// <summary>
/// حذف فیش حقوقی غیر رسمی نهایی
/// </summary>
public const int DeleteCustomizeCheckoutPermissionCode = 1040403;
#endregion
#endregion
#region گزارشات
/// <summary>
/// بخش گزارشات
/// </summary>
public const int ReportsAreaPermissionCode = 113;
/// <summary>
/// گزارشات تجمیع حقوق پرسنل
/// </summary>
public const int CheckoutReportPermissionCode = 11301;
#endregion
#region حضور و غیاب
/// <summary>
/// عملیات حضور غیاب
/// </summary>
public const int RollCallOperationsPermissionCode = 106;
/// <summary>
/// ارتقا یا تغییر سرویس حضور غیاب
/// </summary>
public const int UpgradeOrChangeRollCallServicePermissionCode = 10601;
#region آپلود عکس پرسنل
/// <summary>
/// آپلود عکس پرسنل
/// </summary>
public const int UploadEmployeePicturePermissionCode = 10602;
/// <summary>
/// ویرایش عکس پرسنل
/// </summary>
public const int EditEmployeePicturePermissionCode = 1060201;
/// <summary>
/// فعال و غیر فعال کردن حضور غیاب پرسنل
/// </summary>
public const int ToggleRollCallEmployeeStatusPermissionCode = 1060202;
/// <summary>
/// ویرایش نام مستعار
/// </summary>
public const int EditEmployeeSurnamePermissionCode = 1060203;
#endregion
/// <summary>
/// لیست حضور و غیاب روز جاری
/// </summary>
public const int ListCurrentDayRollCallsPermissionCode = 10603;
#region سوابق حضور غیاب
/// <summary>
/// لیست سوابق حضور غیاب
/// </summary>
public const int ListRollCallHistoryPermissionCode = 10604;
/// <summary>
/// ویرایش و افزودن سوابق حضور غیاب
/// </summary>
public const int AddOrEditRollCallHistoryPermissionCode = 1060401;
/// <summary>
/// حذف حضور غیاب از سوابق
/// </summary>
public const int DeleteRollCallHistoryPermissionCode = 1060402;
#endregion
/// <summary>
/// عملیات گروه بندی
/// </summary>
public const int GroupingOperationsPermissionCode = 10605;
/// <summary>
/// تنظیم ساعت مجموعه
/// </summary>
public const int SetWorkshopWorkingHoursPermissionCode = 10606;
/// <summary>
/// تنظیمات حساب کاربری دوربین
/// </summary>
public const int CameraAccountSettingsPermissionCode = 10607;
#endregion
#region کارپوشه
/// <summary>
/// عملیات کارپوشه
/// </summary>
public const int WorkFlowOperationsPermissionCode = 110;
/// <summary>
/// حضور غیاب کارپوشه
/// </summary>
public const int WorkFlowRollCallsPermissionCode = 11001;
/// <summary>
/// قرارداد ها و فیش های حقوقی کارپوشه
/// </summary>
public const int WorkFlowContractsAndCheckoutsPermissionCode = 11002;
/// <summary>
/// بیمه کارپوشه
/// </summary>
public const int WorkFlowInsurancesPermissionCode = 11003;
#endregion
/// <summary>
/// لیست صورت حساب های مالی
/// </summary>
public const int FinancialStatementsListPermissionCode = 111;
/// <summary>
/// بخش مدیریت کاربران
/// </summary>
public const int UserManagementOperationsPermissionCode = 112;
/// <summary>
/// بخش تیکت
/// </summary>
// public const int TicketOperationsPermissionCode = 114;
#endregion
#region تعریف اشیا برای ثبت در دیتابیس
#region Level 1 Permissions
public static SubAccountPermissionDto WorkshopOperationsPermission
{ get; } = new()
{
Id = WorkshopOperationsPermissionCode,
Code = WorkshopOperationsPermissionCode,
Name = "عملیات کارگاه",
ParentId = 0
};
public static SubAccountPermissionDto PersonnelOperationsPermission { get; } = new()
{
Id = PersonnelOperationsPermissionCode,
Name = "عملیات پرسنل",
Code = PersonnelOperationsPermissionCode,
ParentId = 0
};
public static SubAccountPermissionDto CustomizeCheckoutOperationsPermission { get; } = new()
{
Id = CustomizeCheckoutOperationsPermissionCode,
Name = "فیش حقوقی غیر رسمی",
Code = CustomizeCheckoutOperationsPermissionCode,
ParentId = 0
};
public static SubAccountPermissionDto ReportsAreaPermission { get; } = new()
{
Id = ReportsAreaPermissionCode,
Name = "گزارشات",
Code = ReportsAreaPermissionCode,
ParentId = 0
};
public static SubAccountPermissionDto RollCallOperationsPermission { get; } = new()
{
Id = RollCallOperationsPermissionCode,
Code = RollCallOperationsPermissionCode,
Name = "حضور و غیاب",
ParentId = 0
};
public static SubAccountPermissionDto WorkFlowOperationsPermission { get; } = new()
{
Id = WorkFlowOperationsPermissionCode,
Code = WorkFlowOperationsPermissionCode,
Name = "کارپوشه",
ParentId = 0
};
public static SubAccountPermissionDto FinancialStatementsListPermission { get; } = new()
{
Id = FinancialStatementsListPermissionCode,
Name = "صورت حساب های مالی",
Code = FinancialStatementsListPermissionCode,
ParentId = 0
};
public static SubAccountPermissionDto UserManagementOperationsPermission { get; } = new()
{
Id = UserManagementOperationsPermissionCode,
Name = "مدیریت کاربران",
Code = UserManagementOperationsPermissionCode,
ParentId = 0
};
//public static SubAccountPermissionDto TicketOperationsPermission { get; } = new()
//{
// Id = 12,
// Name = "تیکت",
// Code = TicketOperationsPermissionCode,
// ParentId = 0
//};
#endregion
#region Level 2 Permissions
#region عملیات کارگاه, ParentId = WorkshopOperationsPermissionCode
public static SubAccountPermissionDto ContractListPermission { get; } = new()
{
Id = ContractListPermissionCode,
Name = "لیست قرارداد",
Code = ContractListPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
public static SubAccountPermissionDto CheckoutListPermission { get; } = new()
{
Id = CheckoutListPermissionCode,
Name = "لیست فیش حقوقی",
Code = CheckoutListPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
public static SubAccountPermissionDto InsuranceListPermission { get; } = new()
{
Id = InsuranceListPermissionCode,
Name = "لیست بیمه",
Code = InsuranceListPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
public static SubAccountPermissionDto PersonnelStatusGroupReportPermission { get; } = new()
{
Id = PersonnelStatusGroupReportPermissionCode,
Name = "گزارش وضعیت پرسنل به صورت گروهی",
Code = PersonnelStatusGroupReportPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
public static SubAccountPermissionDto PersonnelStatusIndividualReportPermission { get; } = new()
{
Id = PersonnelStatusIndividualReportPermissionCode,
Name = "گزارش وضعیت پرسنل به صورت انفرادی",
Code = PersonnelStatusIndividualReportPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
public static SubAccountPermissionDto PersonnelListPermission { get; } = new()
{
Id = PersonnelListPermissionCode,
Name = "لیست کل پرسنل",
Code = PersonnelListPermissionCode,
ParentId = WorkshopOperationsPermissionCode
};
#endregion
#region عملیات پرسنل, ParentId = PersonnelOperationsPermissionCode
public static SubAccountPermissionDto LeaveCreatePermission { get; } = new()
{
Id = LeaveCreatePermissionCode,
Name = "ثبت مرخصی",
Code = LeaveCreatePermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto LeaveListPermission { get; } = new()
{
Id = LeaveListPermissionCode,
Name = "لیست کل مرخصی",
Code = LeaveListPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto EmployeeDocumentsOperationsPermission { get; } = new()
{
Id = EmployeeDocumentsOperationsPermissionCode,
Name = "عملیات مدارک پرسنل",
Code = EmployeeDocumentsOperationsPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto PaymentToEmployeePermission { get; } = new()
{
Id = PaymentToEmployeePermissionCode,
Name = "عملیات پرداخت حقوق پرسنل",
Code = PaymentToEmployeePermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto LoanOperationsPermission { get; } = new()
{
Id = LoanOperationsPermissionCode,
Name = "عملیات وام",
Code = LoanOperationsPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto RewardOperationsPermission { get; } = new()
{
Id = RewardOperationsPermissionCode,
Name = "عملیات پاداش",
Code = RewardOperationsPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto SalaryAidOperationsPermission { get; } = new()
{
Id = SalaryAidOperationsPermissionCode,
Name = "عملیات مساعده",
Code = SalaryAidOperationsPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
public static SubAccountPermissionDto FineOperationsPermission { get; } = new()
{
Id = FineOperationsPermissionCode,
Name = "عملیات جرایم",
Code = FineOperationsPermissionCode,
ParentId = PersonnelOperationsPermissionCode
};
#endregion
#region فیش حقوقی غیر رسمی,ParentId = CustomizeCheckoutOperationsPermissionCode
public static SubAccountPermissionDto CustomizeCheckoutSetGroupAndSalaryPermission { get; } = new()
{
Id = CustomizeCheckoutSetGroupAndSalaryPermissionCode,
Name = "تنظیم گروه بندی و حقوق پرسنل",
Code = CustomizeCheckoutSetGroupAndSalaryPermissionCode,
ParentId = CustomizeCheckoutOperationsPermissionCode
};
public static SubAccountPermissionDto CustomizeCheckoutTempListPermission { get; } = new()
{
Id = CustomizeCheckoutTempListPermissionCode,
Name = "لیست فیش حقوقی موقت",
Code = CustomizeCheckoutTempListPermissionCode,
ParentId = CustomizeCheckoutOperationsPermissionCode
};
public static SubAccountPermissionDto CustomizeCheckoutListPermission { get; } = new()
{
Id = CustomizeCheckoutListPermissionCode,
Name = "لیست فیش حقوقی نهایی",
Code = CustomizeCheckoutListPermissionCode,
ParentId = CustomizeCheckoutOperationsPermissionCode
};
#endregion
#region گزارشات ,ParentId = ReportsAreaPermissionCode
public static SubAccountPermissionDto CheckoutReportPermission { get; } = new()
{
Id = CheckoutReportPermissionCode,
Name = "گزارشات تجمیع حقوق پرسنل",
Code = CheckoutReportPermissionCode,
ParentId = ReportsAreaPermissionCode
};
#endregion
#region حضور و غیاب, ParentId = RollCallOperationsPermissionCode
public static SubAccountPermissionDto UpgradeOrChangeRollCallServicePermission { get; } = new()
{
Id = UpgradeOrChangeRollCallServicePermissionCode,
Name = "ارتقا یا تغییر سرویس حضور غیاب",
Code = UpgradeOrChangeRollCallServicePermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto UploadEmployeePicturePermission { get; } = new()
{
Id = UploadEmployeePicturePermissionCode,
Name = "آپلود عکس پرسنل",
Code = UploadEmployeePicturePermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto RollCallHistoryListPermission { get; } = new()
{
Id = ListRollCallHistoryPermissionCode,
Name = "سوابق حضور و غیاب",
Code = ListRollCallHistoryPermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto CurrentDayRollCallsListPermission { get; } = new()
{
Id = ListCurrentDayRollCallsPermissionCode,
Name = "حضور و غیاب جاری",
Code = ListCurrentDayRollCallsPermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto GroupingOperationsPermission { get; } = new()
{
Id = GroupingOperationsPermissionCode,
Name = "عملیات گروهبندی",
Code = GroupingOperationsPermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto SetWorkshopWorkingHoursPermission { get; } = new()
{
Id = SetWorkshopWorkingHoursPermissionCode,
Name = "تنظیم ساعت فعالیت مجموعه",
Code = SetWorkshopWorkingHoursPermissionCode,
ParentId = RollCallOperationsPermissionCode
};
public static SubAccountPermissionDto CameraAccountSettingsPermission { get; } = new()
{
Id = CameraAccountSettingsPermissionCode,
Name = "تنظیمات حساب کاربری دوربین",
Code = CameraAccountSettingsPermissionCode,
ParentId = RollCallOperationsPermissionCode
};
#endregion
#region کارپوشه,ParentId = WorkFlowOperationsPermissionCode
public static SubAccountPermissionDto WorkFlowRollCallsPermission { get; } = new()
{
Id = WorkFlowRollCallsPermissionCode,
Name = "حضور و غیاب کارپوشه",
Code = WorkFlowRollCallsPermissionCode,
ParentId = WorkFlowOperationsPermissionCode
};
public static SubAccountPermissionDto WorkFlowContractsAndCheckoutsPermission { get; } = new()
{
Id = WorkFlowContractsAndCheckoutsPermissionCode,
Name = "قرارداد و فیش حقوقی کارپوشه",
Code = WorkFlowContractsAndCheckoutsPermissionCode,
ParentId = WorkFlowOperationsPermissionCode
};
public static SubAccountPermissionDto WorkFlowInsurancesPermission { get; } = new()
{
Id = WorkFlowInsurancesPermissionCode,
Name = "بیمه کارپوشه",
Code = WorkFlowInsurancesPermissionCode,
ParentId = WorkFlowOperationsPermissionCode
};
#endregion
#endregion
#region Level 3 Permissions
#region عملیات وام در بخش عملیات پرسنل, ParentId = LoanOperationsPermissionCode
public static SubAccountPermissionDto CreateLoanPermission { get; } = new()
{
Id = CreateLoanPermissionCode,
Name = "ایجاد وام",
Code = CreateLoanPermissionCode,
ParentId = LoanOperationsPermissionCode
};
public static SubAccountPermissionDto EditLoanPermission { get; } = new()
{
Id = EditLoanPermissionCode,
Name = "ویرایش وام",
Code = EditLoanPermissionCode,
ParentId = LoanOperationsPermissionCode
};
public static SubAccountPermissionDto DeleteLoanPermission { get; } = new()
{
Id = DeleteLoanPermissionCode,
Name = "حذف وام",
Code = DeleteLoanPermissionCode,
ParentId = LoanOperationsPermissionCode
};
#endregion
#region عملیات پاداش در بخش عملیات پرسنل, ParentId = RewardOperationsPermissionCode
public static SubAccountPermissionDto CreateRewardPermission { get; } = new()
{
Id = CreateRewardPermissionCode,
Name = "ایجاد پاداش",
Code = CreateRewardPermissionCode,
ParentId = RewardOperationsPermissionCode
};
public static SubAccountPermissionDto EditRewardPermission { get; } = new()
{
Id = EditRewardPermissionCode,
Name = "ویرایش پاداش",
Code = EditRewardPermissionCode,
ParentId = RewardOperationsPermissionCode
};
public static SubAccountPermissionDto DeleteRewardPermission { get; } = new()
{
Id = DeleteRewardPermissionCode,
Name = "حذف پاداش",
Code = DeleteRewardPermissionCode,
ParentId = RewardOperationsPermissionCode
};
#endregion
#region عملیات مساعده در بخش عملیات پرسنل, ParentId = SalaryAidOperationsPermissionCode
public static SubAccountPermissionDto CreateSalaryAidPermission { get; } = new()
{
Id = CreateSalaryAidPermissionCode,
Name = "ایجاد مساعده",
Code = CreateSalaryAidPermissionCode,
ParentId = SalaryAidOperationsPermissionCode
};
public static SubAccountPermissionDto EditSalaryAidPermission { get; } = new()
{
Id = EditSalaryAidPermissionCode,
Name = "ویرایش مساعده",
Code = EditSalaryAidPermissionCode,
ParentId = SalaryAidOperationsPermissionCode
};
public static SubAccountPermissionDto DeleteSalaryAidPermission { get; } = new()
{
Id = DeleteSalaryAidPermissionCode,
Name = "حذف مساعده",
Code = DeleteSalaryAidPermissionCode,
ParentId = SalaryAidOperationsPermissionCode
};
#endregion
#region عملیات جرایم در بخش عملیات پرسنل, ParentId = FineOperationsPermissionCode
public static SubAccountPermissionDto CreateFinePermission { get; } = new()
{
Id = CreateFinePermissionCode,
Name = "ایجاد جریمه",
Code = CreateFinePermissionCode,
ParentId = FineOperationsPermissionCode
};
public static SubAccountPermissionDto CreateFineTitlePermission { get; } = new()
{
Id = CreateFineTitlePermissionCode,
Name = "ایجاد عنوان جریمه",
Code = CreateFineTitlePermissionCode,
ParentId = FineOperationsPermissionCode
};
public static SubAccountPermissionDto EditFinePermission { get; } = new()
{
Id = EditFinePermissionCode,
Name = "ویرایش جریمه",
Code = EditFinePermissionCode,
ParentId = FineOperationsPermissionCode
};
public static SubAccountPermissionDto DeleteFinePermission { get; } = new()
{
Id = DeleteFinePermissionCode,
Name = "حذف جریمه",
Code = DeleteFinePermissionCode,
ParentId = FineOperationsPermissionCode
};
#endregion
#region لیست فیش حقوقی موقت در بخش فیش حقوقی غیر رسمی, ParentId = CustomizeCheckoutTempListPermissionCode
public static SubAccountPermissionDto CreateCustomizeCheckoutTempPermission { get; } = new()
{
Id = CreateCustomizeCheckoutTempPermissionCode,
Name = "ایجاد فیش حقوقی غیر رسمی موقت",
Code = CreateCustomizeCheckoutTempPermissionCode,
ParentId = CustomizeCheckoutTempListPermissionCode
};
public static SubAccountPermissionDto PrintCustomizeCheckoutTempPermission { get; } = new()
{
Id = PrintCustomizeCheckoutTempPermissionCode,
Name = "پرینت فیش حقوقی غیر رسمی موقت",
Code = PrintCustomizeCheckoutTempPermissionCode,
ParentId = CustomizeCheckoutTempListPermissionCode
};
public static SubAccountPermissionDto DeleteCustomizeCheckoutTempPermission { get; } = new()
{
Id = DeleteCustomizeCheckoutTempPermissionCode,
Name = "حذف فیش حقوقی غیر رسمی موقت",
Code = DeleteCustomizeCheckoutTempPermissionCode,
ParentId = CustomizeCheckoutTempListPermissionCode
};
#endregion
#region لیست فیش حقوقی نهایی در بخش فیش حقوقی غیر رسمی, ParentId = CustomizeCheckoutListPermissionCode
public static SubAccountPermissionDto CreateCustomizeCheckoutPermission { get; } = new()
{
Id = CreateCustomizeCheckoutPermissionCode,
Name = "ایجاد فیش حقوقی غیر رسمی نهایی",
Code = CreateCustomizeCheckoutPermissionCode,
ParentId = CustomizeCheckoutListPermissionCode
};
public static SubAccountPermissionDto PrintCustomizeCheckoutPermission { get; } = new()
{
Id = PrintCustomizeCheckoutPermissionCode,
Name = "پرینت فیش حقوقی غیر رسمی نهایی",
Code = PrintCustomizeCheckoutPermissionCode,
ParentId = CustomizeCheckoutListPermissionCode
};
public static SubAccountPermissionDto DeleteCustomizeCheckoutPermission { get; } = new()
{
Id = DeleteCustomizeCheckoutPermissionCode,
Name = "حذف فیش حقوقی غیر رسمی نهایی",
Code = DeleteCustomizeCheckoutPermissionCode,
ParentId = CustomizeCheckoutListPermissionCode
};
#endregion
#region تنظیمات محاسبه فیش حقوقی در بخش تنظیمات گروهبندی و حقوق پرسنل, ParentId = CustomizeCheckoutSetGroupAndSalaryPermissionCode
public static SubAccountPermissionDto CustomizeCheckoutSettingsPermission { get; } = new()
{
Id = CustomizeCheckoutSettingsPermissionCode,
Name = "تنظیمات محاسبه فیش حقوقی",
Code = CustomizeCheckoutSettingsPermissionCode,
ParentId = CustomizeCheckoutSetGroupAndSalaryPermissionCode
};
#endregion
#region آپلود عکس در بخش حضور و غیاب, ParentId = UploadEmployeePicturePermissionCode
public static SubAccountPermissionDto EditEmployeePicturePermission { get; } = new()
{
Id = EditEmployeePicturePermissionCode,
Name = "ویرایش عکس پرسنل",
Code = EditEmployeePicturePermissionCode,
ParentId = UploadEmployeePicturePermissionCode
};
public static SubAccountPermissionDto ToggleRollCallEmployeeStatusPermission { get; } = new()
{
Id = ToggleRollCallEmployeeStatusPermissionCode,
Name = "فعال و غیر فعال کردن پرسنل",
Code = ToggleRollCallEmployeeStatusPermissionCode,
ParentId = UploadEmployeePicturePermissionCode
};
public static SubAccountPermissionDto EditEmployeeSurnamePermission{ get; } = new()
{
Id = EditEmployeeSurnamePermissionCode,
Name = "ویرایش نام مستعار",
Code = EditEmployeeSurnamePermissionCode,
ParentId = UploadEmployeePicturePermissionCode
};
#endregion
#region سوابق حضور و غیاب در بخش حضور و غیاب, ParentId = ListRollCallHistoryPermissionCode
public static SubAccountPermissionDto AddOrEditRollCallHistoryPermission { get; } = new()
{
Id = AddOrEditRollCallHistoryPermissionCode,
Name = "ویرایش و افزودن سوابق حضور و غیاب",
Code = AddOrEditRollCallHistoryPermissionCode,
ParentId = ListRollCallHistoryPermissionCode
};
public static SubAccountPermissionDto DeleteRollCallHistoryPermission { get; } = new()
{
Id = DeleteRollCallHistoryPermissionCode,
Name = "حذف سوابق حضور و غیاب",
Code = DeleteRollCallHistoryPermissionCode,
ParentId = ListRollCallHistoryPermissionCode
};
#endregion
#endregion
#endregion
}
public class SubAccountPermissionDto
{
public long Id { get; set; }
public int Code { get; set; }
public string Name { get; set; }
public long ParentId { get; set; }
}
}

View File

@@ -26,6 +26,7 @@ using AccountManagement.Domain.SubAccountPermissionSubtitle2Agg;
using AccountManagement.Domain.SubAccountPermissionSubtitle3Agg;
using AccountManagement.Domain.SubAccountPermissionSubtitle4Agg;
using AccountManagement.Domain.SubAccountRoleAgg;
using AccountMangement.Infrastructure.EFCore.Seed;
namespace AccountMangement.Infrastructure.EFCore
{
@@ -76,7 +77,8 @@ namespace AccountMangement.Infrastructure.EFCore
{
var assembly = typeof(AccountMapping).Assembly;
modelBuilder.ApplyConfigurationsFromAssembly(assembly);
base.OnModelCreating(modelBuilder);
SubAccountPermissionSeeder.Seed(modelBuilder);
base.OnModelCreating(modelBuilder);
}
}
}

View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>

View File

@@ -8,11 +8,10 @@ namespace AccountMangement.Infrastructure.EFCore.Mappings
{
public void Configure(EntityTypeBuilder<SubAccountPermissionSubtitle1> builder)
{
builder.HasKey(x => x.id);
builder.HasKey(x => x.id);
builder.ToTable("SubAccountPermissionSubtitle1");
builder.Property(x => x.Code).HasMaxLength(15).IsRequired();
builder.Property(x => x.Code).HasMaxLength(15).IsRequired();
builder.Property(x => x.Title).HasMaxLength(50).IsRequired();
builder.HasMany(x => x.Children).WithOne(x => x.Parent).HasForeignKey(x => x.ParentId);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,408 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace AccountMangement.Infrastructure.EFCore.Migrations
{
/// <inheritdoc />
public partial class SeedPermission : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.InsertData(
table: "SubAccountPermissionSubtitle1",
columns: new[] { "id", "Code", "CreationDate", "Title" },
values: new object[,]
{
{ 102L, 102, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2250), "عملیات کارگاه" },
{ 103L, 103, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2262), "عملیات پرسنل" },
{ 104L, 104, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2263), "فیش حقوقی غیر رسمی" },
{ 106L, 106, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2265), "حضور و غیاب" },
{ 110L, 110, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2267), "کارپوشه" },
{ 111L, 111, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2268), "صورت حساب های مالی" },
{ 112L, 112, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2268), "مدیریت کاربران" },
{ 113L, 113, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2264), "گزارشات" }
});
migrationBuilder.InsertData(
table: "SubAccountPermissionSubtitle2",
columns: new[] { "id", "Code", "CreationDate", "ParentId", "Title" },
values: new object[,]
{
{ 10201L, 10201, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2358), 102L, "لیست قرارداد" },
{ 10202L, 10202, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2361), 102L, "لیست فیش حقوقی" },
{ 10203L, 10203, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2363), 102L, "لیست بیمه" },
{ 10204L, 10204, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2365), 102L, "گزارش وضعیت پرسنل به صورت گروهی" },
{ 10205L, 10205, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2366), 102L, "گزارش وضعیت پرسنل به صورت انفرادی" },
{ 10206L, 10206, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2368), 102L, "لیست کل پرسنل" },
{ 10301L, 10301, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2370), 103L, "ثبت مرخصی" },
{ 10302L, 10302, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2372), 103L, "لیست کل مرخصی" },
{ 10303L, 10303, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2374), 103L, "عملیات مدارک پرسنل" },
{ 10304L, 10304, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2377), 103L, "عملیات پرداخت حقوق پرسنل" },
{ 10305L, 10305, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2378), 103L, "عملیات وام" },
{ 10306L, 10306, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2380), 103L, "عملیات پاداش" },
{ 10307L, 10307, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2382), 103L, "عملیات مساعده" },
{ 10308L, 10308, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2383), 103L, "عملیات جرایم" },
{ 10402L, 10402, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2385), 104L, "تنظیم گروه بندی و حقوق پرسنل" },
{ 10403L, 10403, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2387), 104L, "لیست فیش حقوقی موقت" },
{ 10404L, 10404, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2388), 104L, "لیست فیش حقوقی نهایی" },
{ 10601L, 10601, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2394), 106L, "ارتقا یا تغییر سرویس حضور غیاب" },
{ 10602L, 10602, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2395), 106L, "آپلود عکس پرسنل" },
{ 10603L, 10603, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2400), 106L, "حضور و غیاب جاری" },
{ 10604L, 10604, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2398), 106L, "سوابق حضور و غیاب" },
{ 10605L, 10605, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2401), 106L, "عملیات گروهبندی" },
{ 10606L, 10606, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2404), 106L, "تنظیم ساعت فعالیت مجموعه" },
{ 10607L, 10607, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2406), 106L, "تنظیمات حساب کاربری دوربین" },
{ 11001L, 11001, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2408), 110L, "حضور و غیاب کارپوشه" },
{ 11002L, 11002, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2411), 110L, "قرارداد و فیش حقوقی کارپوشه" },
{ 11003L, 11003, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2413), 110L, "بیمه کارپوشه" },
{ 11301L, 11301, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2391), 113L, "گزارشات تجمیع حقوق پرسنل" }
});
migrationBuilder.InsertData(
table: "SubAccountPermissionSubtitle3",
columns: new[] { "id", "Code", "CreationDate", "ParentId", "Title" },
values: new object[,]
{
{ 1030501L, 1030501, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2701), 10305L, "ایجاد وام" },
{ 1030502L, 1030502, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2706), 10305L, "ویرایش وام" },
{ 1030503L, 1030503, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2710), 10305L, "حذف وام" },
{ 1030601L, 1030601, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2713), 10306L, "ایجاد پاداش" },
{ 1030602L, 1030602, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2716), 10306L, "ویرایش پاداش" },
{ 1030603L, 1030603, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2748), 10306L, "حذف پاداش" },
{ 1030701L, 1030701, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2751), 10307L, "ایجاد مساعده" },
{ 1030702L, 1030702, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2755), 10307L, "ویرایش مساعده" },
{ 1030703L, 1030703, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2759), 10307L, "حذف مساعده" },
{ 1030801L, 1030801, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2763), 10308L, "ایجاد جریمه" },
{ 1030802L, 1030802, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2766), 10308L, "ایجاد عنوان جریمه" },
{ 1030803L, 1030803, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2770), 10308L, "ویرایش جریمه" },
{ 1030804L, 1030804, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2773), 10308L, "حذف جریمه" },
{ 1040201L, 1040201, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2799), 10402L, "تنظیمات محاسبه فیش حقوقی" },
{ 1040301L, 1040301, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2776), 10403L, "ایجاد فیش حقوقی غیر رسمی موقت" },
{ 1040302L, 1040302, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2780), 10403L, "پرینت فیش حقوقی غیر رسمی موقت" },
{ 1040303L, 1040303, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2784), 10403L, "حذف فیش حقوقی غیر رسمی موقت" },
{ 1040401L, 1040401, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2788), 10404L, "ایجاد فیش حقوقی غیر رسمی نهایی" },
{ 1040402L, 1040402, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2792), 10404L, "پرینت فیش حقوقی غیر رسمی نهایی" },
{ 1040403L, 1040403, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2796), 10404L, "حذف فیش حقوقی غیر رسمی نهایی" },
{ 1060201L, 1060201, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2804), 10602L, "ویرایش عکس پرسنل" },
{ 1060202L, 1060202, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2808), 10602L, "فعال و غیر فعال کردن پرسنل" },
{ 1060203L, 1060203, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2812), 10602L, "ویرایش نام مستعار" },
{ 1060401L, 1060401, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2816), 10604L, "ویرایش و افزودن سوابق حضور و غیاب" },
{ 1060402L, 1060402, new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2821), 10604L, "حذف سوابق حضور و غیاب" }
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 111L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 112L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10201L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10202L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10203L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10204L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10205L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10206L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10301L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10302L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10303L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10304L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10601L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10603L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10605L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10606L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10607L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 11001L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 11002L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 11003L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 11301L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030501L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030502L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030503L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030601L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030602L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030603L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030701L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030702L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030703L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030801L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030802L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030803L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1030804L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040201L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040301L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040302L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040303L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040401L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040402L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1040403L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1060201L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1060202L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1060203L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1060401L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle3",
keyColumn: "id",
keyValue: 1060402L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 102L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 110L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 113L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10305L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10306L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10307L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10308L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10402L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10403L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10404L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10602L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle2",
keyColumn: "id",
keyValue: 10604L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 103L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 104L);
migrationBuilder.DeleteData(
table: "SubAccountPermissionSubtitle1",
keyColumn: "id",
keyValue: 106L);
}
}
}

View File

@@ -472,6 +472,64 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.HasKey("id");
b.ToTable("SubAccountPermissionSubtitle1", (string)null);
b.HasData(
new
{
id = 102L,
Code = 102,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2250),
Title = "عملیات کارگاه"
},
new
{
id = 103L,
Code = 103,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2262),
Title = "عملیات پرسنل"
},
new
{
id = 104L,
Code = 104,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2263),
Title = "فیش حقوقی غیر رسمی"
},
new
{
id = 113L,
Code = 113,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2264),
Title = "گزارشات"
},
new
{
id = 106L,
Code = 106,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2265),
Title = "حضور و غیاب"
},
new
{
id = 110L,
Code = 110,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2267),
Title = "کارپوشه"
},
new
{
id = 111L,
Code = 111,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2268),
Title = "صورت حساب های مالی"
},
new
{
id = 112L,
Code = 112,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2268),
Title = "مدیریت کاربران"
});
});
modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle2Agg.SubAccountPermissionSubtitle2", b =>
@@ -502,6 +560,232 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.HasIndex("ParentId");
b.ToTable("SubAccountPermissionSubtitle2", (string)null);
b.HasData(
new
{
id = 10201L,
Code = 10201,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2358),
ParentId = 102L,
Title = "لیست قرارداد"
},
new
{
id = 10202L,
Code = 10202,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2361),
ParentId = 102L,
Title = "لیست فیش حقوقی"
},
new
{
id = 10203L,
Code = 10203,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2363),
ParentId = 102L,
Title = "لیست بیمه"
},
new
{
id = 10204L,
Code = 10204,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2365),
ParentId = 102L,
Title = "گزارش وضعیت پرسنل به صورت گروهی"
},
new
{
id = 10205L,
Code = 10205,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2366),
ParentId = 102L,
Title = "گزارش وضعیت پرسنل به صورت انفرادی"
},
new
{
id = 10206L,
Code = 10206,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2368),
ParentId = 102L,
Title = "لیست کل پرسنل"
},
new
{
id = 10301L,
Code = 10301,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2370),
ParentId = 103L,
Title = "ثبت مرخصی"
},
new
{
id = 10302L,
Code = 10302,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2372),
ParentId = 103L,
Title = "لیست کل مرخصی"
},
new
{
id = 10303L,
Code = 10303,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2374),
ParentId = 103L,
Title = "عملیات مدارک پرسنل"
},
new
{
id = 10304L,
Code = 10304,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2377),
ParentId = 103L,
Title = "عملیات پرداخت حقوق پرسنل"
},
new
{
id = 10305L,
Code = 10305,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2378),
ParentId = 103L,
Title = "عملیات وام"
},
new
{
id = 10306L,
Code = 10306,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2380),
ParentId = 103L,
Title = "عملیات پاداش"
},
new
{
id = 10307L,
Code = 10307,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2382),
ParentId = 103L,
Title = "عملیات مساعده"
},
new
{
id = 10308L,
Code = 10308,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2383),
ParentId = 103L,
Title = "عملیات جرایم"
},
new
{
id = 10402L,
Code = 10402,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2385),
ParentId = 104L,
Title = "تنظیم گروه بندی و حقوق پرسنل"
},
new
{
id = 10403L,
Code = 10403,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2387),
ParentId = 104L,
Title = "لیست فیش حقوقی موقت"
},
new
{
id = 10404L,
Code = 10404,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2388),
ParentId = 104L,
Title = "لیست فیش حقوقی نهایی"
},
new
{
id = 11301L,
Code = 11301,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2391),
ParentId = 113L,
Title = "گزارشات تجمیع حقوق پرسنل"
},
new
{
id = 10601L,
Code = 10601,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2394),
ParentId = 106L,
Title = "ارتقا یا تغییر سرویس حضور غیاب"
},
new
{
id = 10602L,
Code = 10602,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2395),
ParentId = 106L,
Title = "آپلود عکس پرسنل"
},
new
{
id = 10604L,
Code = 10604,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2398),
ParentId = 106L,
Title = "سوابق حضور و غیاب"
},
new
{
id = 10603L,
Code = 10603,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2400),
ParentId = 106L,
Title = "حضور و غیاب جاری"
},
new
{
id = 10605L,
Code = 10605,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2401),
ParentId = 106L,
Title = "عملیات گروهبندی"
},
new
{
id = 10606L,
Code = 10606,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2404),
ParentId = 106L,
Title = "تنظیم ساعت فعالیت مجموعه"
},
new
{
id = 10607L,
Code = 10607,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2406),
ParentId = 106L,
Title = "تنظیمات حساب کاربری دوربین"
},
new
{
id = 11001L,
Code = 11001,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2408),
ParentId = 110L,
Title = "حضور و غیاب کارپوشه"
},
new
{
id = 11002L,
Code = 11002,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2411),
ParentId = 110L,
Title = "قرارداد و فیش حقوقی کارپوشه"
},
new
{
id = 11003L,
Code = 11003,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2413),
ParentId = 110L,
Title = "بیمه کارپوشه"
});
});
modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle3Agg.SubAccountPermissionSubtitle3", b =>
@@ -532,6 +816,208 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.HasIndex("ParentId");
b.ToTable("SubAccountPermissionSubtitle3", (string)null);
b.HasData(
new
{
id = 1030501L,
Code = 1030501,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2701),
ParentId = 10305L,
Title = "ایجاد وام"
},
new
{
id = 1030502L,
Code = 1030502,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2706),
ParentId = 10305L,
Title = "ویرایش وام"
},
new
{
id = 1030503L,
Code = 1030503,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2710),
ParentId = 10305L,
Title = "حذف وام"
},
new
{
id = 1030601L,
Code = 1030601,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2713),
ParentId = 10306L,
Title = "ایجاد پاداش"
},
new
{
id = 1030602L,
Code = 1030602,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2716),
ParentId = 10306L,
Title = "ویرایش پاداش"
},
new
{
id = 1030603L,
Code = 1030603,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2748),
ParentId = 10306L,
Title = "حذف پاداش"
},
new
{
id = 1030701L,
Code = 1030701,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2751),
ParentId = 10307L,
Title = "ایجاد مساعده"
},
new
{
id = 1030702L,
Code = 1030702,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2755),
ParentId = 10307L,
Title = "ویرایش مساعده"
},
new
{
id = 1030703L,
Code = 1030703,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2759),
ParentId = 10307L,
Title = "حذف مساعده"
},
new
{
id = 1030801L,
Code = 1030801,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2763),
ParentId = 10308L,
Title = "ایجاد جریمه"
},
new
{
id = 1030802L,
Code = 1030802,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2766),
ParentId = 10308L,
Title = "ایجاد عنوان جریمه"
},
new
{
id = 1030803L,
Code = 1030803,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2770),
ParentId = 10308L,
Title = "ویرایش جریمه"
},
new
{
id = 1030804L,
Code = 1030804,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2773),
ParentId = 10308L,
Title = "حذف جریمه"
},
new
{
id = 1040301L,
Code = 1040301,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2776),
ParentId = 10403L,
Title = "ایجاد فیش حقوقی غیر رسمی موقت"
},
new
{
id = 1040302L,
Code = 1040302,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2780),
ParentId = 10403L,
Title = "پرینت فیش حقوقی غیر رسمی موقت"
},
new
{
id = 1040303L,
Code = 1040303,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2784),
ParentId = 10403L,
Title = "حذف فیش حقوقی غیر رسمی موقت"
},
new
{
id = 1040401L,
Code = 1040401,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2788),
ParentId = 10404L,
Title = "ایجاد فیش حقوقی غیر رسمی نهایی"
},
new
{
id = 1040402L,
Code = 1040402,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2792),
ParentId = 10404L,
Title = "پرینت فیش حقوقی غیر رسمی نهایی"
},
new
{
id = 1040403L,
Code = 1040403,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2796),
ParentId = 10404L,
Title = "حذف فیش حقوقی غیر رسمی نهایی"
},
new
{
id = 1040201L,
Code = 1040201,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2799),
ParentId = 10402L,
Title = "تنظیمات محاسبه فیش حقوقی"
},
new
{
id = 1060201L,
Code = 1060201,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2804),
ParentId = 10602L,
Title = "ویرایش عکس پرسنل"
},
new
{
id = 1060202L,
Code = 1060202,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2808),
ParentId = 10602L,
Title = "فعال و غیر فعال کردن پرسنل"
},
new
{
id = 1060203L,
Code = 1060203,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2812),
ParentId = 10602L,
Title = "ویرایش نام مستعار"
},
new
{
id = 1060401L,
Code = 1060401,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2816),
ParentId = 10604L,
Title = "ویرایش و افزودن سوابق حضور و غیاب"
},
new
{
id = 1060402L,
Code = 1060402,
CreationDate = new DateTime(2025, 1, 4, 17, 7, 24, 472, DateTimeKind.Local).AddTicks(2821),
ParentId = 10604L,
Title = "حذف سوابق حضور و غیاب"
});
});
modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle4Agg.SubAccountPermissionSubtitle4", b =>

View File

@@ -1,26 +1,26 @@
using _0_Framework.InfraStructure;
using AccountManagement.Application.Contracts.SubAccountPermissionSubtitle;
using AccountManagement.Domain.SubAccountAgg;
using AccountManagement.Domain.SubAccountPermissionSubtitle1Agg;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using AccountManagement.Domain.SubAccountAgg;
namespace AccountMangement.Infrastructure.EFCore.Repository
{
public class SubAccountPermissionSubtitle1Repository : RepositoryBase<long, SubAccountPermissionSubtitle1>,
ISubAccountPermissionSubtitle1Repository
{
private readonly AccountContext _context;
public class SubAccountPermissionSubtitle1Repository : RepositoryBase<long, SubAccountPermissionSubtitle1>,
ISubAccountPermissionSubtitle1Repository
{
private readonly AccountContext _context;
public SubAccountPermissionSubtitle1Repository(AccountContext context) : base(context)
{
_context = context;
}
public SubAccountPermissionSubtitle1Repository(AccountContext context) : base(context)
{
_context = context;
}
public List<SubAccountPermissionSubtitleViewModel> GetAllWithChildren()
{
public List<SubAccountPermissionSubtitleViewModel> GetAllWithChildren()
{
return _context.SubAccountPermissionSubtitle1Collection.Include(x => x.Children)
.ThenInclude(x => x.Children)
.ThenInclude(x => x.Children).AsSplitQuery().Select(x => new SubAccountPermissionSubtitleViewModel
@@ -52,26 +52,26 @@ namespace AccountMangement.Infrastructure.EFCore.Repository
}
public List<int> GetAllPermissionCodes()
{
var data = GetAllWithChildren();
return Flatten(data);
public List<int> GetAllPermissionCodes()
{
var data = GetAllWithChildren();
return Flatten(data);
}
}
public List<int> Flatten(List<SubAccountPermissionSubtitleViewModel> hierarchy)
{
var flatList = new List<int>();
foreach (var item in hierarchy)
{
flatList.Add(item.Code);
if (item.Children != null && item.Children.Any())
{
flatList.AddRange(Flatten(item.Children.ToList()));
}
}
public List<int> Flatten(List<SubAccountPermissionSubtitleViewModel> hierarchy)
{
var flatList = new List<int>();
foreach (var item in hierarchy)
{
flatList.Add(item.Code);
if (item.Children != null && item.Children.Any())
{
flatList.AddRange(Flatten(item.Children.ToList()));
}
}
return flatList;
}
}
return flatList;
}
}
}

View File

@@ -0,0 +1,45 @@
using _0_Framework.Application;
using AccountManagement.Domain.SubAccountPermissionSubtitle1Agg;
using AccountManagement.Domain.SubAccountPermissionSubtitle2Agg;
using AccountManagement.Domain.SubAccountPermissionSubtitle3Agg;
using AccountManagement.Domain.SubAccountPermissionSubtitle4Agg;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace AccountMangement.Infrastructure.EFCore.Seed
{
public static class SubAccountPermissionSeeder
{
public static void Seed(ModelBuilder builder)
{
PropertyInfo[] properties = typeof(SubAccountPermissionHelper).GetProperties(BindingFlags.Static | BindingFlags.Public);
var permissionsList = properties
.Where(x => x.PropertyType == typeof(SubAccountPermissionDto)).Select(x => (SubAccountPermissionDto)x.GetValue(null)).ToList();
List<SubAccountPermissionSubtitle1> result1 = permissionsList.Where(x => x.ParentId == 0)
.Select(x => new SubAccountPermissionSubtitle1(x.Name, x.Code) { id = x.Id }).ToList();
List<SubAccountPermissionSubtitle2> result2 = permissionsList.Where(x => result1.Any(y => y.id == x.ParentId))
.Select(x => new SubAccountPermissionSubtitle2(x.Name, x.Code, x.ParentId) { id = x.Id }).ToList();
List<SubAccountPermissionSubtitle3> result3 = permissionsList.Where(x => result2.Any(y => y.id == x.ParentId))
.Select(x => new SubAccountPermissionSubtitle3(x.Name, x.Code, x.ParentId) { id = x.Id }).ToList();
List<SubAccountPermissionSubtitle4> result4 = permissionsList.Where(x => result3.Any(y => y.id == x.ParentId))
.Select(x => new SubAccountPermissionSubtitle4(x.Name, x.Code, x.ParentId) { id = x.Id }).ToList();
builder.Entity<SubAccountPermissionSubtitle1>().HasData(result1);
builder.Entity<SubAccountPermissionSubtitle2>().HasData(result2);
builder.Entity<SubAccountPermissionSubtitle3>().HasData(result3);
builder.Entity<SubAccountPermissionSubtitle4>().HasData(result4);
}
}
}

View File

@@ -371,5 +371,5 @@
var changeSubAccountChangeStatusAjax = `@Url.Page("./Index", "SubAccountChangeStatus")`;
</script>
<script src="~/assetsclient/pages/SubAccounts/js/index.js?ver=clientVersion"></script>
<script src="~/assetsclient/pages/SubAccounts/js/index.js?ver=@clientVersion"></script>
}

View File

@@ -3,95 +3,7 @@
@{
string clientVersion = _0_Framework.Application.Version.StyleVersion;
<link href="~/AssetsClient/css/select2.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/assetsclient/pages/SubAccounts/css/ModalCreateRole.css?ver=9999" rel="stylesheet" />
<style>
.permissionBox {
margin: 10px 0 0 0;
border: 1px solid #D1D1D1;
background-color: #FAFAFA;
border-radius: 7px;
padding: 6px;
}
#tree {
height: 580px;
overflow-y: scroll;
}
#tree ul {
list-style-type: none;
/* padding-left: 20px; */
padding: 0px;
}
#tree ul li > ul {
margin: 0 30px 0 0;
}
#tree .li-tree-main {
background-color: #2EC0C0 !important;
color: #ffffff !important;
}
#tree .li-tree-main-second {
background-color: #A0E1E1 !important;
color: #646464 !important;
}
#tree .li-tree-main svg {
stroke: #ffffff;
}
#tree .li-tree {
position: relative;
margin: 5px 0;
border: 1px solid #DEDEDE;
background-color: #EAF4FD;
border-radius: 8px;
padding: 6px;
font-size: 14px;
font-weight: 500;
color: #646464;
display: flex;
align-items: center;
justify-content: space-between;
width: 246px;
}
#tree .node-label {
margin: 0 10px 0 0;
}
.togglePermission {
cursor: pointer;
margin-right: 5px;
font-size: 12px;
}
.togglePermission svg {
stroke: #33363F;
transition: transform 0.3s ease;
}
.togglePermission.open svg {
transform: rotate(-90deg);
}
#tree li ul {
display: none;
}
.highlight {
background-color: transparent;
}
@@media (max-width:1366px) {
#tree {
height: 360px;
}
}
</style>
<link href="~/assetsclient/pages/SubAccounts/css/ModalCreateRole.css?ver=@clientVersion" rel="stylesheet" />
}
<form role="form" method="post" name="create-form-role" id="create-form-role" autocomplete="off">
@@ -122,7 +34,6 @@
<div id="tree" class="tree-row">
</div>
</div>
</div>
@@ -161,4 +72,4 @@
var saveNewRoleSubAccountAjax = `@Url.Page("./Index", "CreateRole")`;
var permissionListAjax = `@Url.Page("./Index", "Permissions")`;
</script>
<script src="~/assetsclient/pages/SubAccounts/js/ModalCreateRole.js?ver=65324234"></script>
<script src="~/assetsclient/pages/SubAccounts/js/ModalCreateRole.js?ver=@clientVersion"></script>

View File

@@ -3,97 +3,8 @@
@{
string clientVersion = _0_Framework.Application.Version.StyleVersion;
<link href="~/AssetsClient/css/select2.css?ver=@clientVersion" rel="stylesheet" />
<link href="~/assetsclient/pages/SubAccounts/css/ModalCreateRole.css?ver=9699" rel="stylesheet" />
<link href="~/assetsclient/pages/SubAccounts/css/ModalCreateRole.css?ver=@clientVersion" rel="stylesheet" />
<style>
.permissionBox {
margin: 10px 0 0 0;
border: 1px solid #D1D1D1;
background-color: #FAFAFA;
border-radius: 7px;
padding: 6px;
}
#tree {
height: 580px;
overflow-y: scroll;
}
#tree ul {
list-style-type: none;
/* padding-left: 20px; */
padding: 0px;
}
#tree ul li > ul {
margin: 0 30px 0 0;
}
#tree .li-tree-main {
background-color: #2EC0C0 !important;
color: #ffffff !important;
}
#tree .li-tree-main-second {
background-color: #A0E1E1 !important;
color: #646464 !important;
}
#tree .li-tree-main svg {
stroke: #ffffff;
}
#tree .li-tree {
position: relative;
margin: 5px 0;
border: 1px solid #DEDEDE;
background-color: #EAF4FD;
border-radius: 8px;
padding: 6px;
font-size: 14px;
font-weight: 500;
color: #646464;
display: flex;
align-items: center;
justify-content: space-between;
width: 246px;
}
#tree .node-label {
margin: 0 10px 0 0;
}
.toggle {
cursor: pointer;
margin-right: 5px;
font-size: 12px;
}
.toggle svg {
stroke: #33363F;
transition: transform 0.3s ease;
}
.toggle.open svg {
transform: rotate(-90deg);
}
#tree li ul {
display: none;
}
.highlight {
background-color: transparent;
}
@@media (max-width:1366px) {
#tree {
height: 360px;
}
}
</style>
}
<form role="form" method="post" name="create-form-role" id="create-form-role" autocomplete="off">
@@ -166,4 +77,4 @@
var permissionListAjax = `@Url.Page("./Index", "Permissions")`;
var itemsPermission = @Html.Raw(Json.Serialize(Model.Permissions));
</script>
<script src="~/assetsclient/pages/SubAccounts/js/ModalEditRole.js?ver=2345"></script>
<script src="~/assetsclient/pages/SubAccounts/js/ModalEditRole.js?ver=@clientVersion"></script>

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,12 @@
@using System.Reflection.Metadata
@using CompanyManagment.App.Contracts.Workshop
@using System.Security.Claims
@using _0_Framework.Application
@inject _0_Framework.Application.IAuthHelper AuthHelper;
@{
var currentAccount = AuthHelper.CurrentAccountInfo();
var workshopSelected = currentAccount.WorkshopList?.FirstOrDefault(x => x.Slug == User.FindFirstValue("WorkshopSlug"))?.Name;
bool hasPermissionWorkFlow = AuthHelper.GetPermissions().Any(x => x == 101);
}
<div class="dropdown d-flex d-lg-none" style="padding: 0 !important;position: sticky;width: 100%;top: 0;z-index: 99;">
@@ -216,7 +218,7 @@
<!-- End Header -->
<!-- Static bottom menu -->
<div class="container-fluid position-fixed bottom-0 text-center d-lg-none d-block static-menu">
<div class="row row-cols-4 bg-white menu-bottom text-center">
<div class="row @(hasPermissionWorkFlow ? "row-cols-4" : "row-cols-3") bg-white menu-bottom text-center">
<div class="col toggle">
<a class="bg-transparent">
<svg width="40" height="40" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -250,7 +252,7 @@
<span class="d-block">خانه</span>
</a>
</div>
<div class="col">
<div class="col" Permission="@SubAccountPermissionHelper.WorkFlowOperationsPermissionCode">
<a class="bg-transparent position-relative" asp-page="/Company/WorkFlow/Index">
<svg width="42" height="42" viewBox="-4.08 -4.08 32.16 32.16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>

View File

@@ -114,7 +114,7 @@ builder.Services.AddAuthorization(options =>
builder.Services.AddRazorPages(options =>
options.Conventions.AuthorizeAreaFolder("Admin", "/", "AdminArea"));
builder.Services.AddRazorPages(options =>
options.Conventions.AuthorizeAreaFolder("Client", "/", "ClientArea"));
options.Conventions.AuthorizeAreaFolder("Client", "/", "ClientArea")).AddMvcOptions(options => options.Filters.Add<SecurityPageFilter>());
builder.Services.AddRazorPages(options =>
options.Conventions.AuthorizeAreaFolder("Camera", "/", "CameraArea"));
builder.Services.AddRazorPages(options =>

View File

@@ -20,22 +20,34 @@ namespace ServiceHost
{
}
public void OnPageHandlerExecuting(PageHandlerExecutingContext context)
{
var handlerPermission =
(NeedsPermissionAttribute) context.HandlerMethod.MethodInfo.GetCustomAttribute(
typeof(NeedsPermissionAttribute));
public void OnPageHandlerExecuting(PageHandlerExecutingContext context)
{
var handlerPermission =
(NeedsPermissionAttribute)context.HandlerMethod?.MethodInfo.GetCustomAttribute(
typeof(NeedsPermissionAttribute));
if (handlerPermission == null)
return;
var accountPermissions = _authHelper.GetPermissions();
var pagePermission = (NeedsPermissionAttribute)context.HandlerInstance.GetType().GetCustomAttribute(
typeof(NeedsPermissionAttribute));
if (accountPermissions.All(x => x != handlerPermission.Permission))
context.HttpContext.Response.Redirect("/Account");
}
if (handlerPermission == null && pagePermission == null)
return;
public void OnPageHandlerSelected(PageHandlerSelectedContext context)
var accountPermissions = _authHelper.GetPermissions();
List<NeedsPermissionAttribute> permissions;
permissions = [handlerPermission, pagePermission];
permissions = permissions.Where(x => x != null).ToList();
if (!permissions.Any())
return;
if (!permissions.All(x => accountPermissions.Any(y => y == x.Permission)))
context.HttpContext.Response.Redirect("/error/403");
}
public void OnPageHandlerSelected(PageHandlerSelectedContext context)
{
}
}

View File

@@ -97,3 +97,89 @@
.btn-cancel2 {
width: auto !important;
}
.permissionBox {
margin: 10px 0 0 0;
border: 1px solid #D1D1D1;
background-color: #FAFAFA;
border-radius: 7px;
padding: 6px;
}
#tree {
height: 580px;
overflow-y: scroll;
}
#tree ul {
list-style-type: none;
/* padding-left: 20px; */
padding: 0px;
}
#tree ul li > ul {
margin: 0 30px 0 0;
}
#tree .li-tree-main {
background-color: #2EC0C0 !important;
color: #ffffff !important;
}
#tree .li-tree-main-second {
background-color: #A0E1E1 !important;
color: #646464 !important;
}
#tree .li-tree-main svg {
stroke: #ffffff;
}
#tree .li-tree {
position: relative;
margin: 5px 0;
border: 1px solid #DEDEDE;
background-color: #EAF4FD;
border-radius: 8px;
padding: 6px;
font-size: 14px;
font-weight: 500;
color: #646464;
display: flex;
align-items: center;
justify-content: space-between;
width: 246px;
}
#tree .node-label {
margin: 0 10px 0 0;
}
.togglePermission {
cursor: pointer;
margin-right: 5px;
font-size: 12px;
}
.togglePermission svg {
stroke: #33363F;
transition: transform 0.3s ease;
}
.togglePermission.open svg {
transform: rotate(-90deg);
}
#tree li ul {
display: none;
}
.highlight {
background-color: transparent;
}
@media (max-width:1366px) {
#tree {
height: 360px;
}
}

View File

@@ -1,8 +1,32 @@
$(document).ready(function () {
ajaxPermissionsList();
$('#search-input').on('keyup', function () {
var searchText = $(this).val().toLowerCase();
if (searchText === '') {
$('#tree li').show();
$('#tree li ul').hide();
} else {
$('#tree li').each(function () {
var itemText = $(this).find('.node-label').text().toLowerCase();
if (itemText.includes(searchText)) {
$(this).show();
$(this).parents('ul').show();
} else {
$(this).hide();
}
});
}
});
$(document).on('click', '.togglePermission > span', function () {
$(this).siblings('ul').toggle();
});
});
$('#MainModal').on('show.bs.modal', function () {
// Bind togglePermission click event only once
$(document).off('click', '#tree .togglePermission').on('click', '#tree .togglePermission', function (e) {
e.stopPropagation();
let parentLi = $(this).closest('li');
@@ -10,18 +34,14 @@ $('#MainModal').on('show.bs.modal', function () {
$(this).toggleClass('open');
});
// Bind checkbox change event only once
$(document).off('change', '#tree .node-checkbox').on('change', '#tree .node-checkbox', function () {
let isChecked = $(this).is(':checked');
// Update child checkboxes and set indeterminate state to false
$(this).closest('li').find('.node-checkbox').prop('checked', isChecked).prop('indeterminate', false);
// Update parent checkbox states
updateParentCheckbox($(this));
});
// Bind input change event for search functionality
$(document).off('input', '#search-input').on('input', '#search-input', function () {
let searchText = $(this).val().toLowerCase();
@@ -40,7 +60,6 @@ $('#MainModal').on('show.bs.modal', function () {
});
}
// Hide nodes that don't match the search
$('#tree li').each(function () {
if ($(this).find('.highlight').length === 0) {
$(this).children('ul').hide();
@@ -51,25 +70,21 @@ $('#MainModal').on('show.bs.modal', function () {
});
// تابع به‌روزرسانی وضعیت چک‌باکس‌های والد
function updateParentCheckbox(childCheckbox) {
let parentLi = childCheckbox.closest('li').parent().closest('li');
while (parentLi.length) {
let parentCheckbox = parentLi.find('> .li-tree > div > .node-checkbox');
// تعداد فرزندان چک‌شده و کل فرزندان را پیدا کنید
let allChildren = parentLi.find('li .node-checkbox'); // تغییر این خط برای یافتن تمام چک‌باکس‌های فرزندان
let checkedChildren = parentLi.find('li .node-checkbox:checked'); // همین‌طور این خط
let allChildren = parentLi.find('li .node-checkbox');
let checkedChildren = parentLi.find('li .node-checkbox:checked');
let allChecked = allChildren.length === checkedChildren.length;
let anyChecked = checkedChildren.length > 0;
// تنظیم وضعیت چک‌باکس والد با توجه به وضعیت فرزندان
parentCheckbox.prop('checked', allChecked);
parentCheckbox.prop('indeterminate', !allChecked && anyChecked);
// ادامه به سطح والد بالاتر
parentLi = parentLi.parent().closest('li');
}
}
@@ -89,14 +104,14 @@ function ajaxPermissionsList() {
listPermission.forEach(function(sub1Item) {
permissionListHtml += `<li>
<div class="li-tree-main li-tree">
<div class="li-tree-main li-tree togglePermission">
<div>
<input value="${sub1Item.code}" name="Permissions" type="checkbox" class="node-checkbox form-check-input">
<span class="node-label">${sub1Item.title}</span>
</div>`;
if (sub1Item.children.length > 0) {
permissionListHtml += `<span class="togglePermission">
permissionListHtml += `<span class="">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 18L9 12L15 6" stroke-width="2" stroke-linecap="round" />
</svg>
@@ -109,13 +124,13 @@ function ajaxPermissionsList() {
sub1Item.children.forEach(function(sub2Item) {
permissionListHtml += `<li>
<div class="li-tree li-tree-main-second">
<div class="li-tree li-tree-main-second togglePermission">
<div>
<input value="${sub2Item.code}" name="Permissions" type="checkbox" class="node-checkbox form-check-input">
<span class="node-label">${sub2Item.title}</span>
</div>`;
if (sub2Item.children.length > 0) {
permissionListHtml += `<span class="togglePermission">
permissionListHtml += `<span class="">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 18L9 12L15 6" stroke-width="2" stroke-linecap="round" />
</svg>
@@ -128,13 +143,13 @@ function ajaxPermissionsList() {
sub2Item.children.forEach(function(sub3Item) {
permissionListHtml += `<li>
<div class="li-tree">
<div class="li-tree togglePermission">
<div>
<input value="${sub3Item.code}" name="Permissions" type="checkbox" class="node-checkbox form-check-input">
<span class="node-label">${sub3Item.title}</span>
</div>`;
if (sub3Item.children.length > 0) {
permissionListHtml += `<span class="togglePermission">
permissionListHtml += `<span class="">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 18L9 12L15 6" stroke-width="2" stroke-linecap="round" />
</svg>
@@ -186,7 +201,6 @@ function ajaxPermissionsList() {
});
}
// برای ذخیره کردن نقش جدید
$('#createData').on('click', SaveDataAjax);
function SaveDataAjax() {
var loading = $('#createData .spinner-loading');
@@ -204,7 +218,6 @@ function SaveDataAjax() {
return;
}
// جمع‌آوری چک‌باکس‌های checked و indeterminate
var selectedPermissions = [];
$('input[name="Permissions"]').each(function () {
if (this.checked || this.indeterminate) {
@@ -224,7 +237,6 @@ function SaveDataAjax() {
//var data = $('#create-form-role').serialize();
// ساخت شیء داده‌ها به جای serialize
var data = {
Title: Title.val(),
Permissions: selectedPermissions

View File

@@ -1,9 +1,31 @@
$(document).ready(function () {
ajaxPermissionsList();
$('#search-input').on('keyup', function () {
var searchText = $(this).val().toLowerCase();
if (searchText === '') {
$('#tree li').show();
$('#tree li ul').hide();
} else {
$('#tree li').each(function () {
var itemText = $(this).find('.node-label').text().toLowerCase();
if (itemText.includes(searchText)) {
$(this).show();
$(this).parents('ul').show();
} else {
$(this).hide();
}
});
}
});
$(document).on('click', '.togglePermission > span', function () {
$(this).siblings('ul').toggle();
});
});
$('#MainModal').on('show.bs.modal', function () {
// Bind togglePermission click event only once
$(document).off('click', '#tree .togglePermission').on('click', '#tree .togglePermission', function (e) {
e.stopPropagation();
let parentLi = $(this).closest('li');
@@ -11,18 +33,14 @@ $('#MainModal').on('show.bs.modal', function () {
$(this).toggleClass('open');
});
// Bind checkbox change event only once
$(document).off('change', '#tree .node-checkbox').on('change', '#tree .node-checkbox', function () {
let isChecked = $(this).is(':checked');
// Update child checkboxes and set indeterminate state to false
$(this).closest('li').find('.node-checkbox').prop('checked', isChecked).prop('indeterminate', false);
// Update parent checkbox states
updateParentCheckbox($(this));
});
// Bind input change event for search functionality
$(document).off('input', '#search-input').on('input', '#search-input', function () {
let searchText = $(this).val().toLowerCase();
@@ -41,7 +59,6 @@ $('#MainModal').on('show.bs.modal', function () {
});
}
// Hide nodes that don't match the search
$('#tree li').each(function () {
if ($(this).find('.highlight').length === 0) {
$(this).children('ul').hide();
@@ -51,7 +68,6 @@ $('#MainModal').on('show.bs.modal', function () {
});
});
function updateParentCheckbox(childCheckbox) {
let parentLi = childCheckbox.closest('li').parent().closest('li');
@@ -71,13 +87,6 @@ function updateParentCheckbox(childCheckbox) {
}
}
function ajaxPermissionsList() {
var permissionListHtml = '';
@@ -192,24 +201,20 @@ function ajaxPermissionsList() {
});
}
// Initialize checkbox states based on `itemsPermission`
function initializeCheckboxStates() {
$('#tree .node-checkbox').each(function () {
let checkbox = $(this);
let permissionCode = Number(checkbox.val());
// Set initial checked state based on itemsPermission data
checkbox.prop('checked', itemsPermission.includes(permissionCode));
});
//Update indeterminate states for all parent checkboxes
$('#tree .node-checkbox').each(function () {
updateParentCheckbox($(this));
});
}
// Update parent checkboxes recursively based on child checkboxes
function updateParentCheckbox(childCheckbox) {
let parentLi = childCheckbox.closest('li').parent().closest('li');
@@ -218,23 +223,16 @@ function updateParentCheckbox(childCheckbox) {
let childCheckboxes = parentLi.find('ul .node-checkbox');
let checkedChildren = childCheckboxes.filter(':checked');
// Determine the parent's checked and indeterminate states
let allChecked = childCheckboxes.length === checkedChildren.length;
let anyChecked = checkedChildren.length > 0;
parentCheckbox.prop('checked', allChecked);
parentCheckbox.prop('indeterminate', !allChecked && anyChecked);
// Move up the tree to the next parent
parentLi = parentLi.parent().closest('li');
}
}
$('#createData').on('click', SaveDataAjax);
function SaveDataAjax() {
var loading = $('#createData .spinner-loading');
@@ -254,7 +252,6 @@ function SaveDataAjax() {
return;
}
// جمع‌آوری چک‌باکس‌های checked و indeterminate
var selectedPermissions = [];
$('input[name="Permissions"]').each(function () {
if (this.checked || this.indeterminate) {
@@ -274,7 +271,6 @@ function SaveDataAjax() {
//var data = $('#create-form-role').serialize();
// ساخت شیء داده‌ها به جای serialize
var data = {
Id: Id.val(),
Title: Title.val(),
@@ -300,7 +296,6 @@ function SaveDataAjax() {
$('#MainModal').modal('hide');
}, 2000);
// Load Roles with its Sub Accounts in Index page
LoadRolesAndAccountsList();
} else {
$('.alert-msg').show();