using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Database.DbContexts;
using AyCode.Database.DbContexts.Users;
using AyCode.Entities.Users;
using Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts.Users;
using TIAM.Database.DbSets.Users;
using TIAM.Database.ModelBuilders.Products;
using TIAM.Database.ModelBuilders.Users;
using TIAM.Entities.Addresses;
using TIAM.Entities.Permissions;
using TIAM.Entities.Products;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Transfers;
using TIAM.Entities.Users;
namespace TIAM.Database.DbContexts.ServiceProviders
{
public class ServiceProviderDbContext : DbContextBase, IServiceProviderDbContext
{
public DbSet
Addresses { get; set; }
public DbSet TransferDestinations { get; set; }
public DbSet TransferDestinationToProducts { get; set; }
public DbSet Users { get; set; }
public DbSet UserProductMappings { get; set; }
public DbSet Products { get; set; }
public DbSet ServiceProviders { get; set; }
public DbSet PermissionsTypes { get; set; }
public DbSet PermissionGroups { get; set; }
public DbSet PermissionGroupUserMappings { get; set; }
public DbSet PermissionContextMappings { get; set; }
public ServiceProviderDbContext() //: this(string.Empty)
{
}
public ServiceProviderDbContext(DbContextOptions options) //: this(string.Empty)
{
}
public ServiceProviderDbContext(string name) : base(name)
{
}
public ServiceProviderDbContext(DbContextOptions options, string name) : base(options, name)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity());
//new UserProductMappingEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity());
//modelBuilder.Entity().HasOne(e => e.TransferDestination);
//modelBuilder.Entity().Navigation(e => e.TransferDestination).AutoInclude(true);
}
}
}