using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Microsoft.EntityFrameworkCore;


namespace Demo.Data.RemoteData.RemoteDataBase
{
    public class RemoteDatabaseContext: DbContext
    {

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user11;Database=user11;Password=JSZHJyg1");
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
           modelBuilder.Entity<GroupDao>().HasKey(group => group.Id);
           modelBuilder.Entity<GroupDao>().Property(group => group.Id).ValueGeneratedOnAdd();
           modelBuilder.Entity<UserDao>().HasKey(user => user.Guid);
           modelBuilder.Entity<UserDao>().Property(user => user.Guid).ValueGeneratedOnAdd();
           modelBuilder.Entity<PresenceDao>().HasKey(presense => new { 
            presense.UserGuid,
            presense.Date,
            presense.IsAttedance,
            presense.LessonNumber
           });
        }
        public DbSet<GroupDao> Groups { get; set; }
        public DbSet<UserDao> Users { get; set; }
        public DbSet<PresenceDao> PresenceDaos { get; set; }

    }

}
