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

namespace data.RemoteData
{
    public class RemoteDataBaseContext: DbContext
    {
        internal DbSet<GroupDao> Group { get; set; }
        internal DbSet<UserDao> User { get; set; }
        internal DbSet<PresnceDao> Presence { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Username=user16;Password=dZ28IVE5;Database=user16");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<GroupDao>().HasKey(group => group.Id);
            modelBuilder.Entity<UserDao>().HasKey(user => user.UserGuid);
            modelBuilder.Entity<PresnceDao>().HasKey(presence => new {
                presence.UserGuid,
                presence.IsAttendensy,
                presence.Date,
                presence.LessonNumber,
            });
        }
    }
}
