﻿using Chloe.Server.Data.Contracts;
using Chloe.Server.Models;
using System.Data.Entity;

namespace Chloe.Server.Data
{
    public class ChloeContext: DbContext, IDbContext
    {
        public ChloeContext()
            : base(nameOrConnectionString: "ChloeContext")
        {
            Configuration.ProxyCreationEnabled = false;
            Configuration.LazyLoadingEnabled = false;
            Configuration.AutoDetectChangesEnabled = true;
        }

        public DbSet<User> Users { get; set; }
        public DbSet<Role> Roles { get; set; }
        public DbSet<Tag> Tags { get; set; }
        public DbSet<YouTubeVideo> YouTubeVideos { get; set; }
        public DbSet<YouTubeVideoTag> YouTubeVideoTags { get; set; }
        public DbSet<Playlist> Playlists { get; set; }
        public DbSet<Feedback> Feedbacks { get; set; }
        public DbSet<Speaker> Speakers { get; set; }
        public DbSet<Talk> Talks { get; set; }
        public DbSet<Technology> Technologies { get; set; }
        public DbSet<Photo> Photos { get; set; }
        public DbSet<Profile> Profiles { get; set; }
        public DbSet<Account> Accounts { get; set; }
        public DbSet<ProfileSetting> ProfileSettings { get; set; }
        public DbSet<ContactInfo> ContactInfos { get; set; }
        public DbSet<WatchHistory> WatchHistories { get; set; }
        public DbSet<LogEntry> LogEntries { get; set; }
        public DbSet<RelatedYouTubeVideo> RelatedYouTubeVideos { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
     
        } 
    }
}
