using Lada.Framework.Data.Domains.Rewards;
using Lada.Framework.Data.Mappings.EntityMappings.Rewards;
using Microsoft.EntityFrameworkCore;

namespace Lada.Framework.Data.Mappings.DbContexts
{
    public partial class LadaDbContext
    {
        // Rewards & Penalties DbSets
        public virtual DbSet<RewardPenaltyTicket> RewardPenaltyTickets { get; set; }
        public virtual DbSet<UserCashViolation> UserCashViolations { get; set; }
        public virtual DbSet<AutoPenaltyConfig> AutoPenaltyConfigs { get; set; }
        public virtual DbSet<AutoPenaltyLevel> AutoPenaltyLevels { get; set; }
        public virtual DbSet<ConfigAuditLog> ConfigAuditLogs { get; set; }

        private void ApplyRewardPenaltyMappings(ModelBuilder builder)
        {
            builder
                .RegisterEntityMapping<RewardPenaltyTicket, RewardPenaltyTicketMap>()
                .RegisterEntityMapping<UserCashViolation, UserCashViolationMap>()
                .RegisterEntityMapping<AutoPenaltyConfig, AutoPenaltyConfigMap>()
                .RegisterEntityMapping<AutoPenaltyLevel, AutoPenaltyLevelMap>()
                .RegisterEntityMapping<ConfigAuditLog, ConfigAuditLogMap>();
        }
    }
}
