using Microsoft.EntityFrameworkCore; using pet_companion_api.Models; namespace pet_companion_api.Data { public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } public DbSet Pets { get; set; } public DbSet PetStats { get; set; } public DbSet Resources { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // Configure DateTime properties to be stored as UTC modelBuilder.Entity() .Property(p => p.GatherActionSince) .HasConversion( v => v.ToUniversalTime(), v => DateTime.SpecifyKind(v, DateTimeKind.Utc)); modelBuilder.Entity() .Property(p => p.BasicActionCooldown) .HasConversion( v => v != DateTime.MinValue ? v.ToUniversalTime() : v, v => v != DateTime.MinValue ? DateTime.SpecifyKind(v, DateTimeKind.Utc) : v); } } }