using CMSMicroservice.Domain.Entities.Blog; using CMSMicroservice.Domain.Entities.Content; using CMSMicroservice.Domain.Entities.Payment; using CMSMicroservice.Domain.Entities.Order; using CMSMicroservice.Domain.Entities.DiscountShop; using CMSMicroservice.Domain.Entities.Geography; using Microsoft.EntityFrameworkCore.Infrastructure; namespace CMSMicroservice.Application.Common.Interfaces; public interface IApplicationDbContext { DbSet UserAddresses { get; } DbSet Packages { get; } DbSet Roles { get; } DbSet Categories { get; } DbSet UserRoles { get; } DbSet UserCarts { get; } DbSet ProductGalleries { get; } DbSet FactorDetails { get; } DbSet Products { get; } DbSet ProductImages { get; } DbSet Users { get; } DbSet OtpTokens { get; } DbSet Contracts { get; } DbSet UserContracts { get; } DbSet Tags { get; } DbSet ProductCategories { get; } DbSet ProductTags { get; } DbSet Transactions { get; } DbSet UserOrders { get; } DbSet OrderVATs { get; } DbSet UserPackagePurchases { get; } DbSet UserWallets { get; } DbSet UserWalletHistories { get; } DbSet ManualPayments { get; } DbSet PaymentTransactions { get; } DbSet PublicMessages { get; } DbSet ClubMemberships { get; } DbSet ClubMembershipHistories { get; } DbSet ClubMembershipCycles { get; } DbSet ClubMembershipCycleHistories { get; } DbSet PackageHistories { get; } DbSet PackageFeatures { get; } DbSet ClubFeatures { get; } DbSet UserClubFeatures { get; } DbSet NetworkWeeklyBalances { get; } DbSet NetworkMembershipHistories { get; } DbSet WeekDefinitions { get; } DbSet WeeklyCommissionPools { get; } DbSet UserCommissionPayouts { get; } DbSet CommissionPayoutHistories { get; } DbSet WorkerExecutionLogs { get; } DbSet DayaLoanContracts { get; } DbSet AppVersions { get; } // ============= Discount Shop ============= DbSet DiscountProducts { get; } DbSet DiscountCategories { get; } DbSet DiscountProductCategories { get; } DbSet DiscountProductImages { get; } DbSet DiscountShoppingCarts { get; } DbSet DiscountOrders { get; } DbSet DiscountOrderDetails { get; } // ============= Geography ============= DbSet Countries { get; } DbSet States { get; } DbSet Cities { get; } // ============= Inventory Management ============= DbSet Warehouses { get; } DbSet InventoryItems { get; } DbSet StockMovements { get; } // ============= Blog ============= DbSet BlogPosts { get; } DbSet BlogCategories { get; } DbSet BlogPostCategories { get; } DbSet BlogPostTags { get; } DbSet BlogPostImages { get; } // ============= Content Management ============= DbSet SitePages { get; } DbSet SitePageSections { get; } // ============= Site Page Settings (Simplified) ============= DbSet SitePageSettingsEntities { get; } DbSet SitePageImages { get; } /// /// دسترسی به DatabaseFacade برای اجرای raw SQL و Stored Procedures /// DatabaseFacade Database { get; } Task SaveChangesAsync(CancellationToken cancellationToken = default); }