using AsadiTools.Models;
using Microsoft.EntityFrameworkCore;

namespace AsadiTools.Data;

public class AppDbContext(DbContextOptions<AppDbContext> options) : DbContext(options)
{
    public DbSet<Product> Products => Set<Product>();
    public DbSet<Order> Orders => Set<Order>();
    public DbSet<OrderItem> OrderItems => Set<OrderItem>();
    public DbSet<AdminUser> AdminUsers => Set<AdminUser>();
    public DbSet<BlogPost>  BlogPosts  => Set<BlogPost>();

    protected override void OnModelCreating(ModelBuilder mb)
    {
        mb.Entity<Product>().Property(p => p.Price).HasColumnType("TEXT");
        mb.Entity<Product>().Property(p => p.DiscountPrice).HasColumnType("TEXT");
        mb.Entity<Order>().Property(o => o.Subtotal).HasColumnType("TEXT");
        mb.Entity<Order>().Property(o => o.Total).HasColumnType("TEXT");
        mb.Entity<OrderItem>().Property(i => i.Price).HasColumnType("TEXT");
    }
}
