using LifePayment.Domain;
using LifePayment.Domain.Common;
using LifePayment.Domain.LifePay;
using LifePayment.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Uow;

namespace LifePayment.EntityFrameworkCore
{
    [ConnectionStringName(LifePaymentServicesDbProperties.ConnectionStringName)]
    public class LifePaymentServicesDbContext : AbpDbContext<LifePaymentServicesDbContext>, ILifePaymentServicesDbContext
    {
        public LifePaymentServicesDbContext(DbContextOptions<LifePaymentServicesDbContext> options)
        : base(options)
        {
        }

        public virtual DbSet<LifePayUser> LifePayUser { get; set; }

        public virtual DbSet<LifePayOrder> LifePayOrder { get; set; }

        public virtual DbSet<LifePayRate> LifePayRate { get; set; }

        public virtual DbSet<LifePayPremium> LifePayPremium { get; set; }

        public virtual DbSet<LifePayRechargeReceipts> LifePayRechargeReceipts { get; set; }

        public virtual DbSet<LifePayExpensesReceipts> LifePayExpensesReceipts { get; set; }

        public virtual DbSet<LifePayChannlesRake> LifePayChannlesRake { get; set; }

        public virtual DbSet<Area> Area { get; set; }

        public virtual DbSet<User> Users { get; set; }

        public virtual DbSet<Role> Roles { get; set; }

        public virtual DbSet<OnlineService> OnlineService { get; set; }

        public virtual DbSet<LifePayIntroInfo> LifePayIntroInfo { get; set; }

        public virtual DbSet<UserRole> UserRoles { get; set; }

        public virtual DbSet<UserChannle> UserChannle { get; set; }

        public virtual DbSet<OperateHistory> OperateHistory { get; set; }

        public virtual DbSet<LifePayChannles> LifePayChannles { get; set; }

        public virtual DbSet<LifePayAccount> LifePayAccount { get; set; }

        public virtual DbSet<DallyStatistics> DallyStatistics { get; set; }

        [UnitOfWork]
        protected override void OnModelCreating(ModelBuilder builder)
        {
            ModelDbContextModelBuilderExtensions.ConfigureModels(builder);
            base.OnModelCreating(builder);

        }
    }
}