using System; using System.Collections.Generic; using System.Linq; // using MySql.Data.EntityFrameworkCore; // using MySql.Data; // using MySql.Data.EntityFrameworkCore.Extensions; // using MySql.Data.Entity; // using MySql.Data.MySqlClient; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Icarus.Models; namespace Icarus.Database.Contexts { public class UserContext : DbContext { public DbSet Users { get; set; } #region Constructors public UserContext(DbContextOptions options) : base(options) { } [ActivatorUtilitiesConstructor] public UserContext(string connString) : base(new DbContextOptionsBuilder() .UseMySQL(connString).Options) { } #endregion protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .ToTable("User"); modelBuilder.Entity() .Property(u => u.LastLogin).IsRequired(false); modelBuilder.Entity() .Property(u => u.DateCreated).HasDefaultValue(DateTime.Now); } public User RetrieveRecord(User user) { return Users.FirstOrDefault(usr => usr.UserID == user.UserID); } public bool DoesRecordExist(User user) { return Users.FirstOrDefault(usr => usr.UserID == user.UserID) != null ? true : false; } } }